![]() |
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 00037 00038 00039 #ifndef GLM_GTX_fast_exponential 00040 #define GLM_GTX_fast_exponential 50 00041 00042 // Dependency: 00043 #include "../glm.hpp" 00044 #include "../gtc/half_float.hpp" 00045 00046 #if(defined(GLM_MESSAGES) && !defined(glm_ext)) 00047 # pragma message("GLM: GLM_GTX_fast_exponential extension included") 00048 #endif 00049 00050 namespace glm 00051 { 00054 00057 template <typename valType> 00058 valType fastPow( 00059 valType const & x, 00060 valType const & y); 00061 00064 template <typename T, typename U> 00065 T fastPow( 00066 const T& x, 00067 const U& y); 00068 00071 template <typename T> 00072 T fastExp(const T& x); 00073 00076 template <typename T> 00077 T fastLog(const T& x); 00078 00081 template <typename T> 00082 T fastExp2(const T& x); 00083 00086 template <typename T> 00087 T fastLog2(const T& x); 00088 00091 template <typename T> 00092 T fastLn(const T& x); 00093 00095 }//namespace glm 00096 00097 #include "fast_exponential.inl" 00098 00099 #endif//GLM_GTX_fast_exponential
1.7.4