6 GLM_FUNC_QUALIFIER
int pow(
int x, uint y)
9 return x >= 0 ? 1 : -1;
12 for(uint i = 1; i < y; ++i)
18 GLM_FUNC_QUALIFIER
int sqrt(
int x)
22 int NextTrial = x >> 1;
27 CurrentAnswer = NextTrial;
28 NextTrial = (NextTrial + x / NextTrial) >> 1;
29 }
while(NextTrial < CurrentAnswer);
37 GLM_FUNC_QUALIFIER
unsigned int ones32(
unsigned int x)
43 x -= ((x >> 1) & 0x55555555);
44 x = (((x >> 2) & 0x33333333) + (x & 0x33333333));
45 x = (((x >> 4) + x) & 0x0f0f0f0f);
48 return(x & 0x0000003f);
66 GLM_FUNC_QUALIFIER
int mod(
int x,
int y)
68 return ((x % y) + y) % y;
72 template<
typename genType>
73 GLM_FUNC_QUALIFIER genType
factorial(genType
const& x)
77 for(Result = 1; Temp > 1; --Temp)
82 template<
typename T, qualifier Q>
83 GLM_FUNC_QUALIFIER vec<2, T, Q>
factorial(
84 vec<2, T, Q>
const& x)
91 template<
typename T, qualifier Q>
92 GLM_FUNC_QUALIFIER vec<3, T, Q>
factorial(
93 vec<3, T, Q>
const& x)
101 template<
typename T, qualifier Q>
102 GLM_FUNC_QUALIFIER vec<4, T, Q>
factorial(
103 vec<4, T, Q>
const& x)
112 GLM_FUNC_QUALIFIER uint
pow(uint x, uint y)
118 for(uint i = 1; i < y; ++i)
123 GLM_FUNC_QUALIFIER uint
sqrt(uint x)
127 uint NextTrial = x >> 1;
132 CurrentAnswer = NextTrial;
133 NextTrial = (NextTrial + x / NextTrial) >> 1;
134 }
while(NextTrial < CurrentAnswer);
136 return CurrentAnswer;
139 GLM_FUNC_QUALIFIER uint mod(uint x, uint y)
141 return x - y * (x / y);
144#if(GLM_COMPILER & (GLM_COMPILER_VC | GLM_COMPILER_GCC))
146 GLM_FUNC_QUALIFIER
unsigned int nlz(
unsigned int x)
154 GLM_FUNC_QUALIFIER
unsigned int nlz(
unsigned int x)
180 return unsigned(n + 2 - m);
GLM_FUNC_QUALIFIER vec< L, T, Q > sqrt(vec< L, T, Q > const &x)
Definition func_exponential.inl:128
GLM_FUNC_QUALIFIER vec< L, T, Q > pow(vec< L, T, Q > const &base, vec< L, T, Q > const &exponent)
Definition func_exponential.inl:72
GLM_FUNC_QUALIFIER int findMSB(genIUType v)
Definition func_integer.inl:353
GLM_FUNC_DECL genType factorial(genType const &x)
Definition integer.inl:73
GLM_FUNC_DECL uint nlz(uint x)
Definition integer.inl:154
detail namespace with internal helper functions
Definition json.h:249
Core features
Definition common.hpp:21