GLM Version 0.9.0

fast_exponential.hpp

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