![]() |
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 GLM_VERSION 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 genType> 00058 genType fastPow( 00059 genType const & x, 00060 genType const & y); 00061 00064 template <typename genTypeT, typename genTypeU> 00065 genTypeT fastPow( 00066 genTypeT const & x, 00067 genTypeU const & 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.3