|
|
@ -60,10 +60,8 @@ namespace _detail |
|
|
|
template <typename T> |
|
|
|
template <typename T> |
|
|
|
GLM_FUNC_QUALIFIER T operator() (T const & Value) const |
|
|
|
GLM_FUNC_QUALIFIER T operator() (T const & Value) const |
|
|
|
{ |
|
|
|
{ |
|
|
|
#if(GLM_COMPILER & GLM_COMPILER_VC) |
|
|
|
#if(GLM_COMPILER & (GLM_COMPILER_VC | GLM_COMPILER_GCC)) |
|
|
|
return Value <= T(1) ? T(0) : T(32) - nlz(Value - T(1)); |
|
|
|
return Value <= T(1) ? T(0) : T(32) - nlz(Value - T(1)); |
|
|
|
#elif(GLM_COMPILER & GLM_COMPILER_GCC) |
|
|
|
|
|
|
|
return Value <= T(1) ? T(0) : nlz(Value - T(1)) + 1; |
|
|
|
|
|
|
|
#else |
|
|
|
#else |
|
|
|
return T(32) - nlz(Value - T(1)); |
|
|
|
return T(32) - nlz(Value - T(1)); |
|
|
|
#endif |
|
|
|
#endif |
|
|
|