constants.inl 3.9 KB

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