19 #ifndef GLM_ENABLE_EXPERIMENTAL    20 #   error "GLM: GLM_GTX_fast_exponential is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."    23 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)    24 #   pragma message("GLM: GLM_GTX_fast_exponential extension included")    34     template<
typename genType>
    35     GLM_FUNC_DECL genType 
fastPow(genType x, genType y);
    39     template<length_t L, 
typename T, qualifier Q>
    40     GLM_FUNC_DECL vec<L, T, Q> 
fastPow(vec<L, T, Q> 
const& x, vec<L, T, Q> 
const& y);
    44     template<
typename genTypeT, 
typename genTypeU>
    45     GLM_FUNC_DECL genTypeT 
fastPow(genTypeT x, genTypeU y);
    49     template<length_t L, 
typename T, qualifier Q>
    50     GLM_FUNC_DECL vec<L, T, Q> 
fastPow(vec<L, T, Q> 
const& x);
    59     template<length_t L, 
typename T, qualifier Q>
    60     GLM_FUNC_DECL vec<L, T, Q> 
fastExp(vec<L, T, Q> 
const& x);
    69     template<length_t L, 
typename T, qualifier Q>
    70     GLM_FUNC_DECL vec<L, T, Q> 
fastLog(vec<L, T, Q> 
const& x);
    79     template<length_t L, 
typename T, qualifier Q>
    80     GLM_FUNC_DECL vec<L, T, Q> 
fastExp2(vec<L, T, Q> 
const& x);
    89     template<length_t L, 
typename T, qualifier Q>
    90     GLM_FUNC_DECL vec<L, T, Q> 
fastLog2(vec<L, T, Q> 
const& x);
    95 #include "fast_exponential.inl" GLM_FUNC_DECL vec< L, T, Q > fastPow(vec< L, T, Q > const &x)
Faster than the common pow function but less accurate. 
GLM_FUNC_DECL vec< L, T, Q > fastLog2(vec< L, T, Q > const &x)
Faster than the common log2 function but less accurate. 
GLM_FUNC_DECL vec< L, T, Q > fastExp(vec< L, T, Q > const &x)
Faster than the common exp function but less accurate. 
GLM_FUNC_DECL vec< L, T, Q > fastLog(vec< L, T, Q > const &x)
Faster than the common exp2 function but less accurate. 
GLM_FUNC_DECL vec< L, T, Q > fastExp2(vec< L, T, Q > const &x)
Faster than the common exp2 function but less accurate.