diff options
author | Thales Lima Oliveira <thaleslima.ufu@gmail.com> | 2020-07-08 12:05:44 -0300 |
---|---|---|
committer | Thales Lima Oliveira <thaleslima.ufu@gmail.com> | 2020-07-08 12:05:44 -0300 |
commit | cc2e40324d884bc0417809980a696a5084e661d7 (patch) | |
tree | 9620dfa32e44af5c125aac2c9bce36011ad27b8b /Project/glm/gtx/fast_exponential.hpp | |
parent | ae765504642759ba4addbf91d62f167ba5f063a3 (diff) | |
download | PSP.git-cc2e40324d884bc0417809980a696a5084e661d7.tar.gz PSP.git-cc2e40324d884bc0417809980a696a5084e661d7.tar.xz PSP.git-cc2e40324d884bc0417809980a696a5084e661d7.zip |
GLM folder changed
Diffstat (limited to 'Project/glm/gtx/fast_exponential.hpp')
-rw-r--r-- | Project/glm/gtx/fast_exponential.hpp | 95 |
1 files changed, 95 insertions, 0 deletions
diff --git a/Project/glm/gtx/fast_exponential.hpp b/Project/glm/gtx/fast_exponential.hpp new file mode 100644 index 0000000..6fb7286 --- /dev/null +++ b/Project/glm/gtx/fast_exponential.hpp @@ -0,0 +1,95 @@ +/// @ref gtx_fast_exponential +/// @file glm/gtx/fast_exponential.hpp +/// +/// @see core (dependence) +/// @see gtx_half_float (dependence) +/// +/// @defgroup gtx_fast_exponential GLM_GTX_fast_exponential +/// @ingroup gtx +/// +/// Include <glm/gtx/fast_exponential.hpp> to use the features of this extension. +/// +/// Fast but less accurate implementations of exponential based functions. + +#pragma once + +// Dependency: +#include "../glm.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# ifndef GLM_ENABLE_EXPERIMENTAL +# pragma message("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.") +# else +# pragma message("GLM: GLM_GTX_fast_exponential extension included") +# endif +#endif + +namespace glm +{ + /// @addtogroup gtx_fast_exponential + /// @{ + + /// Faster than the common pow function but less accurate. + /// @see gtx_fast_exponential + template<typename genType> + GLM_FUNC_DECL genType fastPow(genType x, genType y); + + /// Faster than the common pow function but less accurate. + /// @see gtx_fast_exponential + template<length_t L, typename T, qualifier Q> + GLM_FUNC_DECL vec<L, T, Q> fastPow(vec<L, T, Q> const& x, vec<L, T, Q> const& y); + + /// Faster than the common pow function but less accurate. + /// @see gtx_fast_exponential + template<typename genTypeT, typename genTypeU> + GLM_FUNC_DECL genTypeT fastPow(genTypeT x, genTypeU y); + + /// Faster than the common pow function but less accurate. + /// @see gtx_fast_exponential + template<length_t L, typename T, qualifier Q> + GLM_FUNC_DECL vec<L, T, Q> fastPow(vec<L, T, Q> const& x); + + /// Faster than the common exp function but less accurate. + /// @see gtx_fast_exponential + template<typename T> + GLM_FUNC_DECL T fastExp(T x); + + /// Faster than the common exp function but less accurate. + /// @see gtx_fast_exponential + template<length_t L, typename T, qualifier Q> + GLM_FUNC_DECL vec<L, T, Q> fastExp(vec<L, T, Q> const& x); + + /// Faster than the common log function but less accurate. + /// @see gtx_fast_exponential + template<typename T> + GLM_FUNC_DECL T fastLog(T x); + + /// Faster than the common exp2 function but less accurate. + /// @see gtx_fast_exponential + template<length_t L, typename T, qualifier Q> + GLM_FUNC_DECL vec<L, T, Q> fastLog(vec<L, T, Q> const& x); + + /// Faster than the common exp2 function but less accurate. + /// @see gtx_fast_exponential + template<typename T> + GLM_FUNC_DECL T fastExp2(T x); + + /// Faster than the common exp2 function but less accurate. + /// @see gtx_fast_exponential + template<length_t L, typename T, qualifier Q> + GLM_FUNC_DECL vec<L, T, Q> fastExp2(vec<L, T, Q> const& x); + + /// Faster than the common log2 function but less accurate. + /// @see gtx_fast_exponential + template<typename T> + GLM_FUNC_DECL T fastLog2(T x); + + /// Faster than the common log2 function but less accurate. + /// @see gtx_fast_exponential + template<length_t L, typename T, qualifier Q> + GLM_FUNC_DECL vec<L, T, Q> fastLog2(vec<L, T, Q> const& x); + + /// @} +}//namespace glm + +#include "fast_exponential.inl" |