constants.hpp

Go to the documentation of this file.
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_constants
00040 #define GLM_GTX_constants 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_constants extension included")
00048 #endif
00049 
00050 namespace glm
00051 {
00054 
00055         template <typename T>
00056         T pi();
00057 
00058         template <typename T>
00059         GLM_FUNC_QUALIFIER T pi()
00060         {
00061                 return T(3.14159265358979323846264338327950288);
00062         }
00063 
00064         template <typename T>
00065         GLM_FUNC_QUALIFIER T root_pi()
00066         {
00067                 return T(1.772453850905516027);
00068         }
00069 
00070         template <typename T>
00071         GLM_FUNC_QUALIFIER T half_pi()
00072         {
00073                 return T(1.57079632679489661923132169163975144);
00074         }
00075 
00076         template <typename T>
00077         GLM_FUNC_QUALIFIER T quarter_pi()
00078         {
00079                 return T(0.785398163397448309615660845819875721);
00080         }
00081 
00082         template <typename T>
00083         GLM_FUNC_QUALIFIER T one_over_pi()
00084         {
00085                 return T(0.318309886183790671537767526745028724);
00086         }
00087 
00088         template <typename T>
00089         GLM_FUNC_QUALIFIER T two_over_pi()
00090         {
00091                 return T(0.636619772367581343075535053490057448);
00092         }
00093 
00094         template <typename T>
00095         GLM_FUNC_QUALIFIER T two_over_root_pi()
00096         {
00097                 return T(1.12837916709551257389615890312154517);
00098         }
00099 
00100         template <typename T>
00101         GLM_FUNC_QUALIFIER T one_over_root_two()
00102         {
00103                 return T(0.707106781186547524400844362104849039);
00104         }
00105 
00106         template <typename T>
00107         GLM_FUNC_QUALIFIER T root_half_pi()
00108         {
00109                 return T(1.253314137315500251);
00110         }
00111 
00112         template <typename T>
00113         GLM_FUNC_QUALIFIER T root_two_pi()
00114         {
00115                 return T(2.506628274631000502);
00116         }
00117 
00118         template <typename T>
00119         GLM_FUNC_QUALIFIER T root_ln_four()
00120         {
00121                 return T(1.17741002251547469);
00122         }
00123 
00124         template <typename T>
00125         GLM_FUNC_QUALIFIER T e()
00126         {
00127                 return T(2.71828182845904523536);
00128         }
00129 
00130         template <typename T>
00131         GLM_FUNC_QUALIFIER T euler()
00132         {
00133                 return T(0.577215664901532860606);
00134         }
00135 
00136         template <typename T>
00137         GLM_FUNC_QUALIFIER T root_two()
00138         {
00139                 return T(1.41421356237309504880168872420969808);
00140         }
00141 
00142         template <typename T>
00143         GLM_FUNC_QUALIFIER T ln_two()
00144         {
00145                 return T(0.693147180559945309417232121458176568);
00146         }
00147 
00148         template <typename T>
00149         GLM_FUNC_QUALIFIER T ln_ten()
00150         {
00151                 return T(2.30258509299404568401799145468436421);
00152         }
00153 
00154         template <typename T>
00155         GLM_FUNC_QUALIFIER T ln_ln_two()
00156         {
00157                 return T(-0.3665129205816643);
00158         }
00159 
00160         template <typename T>
00161         GLM_FUNC_QUALIFIER T third()
00162         {
00163                 return T(0.333333333333333333);
00164         }
00165 
00166         template <typename T>
00167         GLM_FUNC_QUALIFIER T twothirds()
00168         {
00169                 return T(0.666666666666666666);
00170         }
00171 
00173 } //namespace glm
00174 
00175 #include "constants.inl"
00176 
00177 #endif//GLM_GTX_constants