1.0.0 API documentation
fast_exponential.hpp
Go to the documentation of this file.
1 
14 #pragma once
15 
16 // Dependency:
17 #include "../glm.hpp"
18 
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."
21 #elif GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
22 # pragma message("GLM: GLM_GTX_fast_exponential extension included")
23 #endif
24 
25 namespace glm
26 {
29 
32  template<typename genType>
33  GLM_FUNC_DECL genType fastPow(genType x, genType y);
34 
37  template<length_t L, typename T, qualifier Q>
38  GLM_FUNC_DECL vec<L, T, Q> fastPow(vec<L, T, Q> const& x, vec<L, T, Q> const& y);
39 
42  template<typename genTypeT, typename genTypeU>
43  GLM_FUNC_DECL genTypeT fastPow(genTypeT x, genTypeU y);
44 
47  template<length_t L, typename T, qualifier Q>
48  GLM_FUNC_DECL vec<L, T, Q> fastPow(vec<L, T, Q> const& x);
49 
52  template<typename T>
53  GLM_FUNC_DECL T fastExp(T x);
54 
57  template<length_t L, typename T, qualifier Q>
58  GLM_FUNC_DECL vec<L, T, Q> fastExp(vec<L, T, Q> const& x);
59 
62  template<typename T>
63  GLM_FUNC_DECL T fastLog(T x);
64 
67  template<length_t L, typename T, qualifier Q>
68  GLM_FUNC_DECL vec<L, T, Q> fastLog(vec<L, T, Q> const& x);
69 
72  template<typename T>
73  GLM_FUNC_DECL T fastExp2(T x);
74 
77  template<length_t L, typename T, qualifier Q>
78  GLM_FUNC_DECL vec<L, T, Q> fastExp2(vec<L, T, Q> const& x);
79 
82  template<typename T>
83  GLM_FUNC_DECL T fastLog2(T x);
84 
87  template<length_t L, typename T, qualifier Q>
88  GLM_FUNC_DECL vec<L, T, Q> fastLog2(vec<L, T, Q> const& x);
89 
91 }//namespace glm
92 
93 #include "fast_exponential.inl"
glm::fastLog
GLM_FUNC_DECL vec< L, T, Q > fastLog(vec< L, T, Q > const &x)
Faster than the common exp2 function but less accurate.
glm::fastExp
GLM_FUNC_DECL vec< L, T, Q > fastExp(vec< L, T, Q > const &x)
Faster than the common exp function but less accurate.
glm::fastPow
GLM_FUNC_DECL vec< L, T, Q > fastPow(vec< L, T, Q > const &x)
Faster than the common pow function but less accurate.
glm::fastExp2
GLM_FUNC_DECL vec< L, T, Q > fastExp2(vec< L, T, Q > const &x)
Faster than the common exp2 function but less accurate.
glm::fastLog2
GLM_FUNC_DECL vec< L, T, Q > fastLog2(vec< L, T, Q > const &x)
Faster than the common log2 function but less accurate.