CPP C++ logo

Определение знака переменной достаточно важная и нужная в геймдеве операция. Есть много разных вариантов отличающиеся производительностью.

Привожу наиболее оптимальное решение, которое мне удалось найти.

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
template<typename T>
T sign(T val)
{
return (val > (T)0) - (val < (T)0);
}
template<typename T> T sign(T val) { return (val > (T)0) - (val < (T)0); }
template<typename T>
T sign(T val)
{
   return (val > (T)0) - (val < (T)0);
}