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
00030
00031
00032
00033
00034
00035
00036 #ifndef GLM_CORE_func_common
00037 #define GLM_CORE_func_common GLM_VERSION
00038
00039 #include "_fixes.hpp"
00040
00041 namespace glm
00042 {
00045
00052 template <typename genType>
00053 genType abs(genType const & x);
00054
00061 template <typename genType>
00062 genType sign(genType const & x);
00063
00070 template <typename genType>
00071 genType floor(genType const & x);
00072
00080 template <typename genType>
00081 genType trunc(genType const & x);
00082
00093 template <typename genType>
00094 genType round(genType const & x);
00095
00105 template <typename genType>
00106 genType roundEven(genType const & x);
00107
00115 template <typename genType>
00116 genType ceil(genType const & x);
00117
00124 template <typename genType>
00125 genType fract(genType const & x);
00126
00134 template <typename genType>
00135 genType mod(
00136 genType const & x,
00137 genType const & y);
00138
00146 template <typename genType>
00147 genType mod(
00148 genType const & x,
00149 typename genType::value_type const & y);
00150
00160 template <typename genType>
00161 genType modf(
00162 genType const & x,
00163 genType & i);
00164
00171 template <typename genType>
00172 genType min(
00173 genType const & x,
00174 genType const & y);
00175
00176 template <typename genType>
00177 genType min(
00178 genType const & x,
00179 typename genType::value_type const & y);
00180
00187 template <typename genType>
00188 genType max(
00189 genType const & x,
00190 genType const & y);
00191
00192 template <typename genType>
00193 genType max(
00194 genType const & x,
00195 typename genType::value_type const & y);
00196
00204 template <typename genType>
00205 genType clamp(
00206 genType const & x,
00207 genType const & minVal,
00208 genType const & maxVal);
00209
00210 template <typename genType>
00211 genType clamp(
00212 genType const & x,
00213 typename genType::value_type const & minVal,
00214 typename genType::value_type const & maxVal);
00215
00258 template <typename genTypeT, typename genTypeU>
00259 genTypeT mix(genTypeT const & x, genTypeT const & y, genTypeU const & a);
00260
00265 template <typename genType>
00266 genType step(
00267 genType const & edge,
00268 genType const & x);
00269
00270 template <typename genType>
00271 genType step(
00272 typename genType::value_type const & edge,
00273 genType const & x);
00274
00289 template <typename genType>
00290 genType smoothstep(
00291 genType const & edge0,
00292 genType const & edge1,
00293 genType const & x);
00294
00295 template <typename genType>
00296 genType smoothstep(
00297 typename genType::value_type const & edge0,
00298 typename genType::value_type const & edge1,
00299 genType const & x);
00300
00311 template <typename genType>
00312 typename genType::bool_type isnan(genType const & x);
00313
00324 template <typename genType>
00325 typename genType::bool_type isinf(genType const & x);
00326
00336 template <typename genType, typename genIType>
00337 genIType floatBitsToInt(genType const & value);
00338
00348 template <typename genType, typename genUType>
00349 genUType floatBitsToUint(genType const & value);
00350
00364 template <typename genType, typename genIType>
00365 genType intBitsToFloat(genIType const & value);
00366
00380 template <typename genType, typename genUType>
00381 genType uintBitsToFloat(genUType const & value);
00382
00389 template <typename genType>
00390 genType fma(genType const & a, genType const & b, genType const & c);
00391
00406 template <typename genType, typename genIType>
00407 genType frexp(genType const & x, genIType & exp);
00408
00420 template <typename genType, typename genIType>
00421 genType ldexp(genType const & x, genIType const & exp);
00422
00424 }
00425
00426 #include "func_common.inl"
00427
00428 #endif//GLM_CORE_func_common