У меня есть встроенная функция, критичная к производительности, inline T func(T a, T b, int p)
. Он может быть оптимизирован совсем немного, если известно, что p равно нулю. Тем не менее, я не могу использовать «если» и наказывать все остальные случаи. Я хочу оптимизировать только те функции, которые я знаю во время компиляции, что p равно нулю. Есть ли чистый способ сделать это, возможно, используя шаблон магии?
EDIT
Я не могу использовать перегрузки с разными именами функций / несовместимых (я не знаю, как правильно это выразить), поскольку код очень низкого уровня Весьма вероятно, что на других / будущих процессорах доступны разные возможности оптимизации. Таким образом, ограничивая весь этот низкоуровневый материал одной сигнатурой функции, мой код нужно только перекомпилировать для использования любого типа оптимизации.