func_common.hpp
Go to the documentation of this file.
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 
21 
22 
23 
24 
25 
26 
27 
28 
29 
30 
31 
32 
33 
34 
35 
36 #ifndef GLM_CORE_func_common
37 #define GLM_CORE_func_common GLM_VERSION
38 
39 #include "_fixes.hpp"
40 
41 namespace glm
42 {
45 
52  template <typename genType>
53  genType abs(genType const & x);
54 
61  template <typename genType>
62  genType sign(genType const & x);
63 
70  template <typename genType>
71  genType floor(genType const & x);
72 
80  template <typename genType>
81  genType trunc(genType const & x);
82 
93  template <typename genType>
94  genType round(genType const & x);
95 
105  template <typename genType>
106  genType roundEven(genType const & x);
107 
115  template <typename genType>
116  genType ceil(genType const & x);
117 
124  template <typename genType>
125  genType fract(genType const & x);
126 
134  template <typename genType>
135  genType mod(
136  genType const & x,
137  genType const & y);
138 
146  template <typename genType>
147  genType mod(
148  genType const & x,
149  typename genType::value_type const & y);
150 
160  template <typename genType>
161  genType modf(
162  genType const & x,
163  genType & i);
164 
171  template <typename genType>
172  genType min(
173  genType const & x,
174  genType const & y);
175 
176  template <typename genType>
177  genType min(
178  genType const & x,
179  typename genType::value_type const & y);
180 
187  template <typename genType>
188  genType max(
189  genType const & x,
190  genType const & y);
191 
192  template <typename genType>
193  genType max(
194  genType const & x,
195  typename genType::value_type const & y);
196 
204  template <typename genType>
205  genType clamp(
206  genType const & x,
207  genType const & minVal,
208  genType const & maxVal);
209 
210  template <typename genType>
211  genType clamp(
212  genType const & x,
213  typename genType::value_type const & minVal,
214  typename genType::value_type const & maxVal);
215 
258  template <typename genTypeT, typename genTypeU>
259  genTypeT mix(genTypeT const & x, genTypeT const & y, genTypeU const & a);
260 
265  template <typename genType>
266  genType step(
267  genType const & edge,
268  genType const & x);
269 
270  template <typename genType>
271  genType step(
272  typename genType::value_type const & edge,
273  genType const & x);
274 
289  template <typename genType>
290  genType smoothstep(
291  genType const & edge0,
292  genType const & edge1,
293  genType const & x);
294 
295  template <typename genType>
296  genType smoothstep(
297  typename genType::value_type const & edge0,
298  typename genType::value_type const & edge1,
299  genType const & x);
300 
313  template <typename genType>
314  typename genType::bool_type isnan(genType const & x);
315 
326  template <typename genType>
327  typename genType::bool_type isinf(genType const & x);
328 
338  template <typename genType, typename genIType>
339  genIType floatBitsToInt(genType const & value);
340 
350  template <typename genType, typename genUType>
351  genUType floatBitsToUint(genType const & value);
352 
366  template <typename genType, typename genIType>
367  genType intBitsToFloat(genIType const & value);
368 
382  template <typename genType, typename genUType>
383  genType uintBitsToFloat(genUType const & value);
384 
391  template <typename genType>
392  genType fma(genType const & a, genType const & b, genType const & c);
393 
408  template <typename genType, typename genIType>
409  genType frexp(genType const & x, genIType & exp);
410 
422  template <typename genType, typename genIType>
423  genType ldexp(genType const & x, genIType const & exp);
424 
426 }//namespace glm
427 
428 #include "func_common.inl"
429 
430 #endif//GLM_CORE_func_common