32 template<
typename genType>
33 GLM_FUNC_DECL genType
abs(genType x);
43 template<length_t L,
typename T, qualifier Q>
44 GLM_FUNC_DECL vec<L, T, Q>
abs(vec<L, T, Q>
const& x);
54 template<length_t L,
typename T, qualifier Q>
55 GLM_FUNC_DECL vec<L, T, Q>
sign(vec<L, T, Q>
const& x);
65 template<length_t L,
typename T, qualifier Q>
66 GLM_FUNC_DECL vec<L, T, Q>
floor(vec<L, T, Q>
const& x);
77 template<length_t L,
typename T, qualifier Q>
78 GLM_FUNC_DECL vec<L, T, Q>
trunc(vec<L, T, Q>
const& x);
92 template<length_t L,
typename T, qualifier Q>
93 GLM_FUNC_DECL vec<L, T, Q>
round(vec<L, T, Q>
const& x);
106 template<length_t L,
typename T, qualifier Q>
107 GLM_FUNC_DECL vec<L, T, Q>
roundEven(vec<L, T, Q>
const& x);
118 template<length_t L,
typename T, qualifier Q>
119 GLM_FUNC_DECL vec<L, T, Q>
ceil(vec<L, T, Q>
const& x);
127 template<
typename genType>
128 GLM_FUNC_DECL genType
fract(genType x);
138 template<length_t L,
typename T, qualifier Q>
139 GLM_FUNC_DECL vec<L, T, Q>
fract(vec<L, T, Q>
const& x);
148 template<
typename genType>
149 GLM_FUNC_DECL genType
mod(genType x, genType y);
160 template<length_t L,
typename T, qualifier Q>
161 GLM_FUNC_DECL vec<L, T, Q>
mod(vec<L, T, Q>
const& x, T y);
172 template<length_t L,
typename T, qualifier Q>
173 GLM_FUNC_DECL vec<L, T, Q>
mod(vec<L, T, Q>
const& x, vec<L, T, Q>
const& y);
184 template<
typename genType>
185 GLM_FUNC_DECL genType
modf(genType x, genType& i);
193 template<
typename genType>
194 GLM_FUNC_DECL genType
min(genType x, genType y);
204 template<length_t L,
typename T, qualifier Q>
205 GLM_FUNC_DECL vec<L, T, Q>
min(vec<L, T, Q>
const& x, T y);
215 template<length_t L,
typename T, qualifier Q>
216 GLM_FUNC_DECL vec<L, T, Q>
min(vec<L, T, Q>
const& x, vec<L, T, Q>
const& y);
224 template<
typename genType>
225 GLM_FUNC_DECL genType
max(genType x, genType y);
235 template<length_t L,
typename T, qualifier Q>
236 GLM_FUNC_DECL vec<L, T, Q>
max(vec<L, T, Q>
const& x, T y);
246 template<length_t L,
typename T, qualifier Q>
247 GLM_FUNC_DECL vec<L, T, Q>
max(vec<L, T, Q>
const& x, vec<L, T, Q>
const& y);
256 template<
typename genType>
257 GLM_FUNC_DECL genType
clamp(genType x, genType minVal, genType maxVal);
268 template<length_t L,
typename T, qualifier Q>
269 GLM_FUNC_DECL vec<L, T, Q>
clamp(vec<L, T, Q>
const& x, T minVal, T maxVal);
280 template<length_t L,
typename T, qualifier Q>
281 GLM_FUNC_DECL vec<L, T, Q>
clamp(vec<L, T, Q>
const& x, vec<L, T, Q>
const& minVal, vec<L, T, Q>
const& maxVal);
325 template<
typename genTypeT,
typename genTypeU>
326 GLM_FUNC_DECL genTypeT
mix(genTypeT x, genTypeT y, genTypeU a);
328 template<length_t L,
typename T,
typename U, qualifier Q>
329 GLM_FUNC_DECL vec<L, T, Q>
mix(vec<L, T, Q>
const& x, vec<L, T, Q>
const& y, vec<L, U, Q>
const& a);
331 template<length_t L,
typename T,
typename U, qualifier Q>
332 GLM_FUNC_DECL vec<L, T, Q>
mix(vec<L, T, Q>
const& x, vec<L, T, Q>
const& y, U a);
338 template<
typename genType>
339 GLM_FUNC_DECL genType
step(genType edge, genType x);
349 template<length_t L,
typename T, qualifier Q>
350 GLM_FUNC_DECL vec<L, T, Q>
step(T edge, vec<L, T, Q>
const& x);
360 template<length_t L,
typename T, qualifier Q>
361 GLM_FUNC_DECL vec<L, T, Q>
step(vec<L, T, Q>
const& edge, vec<L, T, Q>
const& x);
377 template<
typename genType>
378 GLM_FUNC_DECL genType
smoothstep(genType edge0, genType edge1, genType x);
380 template<length_t L,
typename T, qualifier Q>
381 GLM_FUNC_DECL vec<L, T, Q>
smoothstep(T edge0, T edge1, vec<L, T, Q>
const& x);
383 template<length_t L,
typename T, qualifier Q>
384 GLM_FUNC_DECL vec<L, T, Q>
smoothstep(vec<L, T, Q>
const& edge0, vec<L, T, Q>
const& edge1, vec<L, T, Q>
const& x);
400 template<length_t L,
typename T, qualifier Q>
401 GLM_FUNC_DECL vec<L, bool, Q>
isnan(vec<L, T, Q>
const& x);
415 template<length_t L,
typename T, qualifier Q>
416 GLM_FUNC_DECL vec<L, bool, Q>
isinf(vec<L, T, Q>
const& x);
435 template<length_t L, qualifier Q>
436 GLM_FUNC_DECL vec<L, int, Q>
floatBitsToInt(vec<L, float, Q>
const& v);
455 template<length_t L, qualifier Q>
456 GLM_FUNC_DECL vec<L, uint, Q>
floatBitsToUint(vec<L, float, Q>
const& v);
479 template<length_t L, qualifier Q>
480 GLM_FUNC_DECL vec<L, float, Q>
intBitsToFloat(vec<L, int, Q>
const& v);
503 template<length_t L, qualifier Q>
504 GLM_FUNC_DECL vec<L, float, Q>
uintBitsToFloat(vec<L, uint, Q>
const& v);
512 template<
typename genType>
513 GLM_FUNC_DECL genType
fma(genType
const& a, genType
const& b, genType
const& c);
529 template<
typename genType,
typename genIType>
530 GLM_FUNC_DECL genType
frexp(genType
const& x, genIType&
exp);
543 template<
typename genType,
typename genIType>
544 GLM_FUNC_DECL genType
ldexp(genType
const& x, genIType
const&
exp);
549 #include "detail/func_common.inl"
GLM_FUNC_DECL vec< L, T, Q > sign(vec< L, T, Q > const &x)
Returns 1.0 if x > 0, 0.0 if x == 0, or -1.0 if x < 0.
GLM_FUNC_DECL vec< L, T, Q > roundEven(vec< L, T, Q > const &x)
Returns a value equal to the nearest integer to x.
GLM_FUNC_DECL vec< L, T, Q > trunc(vec< L, T, Q > const &x)
Returns a value equal to the nearest integer to x whose absolute value is not larger than the absolut...
GLM_FUNC_DECL vec< L, float, Q > intBitsToFloat(vec< L, int, Q > const &v)
Returns a floating-point value corresponding to a signed integer encoding of a floating-point value...
GLM_FUNC_DECL vec< L, T, Q > step(vec< L, T, Q > const &edge, vec< L, T, Q > const &x)
Returns 0.0 if x < edge, otherwise it returns 1.0.
GLM_FUNC_DECL vec< L, T, Q > round(vec< L, T, Q > const &x)
Returns a value equal to the nearest integer to x.
GLM_FUNC_DECL vec< L, T, Q > floor(vec< L, T, Q > const &x)
Returns a value equal to the nearest integer that is less then or equal to x.
GLM_FUNC_DECL vec< L, float, Q > uintBitsToFloat(vec< L, uint, Q > const &v)
Returns a floating-point value corresponding to a unsigned integer encoding of a floating-point value...
GLM_FUNC_DECL vec< L, T, Q > ceil(vec< L, T, Q > const &x)
Returns a value equal to the nearest integer that is greater than or equal to x.
GLM_FUNC_DECL genType fma(genType const &a, genType const &b, genType const &c)
Computes and returns a * b + c.
GLM_FUNC_DECL vec< L, int, Q > floatBitsToInt(vec< L, float, Q > const &v)
Returns a signed integer value representing the encoding of a floating-point value.
GLM_FUNC_DECL vec< L, T, Q > exp(vec< L, T, Q > const &v)
Returns the natural exponentiation of x, i.e., e^x.
GLM_FUNC_DECL vec< L, uint, Q > floatBitsToUint(vec< L, float, Q > const &v)
Returns a unsigned integer value representing the encoding of a floating-point value.
GLM_FUNC_DECL vec< L, bool, Q > isinf(vec< L, T, Q > const &x)
Returns true if x holds a positive infinity or negative infinity representation in the underlying imp...
GLM_FUNC_DECL vec< L, T, Q > max(vec< L, T, Q > const &x, vec< L, T, Q > const &y)
Returns y if x < y; otherwise, it returns x.
GLM_FUNC_DECL vec< L, T, Q > mod(vec< L, T, Q > const &x, vec< L, T, Q > const &y)
Modulus.
GLM_FUNC_DECL genType ldexp(genType const &x, genIType const &exp)
Builds a floating-point number from x and the corresponding integral exponent of two in exp...
GLM_FUNC_DECL genTypeT mix(genTypeT x, genTypeT y, genTypeU a)
If genTypeU is a floating scalar or vector: Returns x * (1.0 - a) + y * a, i.e., the linear blend of ...
GLM_FUNC_DECL vec< L, T, Q > min(vec< L, T, Q > const &x, vec< L, T, Q > const &y)
Returns y if y < x; otherwise, it returns x.
GLM_FUNC_DECL genType modf(genType x, genType &i)
Returns the fractional part of x and sets i to the integer part (as a whole number floating point val...
GLM_FUNC_DECL vec< L, T, Q > abs(vec< L, T, Q > const &x)
Returns x if x >= 0; otherwise, it returns -x.
GLM_FUNC_DECL genType smoothstep(genType edge0, genType edge1, genType x)
Returns 0.0 if x <= edge0 and 1.0 if x >= edge1 and performs smooth Hermite interpolation between 0 a...
GLM_FUNC_DECL vec< L, bool, Q > isnan(vec< L, T, Q > const &x)
Returns true if x holds a NaN (not a number) representation in the underlying implementation's set of...
unsigned int uint
Unsigned integer type.
GLM_FUNC_DECL genType frexp(genType const &x, genIType &exp)
Splits x into a floating-point significand in the range [0.5, 1.0) and an integral exponent of two...
GLM_FUNC_DECL vec< L, T, Q > fract(vec< L, T, Q > const &x)
Return x - floor(x).
GLM_FUNC_DECL vec< L, T, Q > clamp(vec< L, T, Q > const &x, vec< L, T, Q > const &minVal, vec< L, T, Q > const &maxVal)
Returns min(max(x, minVal), maxVal) for each component in x using the floating-point values minVal an...