func_common.hpp
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 }//namespace glm
00370 
00371 #include "func_common.inl"
00372 
00373 #endif//glm_core_func_common