GLM Version 0.9.0
|
00001 00002 // OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net) 00004 // Created : 2006-01-09 00005 // Updated : 2006-11-13 00006 // Licence : This source is under MIT License 00007 // File : glm/gtx/fast_exponential.hpp 00009 // Dependency: 00010 // - GLM core 00011 // - GLM_GTX_half 00012 // - GLM_GTX_double 00014 00015 #ifndef glm_gtx_fast_exponential 00016 #define glm_gtx_fast_exponential 00017 00018 // Dependency: 00019 #include "../glm.hpp" 00020 #include "../gtc/half_float.hpp" 00021 #include "../gtc/double_float.hpp" 00022 00023 namespace glm 00024 { 00025 namespace test{ 00026 void main_gtx_fast_exponential(); 00027 }//namespace test 00028 00029 namespace gtx{ 00031 namespace fast_exponential 00032 { 00033 using namespace gtc::half_float; 00034 using namespace gtc::double_float; 00035 00038 template <typename valType> 00039 valType fastPow( 00040 valType const & x, 00041 valType const & y); 00042 00045 template <typename T, typename U> 00046 T fastPow( 00047 const T& x, 00048 const U& y); 00049 00052 template <typename T> 00053 T fastExp(const T& x); 00054 00057 template <typename T> 00058 T fastLog(const T& x); 00059 00062 template <typename T> 00063 T fastExp2(const T& x); 00064 00067 template <typename T> 00068 T fastLog2(const T& x); 00069 00072 template <typename T> 00073 T fastLn(const T& x); 00074 00075 }//namespace fast_exponential 00076 }//namespace gtx 00077 }//namespace glm 00078 00079 #include "fast_exponential.inl" 00080 00081 namespace glm{using namespace gtx::fast_exponential;} 00082 00083 #endif//glm_gtx_fast_exponential