Collection of DPF-based plugins for packaging
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

182 lines
4.1KB

  1. /// @ref gtc_constants
  2. /// @file glm/gtc/constants.inl
  3. #include <limits>
  4. namespace glm
  5. {
  6. template<typename genType>
  7. GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType epsilon()
  8. {
  9. return std::numeric_limits<genType>::epsilon();
  10. }
  11. template<typename genType>
  12. GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType zero()
  13. {
  14. return genType(0);
  15. }
  16. template<typename genType>
  17. GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType one()
  18. {
  19. return genType(1);
  20. }
  21. template<typename genType>
  22. GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType pi()
  23. {
  24. return genType(3.14159265358979323846264338327950288);
  25. }
  26. template<typename genType>
  27. GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType two_pi()
  28. {
  29. return genType(6.28318530717958647692528676655900576);
  30. }
  31. template<typename genType>
  32. GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType root_pi()
  33. {
  34. return genType(1.772453850905516027);
  35. }
  36. template<typename genType>
  37. GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType half_pi()
  38. {
  39. return genType(1.57079632679489661923132169163975144);
  40. }
  41. template<typename genType>
  42. GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType three_over_two_pi()
  43. {
  44. return genType(4.71238898038468985769396507491925432);
  45. }
  46. template<typename genType>
  47. GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType quarter_pi()
  48. {
  49. return genType(0.785398163397448309615660845819875721);
  50. }
  51. template<typename genType>
  52. GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType one_over_pi()
  53. {
  54. return genType(0.318309886183790671537767526745028724);
  55. }
  56. template<typename genType>
  57. GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType one_over_two_pi()
  58. {
  59. return genType(0.159154943091895335768883763372514362);
  60. }
  61. template<typename genType>
  62. GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType two_over_pi()
  63. {
  64. return genType(0.636619772367581343075535053490057448);
  65. }
  66. template<typename genType>
  67. GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType four_over_pi()
  68. {
  69. return genType(1.273239544735162686151070106980114898);
  70. }
  71. template<typename genType>
  72. GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType two_over_root_pi()
  73. {
  74. return genType(1.12837916709551257389615890312154517);
  75. }
  76. template<typename genType>
  77. GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType one_over_root_two()
  78. {
  79. return genType(0.707106781186547524400844362104849039);
  80. }
  81. template<typename genType>
  82. GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType root_half_pi()
  83. {
  84. return genType(1.253314137315500251);
  85. }
  86. template<typename genType>
  87. GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType root_two_pi()
  88. {
  89. return genType(2.506628274631000502);
  90. }
  91. template<typename genType>
  92. GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType root_ln_four()
  93. {
  94. return genType(1.17741002251547469);
  95. }
  96. template<typename genType>
  97. GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType e()
  98. {
  99. return genType(2.71828182845904523536);
  100. }
  101. template<typename genType>
  102. GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType euler()
  103. {
  104. return genType(0.577215664901532860606);
  105. }
  106. template<typename genType>
  107. GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType root_two()
  108. {
  109. return genType(1.41421356237309504880168872420969808);
  110. }
  111. template<typename genType>
  112. GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType root_three()
  113. {
  114. return genType(1.73205080756887729352744634150587236);
  115. }
  116. template<typename genType>
  117. GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType root_five()
  118. {
  119. return genType(2.23606797749978969640917366873127623);
  120. }
  121. template<typename genType>
  122. GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType ln_two()
  123. {
  124. return genType(0.693147180559945309417232121458176568);
  125. }
  126. template<typename genType>
  127. GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType ln_ten()
  128. {
  129. return genType(2.30258509299404568401799145468436421);
  130. }
  131. template<typename genType>
  132. GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType ln_ln_two()
  133. {
  134. return genType(-0.3665129205816643);
  135. }
  136. template<typename genType>
  137. GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType third()
  138. {
  139. return genType(0.3333333333333333333333333333333333333333);
  140. }
  141. template<typename genType>
  142. GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType two_thirds()
  143. {
  144. return genType(0.666666666666666666666666666666666666667);
  145. }
  146. template<typename genType>
  147. GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType golden_ratio()
  148. {
  149. return genType(1.61803398874989484820458683436563811);
  150. }
  151. } //namespace glm