Итак, у меня есть небольшая проблема с оптимизацией. Мне нужно определить, какое из трех значений с плавающей точкой является минимальным, за минимальное количество операций / сравнений. Вот что у меня есть:
if (x < y) {
if (x < z) {
// Do X related code
} else {
// Do Z related code
}
} else {
if (y < z) {
// Do Y related code
} else {
// Do Z related code. (Duplicate!!!!)
}
}
Этот метод всегда требует ТОЛЬКО двух сравнений. Это прилично важно, потому что это выполняется в очень узком l oop и может происходить сотни или тысячи раз за кадр. Поэтому я также хотел бы избежать выделения большего количества переменных.
Как видите, у нас есть небольшой дубликат для кода, связанного с Z. Код короткий, как 3 строки, но мне все еще не хватает того, что я должен его дублировать.
Возможно ли сделать это только с двумя сравнениями, без дополнительных выделений, и не нужно дублировать Z-код?
Спасибо,