Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029 #ifndef glm_core_func_common
00030 #define glm_core_func_common
00031
00032 #include "_fixes.hpp"
00033
00034 namespace glm
00035 {
00038
00044 template <typename genFIType>
00045 genFIType abs(genFIType const & x);
00046
00052 template <typename genFIType>
00053 genFIType sign(genFIType const & x);
00054
00060 template <typename genType>
00061 genType floor(genType const & x);
00062
00069 template <typename genType>
00070 genType trunc(genType const & x);
00071
00081 template <typename genType>
00082 genType round(genType const & x);
00083
00091 template <typename genType>
00092 genType roundEven(genType const & x);
00093
00100 template <typename genType>
00101 genType ceil(genType const & x);
00102
00108 template <typename genType>
00109 genType fract(genType const & x);
00110
00117 template <typename genType>
00118 genType mod(
00119 genType const & x,
00120 genType const & y);
00121
00128 template <typename genType>
00129 genType mod(
00130 genType const & x,
00131 typename genType::value_type const & y);
00132
00141 template <typename genType>
00142 genType modf(
00143 genType const & x,
00144 genType & i);
00145
00151 template <typename genType>
00152 genType min(
00153 genType const & x,
00154 genType const & y);
00155
00156 template <typename genType>
00157 genType min(
00158 genType const & x,
00159 typename genType::value_type const & y);
00160
00166 template <typename genType>
00167 genType max(
00168 genType const & x,
00169 genType const & y);
00170
00171 template <typename genType>
00172 genType max(
00173 genType const & x,
00174 typename genType::value_type const & y);
00175
00182 template <typename genType>
00183 genType clamp(
00184 genType const & x,
00185 genType const & minVal,
00186 genType const & maxVal);
00187
00188 template <typename genType>
00189 genType clamp(
00190 genType const & x,
00191 typename genType::value_type const & minVal,
00192 typename genType::value_type const & maxVal);
00193
00220 template <typename genTypeT, typename genTypeU>
00221 genTypeT mix(genTypeT const & x, genTypeT const & y, genTypeU const & a);
00222
00228 template <typename genType>
00229 genType step(
00230 genType const & edge,
00231 genType const & x);
00232
00233 template <typename genType>
00234 genType step(
00235 typename genType::value_type const & edge,
00236 genType const & x);
00237
00251 template <typename genType>
00252 genType smoothstep(
00253 genType const & edge0,
00254 genType const & edge1,
00255 genType const & x);
00256
00257 template <typename genType>
00258 genType smoothstep(
00259 typename genType::value_type const & edge0,
00260 typename genType::value_type const & edge1,
00261 genType const & x);
00262
00272 template <typename genType>
00273 typename genType::bool_type isnan(genType const & x);
00274
00284 template <typename genType>
00285 typename genType::bool_type isinf(genType const & x);
00286
00294 template <typename genType, typename genIType>
00295 genIType floatBitsToInt(genType const & value);
00296
00304 template <typename genType, typename genUType>
00305 genUType floatBitsToUint(genType const & value);
00306
00316 template <typename genType, typename genIType>
00317 genType intBitsToFloat(genIType const & value);
00318
00328 template <typename genType, typename genUType>
00329 genType uintBitsToFloat(genUType const & value);
00330
00336 template <typename genType>
00337 genType fma(genType const & a, genType const & b, genType const & c);
00338
00352 template <typename genType, typename genIType>
00353 genType frexp(genType const & x, genIType & exp);
00354
00365 template <typename genType, typename genIType>
00366 genType ldexp(genType const & x, genIType const & exp);
00367
00369 }
00370
00371 #include "func_common.inl"
00372
00373 #endif//glm_core_func_common