Clutter Engine 0.0.1
Loading...
Searching...
No Matches
common.hpp
Go to the documentation of this file.
1
14
15#pragma once
16
17#include "detail/qualifier.hpp"
18#include "detail/_fixes.hpp"
19
20namespace glm
21{
24
31 template<typename genType>
32 GLM_FUNC_DECL GLM_CONSTEXPR genType abs(genType x);
33
42 template<length_t L, typename T, qualifier Q>
43 GLM_FUNC_DECL GLM_CONSTEXPR vec<L, T, Q> abs(vec<L, T, Q> const& x);
44
53 template<length_t L, typename T, qualifier Q>
54 GLM_FUNC_DECL vec<L, T, Q> sign(vec<L, T, Q> const& x);
55
64 template<length_t L, typename T, qualifier Q>
65 GLM_FUNC_DECL vec<L, T, Q> floor(vec<L, T, Q> const& x);
66
76 template<length_t L, typename T, qualifier Q>
77 GLM_FUNC_DECL vec<L, T, Q> trunc(vec<L, T, Q> const& x);
78
91 template<length_t L, typename T, qualifier Q>
92 GLM_FUNC_DECL vec<L, T, Q> round(vec<L, T, Q> const& x);
93
105 template<length_t L, typename T, qualifier Q>
106 GLM_FUNC_DECL vec<L, T, Q> roundEven(vec<L, T, Q> const& x);
107
117 template<length_t L, typename T, qualifier Q>
118 GLM_FUNC_DECL vec<L, T, Q> ceil(vec<L, T, Q> const& x);
119
126 template<typename genType>
127 GLM_FUNC_DECL genType fract(genType x);
128
137 template<length_t L, typename T, qualifier Q>
138 GLM_FUNC_DECL vec<L, T, Q> fract(vec<L, T, Q> const& x);
139
140 template<typename genType>
141 GLM_FUNC_DECL genType mod(genType x, genType y);
142
143 template<length_t L, typename T, qualifier Q>
144 GLM_FUNC_DECL vec<L, T, Q> mod(vec<L, T, Q> const& x, T y);
145
155 template<length_t L, typename T, qualifier Q>
156 GLM_FUNC_DECL vec<L, T, Q> mod(vec<L, T, Q> const& x, vec<L, T, Q> const& y);
157
167 template<typename genType>
168 GLM_FUNC_DECL genType modf(genType x, genType& i);
169
176 template<typename genType>
177 GLM_FUNC_DECL GLM_CONSTEXPR genType min(genType x, genType y);
178
187 template<length_t L, typename T, qualifier Q>
188 GLM_FUNC_DECL GLM_CONSTEXPR vec<L, T, Q> min(vec<L, T, Q> const& x, T y);
189
198 template<length_t L, typename T, qualifier Q>
199 GLM_FUNC_DECL GLM_CONSTEXPR vec<L, T, Q> min(vec<L, T, Q> const& x, vec<L, T, Q> const& y);
200
207 template<typename genType>
208 GLM_FUNC_DECL GLM_CONSTEXPR genType max(genType x, genType y);
209
218 template<length_t L, typename T, qualifier Q>
219 GLM_FUNC_DECL GLM_CONSTEXPR vec<L, T, Q> max(vec<L, T, Q> const& x, T y);
220
229 template<length_t L, typename T, qualifier Q>
230 GLM_FUNC_DECL GLM_CONSTEXPR vec<L, T, Q> max(vec<L, T, Q> const& x, vec<L, T, Q> const& y);
231
239 template<typename genType>
240 GLM_FUNC_DECL GLM_CONSTEXPR genType clamp(genType x, genType minVal, genType maxVal);
241
251 template<length_t L, typename T, qualifier Q>
252 GLM_FUNC_DECL GLM_CONSTEXPR vec<L, T, Q> clamp(vec<L, T, Q> const& x, T minVal, T maxVal);
253
263 template<length_t L, typename T, qualifier Q>
264 GLM_FUNC_DECL GLM_CONSTEXPR vec<L, T, Q> clamp(vec<L, T, Q> const& x, vec<L, T, Q> const& minVal, vec<L, T, Q> const& maxVal);
265
308 template<typename genTypeT, typename genTypeU>
309 GLM_FUNC_DECL genTypeT mix(genTypeT x, genTypeT y, genTypeU a);
310
311 template<length_t L, typename T, typename U, qualifier Q>
312 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);
313
314 template<length_t L, typename T, typename U, qualifier Q>
315 GLM_FUNC_DECL vec<L, T, Q> mix(vec<L, T, Q> const& x, vec<L, T, Q> const& y, U a);
316
321 template<typename genType>
322 GLM_FUNC_DECL genType step(genType edge, genType x);
323
332 template<length_t L, typename T, qualifier Q>
333 GLM_FUNC_DECL vec<L, T, Q> step(T edge, vec<L, T, Q> const& x);
334
343 template<length_t L, typename T, qualifier Q>
344 GLM_FUNC_DECL vec<L, T, Q> step(vec<L, T, Q> const& edge, vec<L, T, Q> const& x);
345
360 template<typename genType>
361 GLM_FUNC_DECL genType smoothstep(genType edge0, genType edge1, genType x);
362
363 template<length_t L, typename T, qualifier Q>
364 GLM_FUNC_DECL vec<L, T, Q> smoothstep(T edge0, T edge1, vec<L, T, Q> const& x);
365
366 template<length_t L, typename T, qualifier Q>
367 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);
368
383 template<length_t L, typename T, qualifier Q>
384 GLM_FUNC_DECL vec<L, bool, Q> isnan(vec<L, T, Q> const& x);
385
398 template<length_t L, typename T, qualifier Q>
399 GLM_FUNC_DECL vec<L, bool, Q> isinf(vec<L, T, Q> const& x);
400
407 GLM_FUNC_DECL int floatBitsToInt(float const& v);
408
418 template<length_t L, qualifier Q>
419 GLM_FUNC_DECL vec<L, int, Q> floatBitsToInt(vec<L, float, Q> const& v);
420
427 GLM_FUNC_DECL uint floatBitsToUint(float const& v);
428
438 template<length_t L, qualifier Q>
439 GLM_FUNC_DECL vec<L, uint, Q> floatBitsToUint(vec<L, float, Q> const& v);
440
449 GLM_FUNC_DECL float intBitsToFloat(int const& v);
450
462 template<length_t L, qualifier Q>
463 GLM_FUNC_DECL vec<L, float, Q> intBitsToFloat(vec<L, int, Q> const& v);
464
473 GLM_FUNC_DECL float uintBitsToFloat(uint const& v);
474
486 template<length_t L, qualifier Q>
487 GLM_FUNC_DECL vec<L, float, Q> uintBitsToFloat(vec<L, uint, Q> const& v);
488
495 template<typename genType>
496 GLM_FUNC_DECL genType fma(genType const& a, genType const& b, genType const& c);
497
512 template<typename genType>
513 GLM_FUNC_DECL genType frexp(genType x, int& exp);
514
515 template<length_t L, typename T, qualifier Q>
516 GLM_FUNC_DECL vec<L, T, Q> frexp(vec<L, T, Q> const& v, vec<L, int, Q>& exp);
517
529 template<typename genType>
530 GLM_FUNC_DECL genType ldexp(genType const& x, int const& exp);
531
532 template<length_t L, typename T, qualifier Q>
533 GLM_FUNC_DECL vec<L, T, Q> ldexp(vec<L, T, Q> const& v, vec<L, int, Q> const& exp);
534
536}//namespace glm
537
538#include "detail/func_common.inl"
539
GLM_FUNC_DECL genType step(genType edge, genType x)
Definition func_common.inl:545
GLM_FUNC_DECL float intBitsToFloat(int const &v)
Definition func_common.inl:703
GLM_FUNC_DECL vec< L, T, Q > trunc(vec< L, T, Q > const &x)
Definition func_common.inl:314
GLM_FUNC_DECL GLM_CONSTEXPR genType abs(genType x)
GLM_FUNC_DECL genType smoothstep(genType edge0, genType edge1, genType x)
Definition func_common.inl:564
GLM_FUNC_DECL vec< L, T, Q > roundEven(vec< L, T, Q > const &x)
Definition func_common.inl:371
GLM_FUNC_DECL GLM_CONSTEXPR genType min(genType x, genType y)
Definition func_common.inl:17
GLM_FUNC_DECL vec< L, bool, Q > isinf(vec< L, T, Q > const &x)
Definition func_common.inl:655
GLM_FUNC_DECL uint floatBitsToUint(float const &v)
Definition func_common.inl:684
GLM_FUNC_DECL vec< L, T, Q > ceil(vec< L, T, Q > const &x)
Definition func_common.inl:380
GLM_FUNC_DECL vec< L, bool, Q > isnan(vec< L, T, Q > const &x)
Definition func_common.inl:613
GLM_FUNC_DECL genType modf(genType x, genType &i)
Definition func_common.inl:427
GLM_FUNC_DECL genType fract(genType x)
Definition func_common.inl:388
GLM_FUNC_DECL genTypeT mix(genTypeT x, genTypeT y, genTypeU a)
Definition func_common.inl:526
GLM_FUNC_DECL float uintBitsToFloat(uint const &v)
Definition func_common.inl:722
GLM_FUNC_DECL vec< L, T, Q > round(vec< L, T, Q > const &x)
Definition func_common.inl:321
GLM_FUNC_DECL genType ldexp(genType const &x, int const &exp)
Definition func_common.inl:771
GLM_FUNC_DECL vec< L, T, Q > floor(vec< L, T, Q > const &x)
Definition func_common.inl:307
GLM_FUNC_DECL genType fma(genType const &a, genType const &b, genType const &c)
Definition func_common.inl:745
GLM_FUNC_DECL int floatBitsToInt(float const &v)
Definition func_common.inl:665
GLM_FUNC_DECL genType frexp(genType x, int &exp)
Definition func_common.inl:752
GLM_FUNC_DECL GLM_CONSTEXPR genType max(genType x, genType y)
Definition func_common.inl:25
GLM_FUNC_DECL vec< L, T, Q > sign(vec< L, T, Q > const &x)
Definition func_common.inl:295
Core features
Definition common.hpp:21
Definition qualifier.hpp:35