Browse Source

Require C++ 17 support to build with GLM

christophe 1 month ago
parent
commit
a88bd16b7f
100 changed files with 1545 additions and 1951 deletions
  1. 1 39
      CMakeLists.txt
  2. 13 13
      doc/api/a00002.html
  3. 21 21
      doc/api/a00002_source.html
  4. 1 1
      doc/api/a00014_source.html
  5. 16 16
      doc/api/a00020_source.html
  6. 4 4
      doc/api/a00023_source.html
  7. 13 13
      doc/api/a00026_source.html
  8. 2 2
      doc/api/a00029_source.html
  9. 5 5
      doc/api/a00032_source.html
  10. 6 6
      doc/api/a00035_source.html
  11. 10 10
      doc/api/a00038_source.html
  12. 39 39
      doc/api/a00044_source.html
  13. 32 32
      doc/api/a00047_source.html
  14. 32 32
      doc/api/a00050_source.html
  15. 32 32
      doc/api/a00053_source.html
  16. 39 39
      doc/api/a00056_source.html
  17. 32 32
      doc/api/a00059_source.html
  18. 32 32
      doc/api/a00062_source.html
  19. 32 32
      doc/api/a00065_source.html
  20. 39 39
      doc/api/a00068_source.html
  21. 27 27
      doc/api/a00071_source.html
  22. 69 69
      doc/api/a00074_source.html
  23. 98 98
      doc/api/a00077_source.html
  24. 101 101
      doc/api/a00080_source.html
  25. 98 98
      doc/api/a00083_source.html
  26. 9 9
      doc/api/a00089_source.html
  27. 3 3
      doc/api/a00095_source.html
  28. 10 10
      doc/api/a00266.html
  29. 13 13
      doc/api/a00266_source.html
  30. 3 3
      doc/api/a00326.html
  31. 6 6
      doc/api/a00326_source.html
  32. 3 3
      doc/api/a00344.html
  33. 6 6
      doc/api/a00344_source.html
  34. 1 1
      doc/api/a00347_source.html
  35. 3 3
      doc/api/a00359.html
  36. 6 6
      doc/api/a00359_source.html
  37. 4 4
      doc/api/a00407.html
  38. 6 6
      doc/api/a00407_source.html
  39. 9 9
      doc/api/a00491.html
  40. 18 18
      doc/api/a00491_source.html
  41. 2 2
      doc/api/a00527.html
  42. 4 4
      doc/api/a00527_source.html
  43. 28 28
      doc/api/a00539.html
  44. 56 56
      doc/api/a00539_source.html
  45. 1 1
      doc/api/a00542_source.html
  46. 2 2
      doc/api/a00602_source.html
  47. 3 3
      doc/api/a00608_source.html
  48. 1 1
      doc/api/a00623.html
  49. 2 2
      doc/api/a00623_source.html
  50. 24 24
      doc/api/a00653_source.html
  51. 1 1
      doc/api/a00677_source.html
  52. 1 1
      doc/api/a00704_source.html
  53. 12 12
      doc/api/a00740_source.html
  54. 1 1
      doc/api/a00761_source.html
  55. 2 2
      doc/api/a00797.html
  56. 4 4
      doc/api/a00797_source.html
  57. 28 28
      doc/api/a00812.html
  58. 20 20
      doc/api/a00836.html
  59. 4 4
      doc/api/a00837.html
  60. 6 6
      doc/api/a00856.html
  61. 6 6
      doc/api/a00862.html
  62. 3 3
      doc/api/a00867.html
  63. 8 8
      doc/api/a00872.html
  64. 8 8
      doc/api/a00877.html
  65. 16 16
      doc/api/a00890.html
  66. 4 4
      doc/api/a00897.html
  67. 56 56
      doc/api/a00908.html
  68. 8 8
      doc/api/a00917.html
  69. 2 2
      doc/api/a00940.html
  70. 8 8
      doc/api/a00972.html
  71. 4 4
      doc/api/a00995.html
  72. 18 18
      doc/api/a00996.html
  73. 2 2
      doc/api/a01702.html
  74. 4 4
      doc/api/a01702_source.html
  75. 4 4
      doc/api/a01711.html
  76. 8 8
      doc/api/a01711_source.html
  77. 4 4
      doc/api/a01714.html
  78. 7 7
      doc/api/a01714_source.html
  79. 4 4
      doc/api/a01717.html
  80. 7 7
      doc/api/a01717_source.html
  81. 8 8
      doc/api/a01729.html
  82. 11 11
      doc/api/a01729_source.html
  83. 15 15
      glm/common.hpp
  84. 16 16
      glm/detail/_vectorize.hpp
  85. 4 4
      glm/detail/compute_common.hpp
  86. 13 13
      glm/detail/compute_vector_decl.hpp
  87. 2 2
      glm/detail/compute_vector_relational.hpp
  88. 53 53
      glm/detail/func_common.inl
  89. 8 8
      glm/detail/func_common_simd.inl
  90. 4 4
      glm/detail/func_exponential.inl
  91. 22 22
      glm/detail/func_geometric.inl
  92. 11 11
      glm/detail/func_integer.inl
  93. 5 5
      glm/detail/func_matrix.inl
  94. 1 1
      glm/detail/func_matrix_simd.inl
  95. 10 10
      glm/detail/func_trigonometric.inl
  96. 9 9
      glm/detail/func_vector_relational.inl
  97. 4 7
      glm/detail/qualifier.hpp
  98. 23 388
      glm/detail/setup.hpp
  99. 10 10
      glm/detail/type_float.hpp
  100. 39 39
      glm/detail/type_mat2x2.hpp

+ 1 - 39
CMakeLists.txt

@@ -27,9 +27,6 @@ option(GLM_BUILD_INSTALL "Generate the install target" ${GLM_IS_MASTER_PROJECT})
 
 include(GNUInstallDirs)
 
-option(GLM_ENABLE_CXX_98 "Enable C++ 98" OFF)
-option(GLM_ENABLE_CXX_11 "Enable C++ 11" OFF)
-option(GLM_ENABLE_CXX_14 "Enable C++ 14" OFF)
 option(GLM_ENABLE_CXX_17 "Enable C++ 17" OFF)
 option(GLM_ENABLE_CXX_20 "Enable C++ 20" OFF)
 
@@ -61,43 +58,8 @@ elseif(GLM_ENABLE_CXX_17)
 		message(STATUS "GLM: Build with C++17 features")
 	endif()
 
-elseif(GLM_ENABLE_CXX_14)
-	set(CMAKE_CXX_STANDARD 14)
-	add_definitions(-DGLM_FORCE_CXX14)
-	if(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
-		message(STATUS "GLM: Disable -Wc++98-compat warnings")
-		add_compile_options(-Wno-c++98-compat)
-		add_compile_options(-Wno-c++98-compat-pedantic)
-		add_compile_options(-Wno-switch-default)
-	endif()
-	if(NOT GLM_QUIET)
-		message(STATUS "GLM: Build with C++14 features")
-	endif()
-
-elseif(GLM_ENABLE_CXX_11)
-	set(CMAKE_CXX_STANDARD 11)
-	add_definitions(-DGLM_FORCE_CXX11)
-	if(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
-		message(STATUS "GLM: Disable -Wc++98-compat warnings")
-		add_compile_options(-Wno-c++98-compat)
-		add_compile_options(-Wno-c++98-compat-pedantic)
-		add_compile_options(-Wno-switch-default)
-	endif()
-	if(NOT GLM_QUIET)
-		message(STATUS "GLM: Build with C++11 features")
-	endif()
-
-elseif(GLM_ENABLE_CXX_98)
-	set(CMAKE_CXX_STANDARD 98)
-	add_definitions(-DGLM_FORCE_CXX98)
-	if(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
-		add_compile_options(-Wno-switch-default)
-	endif()
-	if(NOT GLM_QUIET)
-		message(STATUS "GLM: Build with C++98 features")
-	endif()
-
 else()
+	set(CMAKE_CXX_STANDARD 17)
 	if(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
 		message(STATUS "GLM: Disable -Wc++98-compat warnings")
 		add_compile_options(-Wno-c++98-compat)

+ 13 - 13
doc/api/a00002.html

@@ -81,11 +81,11 @@ $(function() {
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
 Functions</h2></td></tr>
 <tr class="memitem:ga439e60a72eadecfeda2df5449c613a64"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
-<tr class="memitem:ga439e60a72eadecfeda2df5449c613a64"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00812.html#ga439e60a72eadecfeda2df5449c613a64">abs</a> (genType x)</td></tr>
+<tr class="memitem:ga439e60a72eadecfeda2df5449c613a64"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00812.html#ga439e60a72eadecfeda2df5449c613a64">abs</a> (genType x)</td></tr>
 <tr class="memdesc:ga439e60a72eadecfeda2df5449c613a64"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns x if x &gt;= 0; otherwise, it returns -x.  <a href="a00812.html#ga439e60a72eadecfeda2df5449c613a64">More...</a><br /></td></tr>
 <tr class="separator:ga439e60a72eadecfeda2df5449c613a64"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga81d3abddd0ef0c8de579bc541ecadab6"><td class="memTemplParams" colspan="2">template&lt;length_t L, typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:ga81d3abddd0ef0c8de579bc541ecadab6"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; L, T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00812.html#ga81d3abddd0ef0c8de579bc541ecadab6">abs</a> (vec&lt; L, T, Q &gt; const &amp;x)</td></tr>
+<tr class="memitem:ga81d3abddd0ef0c8de579bc541ecadab6"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr vec&lt; L, T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00812.html#ga81d3abddd0ef0c8de579bc541ecadab6">abs</a> (vec&lt; L, T, Q &gt; const &amp;x)</td></tr>
 <tr class="memdesc:ga81d3abddd0ef0c8de579bc541ecadab6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns x if x &gt;= 0; otherwise, it returns -x.  <a href="a00812.html#ga81d3abddd0ef0c8de579bc541ecadab6">More...</a><br /></td></tr>
 <tr class="separator:ga81d3abddd0ef0c8de579bc541ecadab6"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gafb9d2a645a23aca12d4d6de0104b7657"><td class="memTemplParams" colspan="2">template&lt;length_t L, typename T , qualifier Q&gt; </td></tr>
@@ -93,15 +93,15 @@ Functions</h2></td></tr>
 <tr class="memdesc:gafb9d2a645a23aca12d4d6de0104b7657"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a value equal to the nearest integer that is greater than or equal to x.  <a href="a00812.html#gafb9d2a645a23aca12d4d6de0104b7657">More...</a><br /></td></tr>
 <tr class="separator:gafb9d2a645a23aca12d4d6de0104b7657"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga7cd77683da6361e297c56443fc70806d"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
-<tr class="memitem:ga7cd77683da6361e297c56443fc70806d"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00812.html#ga7cd77683da6361e297c56443fc70806d">clamp</a> (genType x, genType minVal, genType maxVal)</td></tr>
+<tr class="memitem:ga7cd77683da6361e297c56443fc70806d"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00812.html#ga7cd77683da6361e297c56443fc70806d">clamp</a> (genType x, genType minVal, genType maxVal)</td></tr>
 <tr class="memdesc:ga7cd77683da6361e297c56443fc70806d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns min(max(x, minVal), maxVal) for each component in x using the floating-point values minVal and maxVal.  <a href="a00812.html#ga7cd77683da6361e297c56443fc70806d">More...</a><br /></td></tr>
 <tr class="separator:ga7cd77683da6361e297c56443fc70806d"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gafba2e0674deb5953878d89483cd6323d"><td class="memTemplParams" colspan="2">template&lt;length_t L, typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:gafba2e0674deb5953878d89483cd6323d"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; L, T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00812.html#gafba2e0674deb5953878d89483cd6323d">clamp</a> (vec&lt; L, T, Q &gt; const &amp;x, T minVal, T maxVal)</td></tr>
+<tr class="memitem:gafba2e0674deb5953878d89483cd6323d"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr vec&lt; L, T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00812.html#gafba2e0674deb5953878d89483cd6323d">clamp</a> (vec&lt; L, T, Q &gt; const &amp;x, T minVal, T maxVal)</td></tr>
 <tr class="memdesc:gafba2e0674deb5953878d89483cd6323d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns min(max(x, minVal), maxVal) for each component in x using the floating-point values minVal and maxVal.  <a href="a00812.html#gafba2e0674deb5953878d89483cd6323d">More...</a><br /></td></tr>
 <tr class="separator:gafba2e0674deb5953878d89483cd6323d"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gaa0f2f12e9108b09e22a3f0b2008a0b5d"><td class="memTemplParams" colspan="2">template&lt;length_t L, typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:gaa0f2f12e9108b09e22a3f0b2008a0b5d"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; L, T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00812.html#gaa0f2f12e9108b09e22a3f0b2008a0b5d">clamp</a> (vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;minVal, vec&lt; L, T, Q &gt; const &amp;maxVal)</td></tr>
+<tr class="memitem:gaa0f2f12e9108b09e22a3f0b2008a0b5d"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr vec&lt; L, T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00812.html#gaa0f2f12e9108b09e22a3f0b2008a0b5d">clamp</a> (vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;minVal, vec&lt; L, T, Q &gt; const &amp;maxVal)</td></tr>
 <tr class="memdesc:gaa0f2f12e9108b09e22a3f0b2008a0b5d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns min(max(x, minVal), maxVal) for each component in x using the floating-point values minVal and maxVal.  <a href="a00812.html#gaa0f2f12e9108b09e22a3f0b2008a0b5d">More...</a><br /></td></tr>
 <tr class="separator:gaa0f2f12e9108b09e22a3f0b2008a0b5d"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga8a23e454d8ae48b8f6dfdaea4b756072"><td class="memItemLeft" align="right" valign="top">GLM_FUNC_DECL int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00812.html#ga8a23e454d8ae48b8f6dfdaea4b756072">floatBitsToInt</a> (float v)</td></tr>
@@ -158,31 +158,31 @@ Functions</h2></td></tr>
 <tr class="memdesc:gac3010e0a0c35a1b514540f2fb579c58c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Builds a floating-point number from x and the corresponding integral exponent of two in exp, returning: significand * exp(2, exponent)  <a href="a00812.html#gac3010e0a0c35a1b514540f2fb579c58c">More...</a><br /></td></tr>
 <tr class="separator:gac3010e0a0c35a1b514540f2fb579c58c"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gae02d42887fc5570451f880e3c624b9ac"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
-<tr class="memitem:gae02d42887fc5570451f880e3c624b9ac"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00812.html#gae02d42887fc5570451f880e3c624b9ac">max</a> (genType x, genType y)</td></tr>
+<tr class="memitem:gae02d42887fc5570451f880e3c624b9ac"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00812.html#gae02d42887fc5570451f880e3c624b9ac">max</a> (genType x, genType y)</td></tr>
 <tr class="memdesc:gae02d42887fc5570451f880e3c624b9ac"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns y if x &lt; y; otherwise, it returns x.  <a href="a00812.html#gae02d42887fc5570451f880e3c624b9ac">More...</a><br /></td></tr>
 <tr class="separator:gae02d42887fc5570451f880e3c624b9ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga03e45d6e60d1c36edb00c52edeea0f31"><td class="memTemplParams" colspan="2">template&lt;length_t L, typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:ga03e45d6e60d1c36edb00c52edeea0f31"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; L, T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00812.html#ga03e45d6e60d1c36edb00c52edeea0f31">max</a> (vec&lt; L, T, Q &gt; const &amp;x, T y)</td></tr>
+<tr class="memitem:ga03e45d6e60d1c36edb00c52edeea0f31"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr vec&lt; L, T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00812.html#ga03e45d6e60d1c36edb00c52edeea0f31">max</a> (vec&lt; L, T, Q &gt; const &amp;x, T y)</td></tr>
 <tr class="memdesc:ga03e45d6e60d1c36edb00c52edeea0f31"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns y if x &lt; y; otherwise, it returns x.  <a href="a00812.html#ga03e45d6e60d1c36edb00c52edeea0f31">More...</a><br /></td></tr>
 <tr class="separator:ga03e45d6e60d1c36edb00c52edeea0f31"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gac1fec0c3303b572a6d4697a637213870"><td class="memTemplParams" colspan="2">template&lt;length_t L, typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:gac1fec0c3303b572a6d4697a637213870"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; L, T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00812.html#gac1fec0c3303b572a6d4697a637213870">max</a> (vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y)</td></tr>
+<tr class="memitem:gac1fec0c3303b572a6d4697a637213870"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr vec&lt; L, T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00812.html#gac1fec0c3303b572a6d4697a637213870">max</a> (vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y)</td></tr>
 <tr class="memdesc:gac1fec0c3303b572a6d4697a637213870"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns y if x &lt; y; otherwise, it returns x.  <a href="a00812.html#gac1fec0c3303b572a6d4697a637213870">More...</a><br /></td></tr>
 <tr class="separator:gac1fec0c3303b572a6d4697a637213870"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga6cf8098827054a270ee36b18e30d471d"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
-<tr class="memitem:ga6cf8098827054a270ee36b18e30d471d"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00812.html#ga6cf8098827054a270ee36b18e30d471d">min</a> (genType x, genType y)</td></tr>
+<tr class="memitem:ga6cf8098827054a270ee36b18e30d471d"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00812.html#ga6cf8098827054a270ee36b18e30d471d">min</a> (genType x, genType y)</td></tr>
 <tr class="memdesc:ga6cf8098827054a270ee36b18e30d471d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns y if y &lt; x; otherwise, it returns x.  <a href="a00812.html#ga6cf8098827054a270ee36b18e30d471d">More...</a><br /></td></tr>
 <tr class="separator:ga6cf8098827054a270ee36b18e30d471d"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gaa7d015eba1f9f48519251f4abe69b14d"><td class="memTemplParams" colspan="2">template&lt;length_t L, typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:gaa7d015eba1f9f48519251f4abe69b14d"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; L, T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00812.html#gaa7d015eba1f9f48519251f4abe69b14d">min</a> (vec&lt; L, T, Q &gt; const &amp;x, T y)</td></tr>
+<tr class="memitem:gaa7d015eba1f9f48519251f4abe69b14d"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr vec&lt; L, T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00812.html#gaa7d015eba1f9f48519251f4abe69b14d">min</a> (vec&lt; L, T, Q &gt; const &amp;x, T y)</td></tr>
 <tr class="memdesc:gaa7d015eba1f9f48519251f4abe69b14d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns y if y &lt; x; otherwise, it returns x.  <a href="a00812.html#gaa7d015eba1f9f48519251f4abe69b14d">More...</a><br /></td></tr>
 <tr class="separator:gaa7d015eba1f9f48519251f4abe69b14d"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga31f49ef9e7d1beb003160c5e009b0c48"><td class="memTemplParams" colspan="2">template&lt;length_t L, typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:ga31f49ef9e7d1beb003160c5e009b0c48"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; L, T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00812.html#ga31f49ef9e7d1beb003160c5e009b0c48">min</a> (vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y)</td></tr>
+<tr class="memitem:ga31f49ef9e7d1beb003160c5e009b0c48"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr vec&lt; L, T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00812.html#ga31f49ef9e7d1beb003160c5e009b0c48">min</a> (vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y)</td></tr>
 <tr class="memdesc:ga31f49ef9e7d1beb003160c5e009b0c48"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns y if y &lt; x; otherwise, it returns x.  <a href="a00812.html#ga31f49ef9e7d1beb003160c5e009b0c48">More...</a><br /></td></tr>
 <tr class="separator:ga31f49ef9e7d1beb003160c5e009b0c48"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga6b6e0c7ecb4a5b78f929566355bb7416"><td class="memTemplParams" colspan="2">template&lt;typename genTypeT , typename genTypeU &gt; </td></tr>
-<tr class="memitem:ga6b6e0c7ecb4a5b78f929566355bb7416"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genTypeT&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00812.html#ga6b6e0c7ecb4a5b78f929566355bb7416">mix</a> (genTypeT x, genTypeT y, genTypeU a)</td></tr>
+<tr class="memitem:ga6b6e0c7ecb4a5b78f929566355bb7416"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr genTypeT&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00812.html#ga6b6e0c7ecb4a5b78f929566355bb7416">mix</a> (genTypeT x, genTypeT y, genTypeU a)</td></tr>
 <tr class="memdesc:ga6b6e0c7ecb4a5b78f929566355bb7416"><td class="mdescLeft">&#160;</td><td class="mdescRight">If genTypeU is a floating scalar or vector: Returns x * (1.0 - a) + y * a, i.e., the linear blend of x and y using the floating-point value a.  <a href="a00812.html#ga6b6e0c7ecb4a5b78f929566355bb7416">More...</a><br /></td></tr>
 <tr class="separator:ga6b6e0c7ecb4a5b78f929566355bb7416"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga9b197a452cd52db3c5c18bac72bd7798"><td class="memTemplParams" colspan="2">template&lt;length_t L, typename T , qualifier Q&gt; </td></tr>
@@ -202,7 +202,7 @@ Functions</h2></td></tr>
 <tr class="memdesc:ga76b81785045a057989a84d99aeeb1578"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a value equal to the nearest integer to x.  <a href="a00812.html#ga76b81785045a057989a84d99aeeb1578">More...</a><br /></td></tr>
 <tr class="separator:ga76b81785045a057989a84d99aeeb1578"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga589807f35ad0a1d173762bfac3288929"><td class="memTemplParams" colspan="2">template&lt;length_t L, typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:ga589807f35ad0a1d173762bfac3288929"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; L, T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00812.html#ga589807f35ad0a1d173762bfac3288929">sign</a> (vec&lt; L, T, Q &gt; const &amp;x)</td></tr>
+<tr class="memitem:ga589807f35ad0a1d173762bfac3288929"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr vec&lt; L, T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00812.html#ga589807f35ad0a1d173762bfac3288929">sign</a> (vec&lt; L, T, Q &gt; const &amp;x)</td></tr>
 <tr class="memdesc:ga589807f35ad0a1d173762bfac3288929"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns 1.0 if x &gt; 0, 0.0 if x == 0, or -1.0 if x &lt; 0.  <a href="a00812.html#ga589807f35ad0a1d173762bfac3288929">More...</a><br /></td></tr>
 <tr class="separator:ga589807f35ad0a1d173762bfac3288929"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga562edf7eca082cc5b7a0aaf180436daf"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>

+ 21 - 21
doc/api/a00002_source.html

@@ -80,13 +80,13 @@ $(function() {
 <div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;{</div>
 <div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160; </div>
 <div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> genType&gt;</div>
-<div class="line"><a name="l00032"></a><span class="lineno"><a class="line" href="a00812.html#ga439e60a72eadecfeda2df5449c613a64">   32</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00812.html#ga81d3abddd0ef0c8de579bc541ecadab6">abs</a>(genType x);</div>
+<div class="line"><a name="l00032"></a><span class="lineno"><a class="line" href="a00812.html#ga439e60a72eadecfeda2df5449c613a64">   32</a></span>&#160;        GLM_FUNC_DECL constexpr genType <a class="code" href="a00812.html#ga81d3abddd0ef0c8de579bc541ecadab6">abs</a>(genType x);</div>
 <div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160; </div>
 <div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;        <span class="keyword">template</span>&lt;length_t L, <span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="a00812.html#ga81d3abddd0ef0c8de579bc541ecadab6">   43</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;L, T, Q&gt; <a class="code" href="a00812.html#ga81d3abddd0ef0c8de579bc541ecadab6">abs</a>(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; x);</div>
+<div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="a00812.html#ga81d3abddd0ef0c8de579bc541ecadab6">   43</a></span>&#160;        GLM_FUNC_DECL constexpr vec&lt;L, T, Q&gt; <a class="code" href="a00812.html#ga81d3abddd0ef0c8de579bc541ecadab6">abs</a>(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; x);</div>
 <div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160; </div>
 <div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;        <span class="keyword">template</span>&lt;length_t L, <span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="a00812.html#ga589807f35ad0a1d173762bfac3288929">   54</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;L, T, Q&gt; <a class="code" href="a00812.html#ga589807f35ad0a1d173762bfac3288929">sign</a>(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; x);</div>
+<div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="a00812.html#ga589807f35ad0a1d173762bfac3288929">   54</a></span>&#160;        GLM_FUNC_DECL constexpr vec&lt;L, T, Q&gt; <a class="code" href="a00812.html#ga589807f35ad0a1d173762bfac3288929">sign</a>(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; x);</div>
 <div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160; </div>
 <div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;        <span class="keyword">template</span>&lt;length_t L, <span class="keyword">typename</span> T, qualifier Q&gt;</div>
 <div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="a00812.html#gaa9d0742639e85b29c7c5de11cfd6840d">   65</a></span>&#160;        GLM_FUNC_DECL vec&lt;L, T, Q&gt; <a class="code" href="a00812.html#gaa9d0742639e85b29c7c5de11cfd6840d">floor</a>(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; x);</div>
@@ -122,40 +122,40 @@ $(function() {
 <div class="line"><a name="l00168"></a><span class="lineno"><a class="line" href="a00812.html#ga85e33f139b8db1b39b590a5713b9e679">  168</a></span>&#160;        GLM_FUNC_DECL genType <a class="code" href="a00812.html#ga85e33f139b8db1b39b590a5713b9e679">modf</a>(genType x, genType&amp; i);</div>
 <div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160; </div>
 <div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> genType&gt;</div>
-<div class="line"><a name="l00177"></a><span class="lineno"><a class="line" href="a00812.html#ga6cf8098827054a270ee36b18e30d471d">  177</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00812.html#ga31f49ef9e7d1beb003160c5e009b0c48">min</a>(genType x, genType y);</div>
+<div class="line"><a name="l00177"></a><span class="lineno"><a class="line" href="a00812.html#ga6cf8098827054a270ee36b18e30d471d">  177</a></span>&#160;        GLM_FUNC_DECL constexpr genType <a class="code" href="a00812.html#ga31f49ef9e7d1beb003160c5e009b0c48">min</a>(genType x, genType y);</div>
 <div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160; </div>
 <div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;        <span class="keyword">template</span>&lt;length_t L, <span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00188"></a><span class="lineno"><a class="line" href="a00812.html#gaa7d015eba1f9f48519251f4abe69b14d">  188</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;L, T, Q&gt; <a class="code" href="a00812.html#ga31f49ef9e7d1beb003160c5e009b0c48">min</a>(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; x, T y);</div>
+<div class="line"><a name="l00188"></a><span class="lineno"><a class="line" href="a00812.html#gaa7d015eba1f9f48519251f4abe69b14d">  188</a></span>&#160;        GLM_FUNC_DECL constexpr vec&lt;L, T, Q&gt; <a class="code" href="a00812.html#ga31f49ef9e7d1beb003160c5e009b0c48">min</a>(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; x, T y);</div>
 <div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160; </div>
 <div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;        <span class="keyword">template</span>&lt;length_t L, <span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00199"></a><span class="lineno"><a class="line" href="a00812.html#ga31f49ef9e7d1beb003160c5e009b0c48">  199</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;L, T, Q&gt; <a class="code" href="a00812.html#ga31f49ef9e7d1beb003160c5e009b0c48">min</a>(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; x, vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; y);</div>
+<div class="line"><a name="l00199"></a><span class="lineno"><a class="line" href="a00812.html#ga31f49ef9e7d1beb003160c5e009b0c48">  199</a></span>&#160;        GLM_FUNC_DECL constexpr vec&lt;L, T, Q&gt; <a class="code" href="a00812.html#ga31f49ef9e7d1beb003160c5e009b0c48">min</a>(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; x, vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; y);</div>
 <div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160; </div>
 <div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> genType&gt;</div>
-<div class="line"><a name="l00208"></a><span class="lineno"><a class="line" href="a00812.html#gae02d42887fc5570451f880e3c624b9ac">  208</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00812.html#gac1fec0c3303b572a6d4697a637213870">max</a>(genType x, genType y);</div>
+<div class="line"><a name="l00208"></a><span class="lineno"><a class="line" href="a00812.html#gae02d42887fc5570451f880e3c624b9ac">  208</a></span>&#160;        GLM_FUNC_DECL constexpr genType <a class="code" href="a00812.html#gac1fec0c3303b572a6d4697a637213870">max</a>(genType x, genType y);</div>
 <div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160; </div>
 <div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;        <span class="keyword">template</span>&lt;length_t L, <span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00219"></a><span class="lineno"><a class="line" href="a00812.html#ga03e45d6e60d1c36edb00c52edeea0f31">  219</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;L, T, Q&gt; <a class="code" href="a00812.html#gac1fec0c3303b572a6d4697a637213870">max</a>(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; x, T y);</div>
+<div class="line"><a name="l00219"></a><span class="lineno"><a class="line" href="a00812.html#ga03e45d6e60d1c36edb00c52edeea0f31">  219</a></span>&#160;        GLM_FUNC_DECL constexpr vec&lt;L, T, Q&gt; <a class="code" href="a00812.html#gac1fec0c3303b572a6d4697a637213870">max</a>(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; x, T y);</div>
 <div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160; </div>
 <div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;        <span class="keyword">template</span>&lt;length_t L, <span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00230"></a><span class="lineno"><a class="line" href="a00812.html#gac1fec0c3303b572a6d4697a637213870">  230</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;L, T, Q&gt; <a class="code" href="a00812.html#gac1fec0c3303b572a6d4697a637213870">max</a>(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; x, vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; y);</div>
+<div class="line"><a name="l00230"></a><span class="lineno"><a class="line" href="a00812.html#gac1fec0c3303b572a6d4697a637213870">  230</a></span>&#160;        GLM_FUNC_DECL constexpr vec&lt;L, T, Q&gt; <a class="code" href="a00812.html#gac1fec0c3303b572a6d4697a637213870">max</a>(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; x, vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; y);</div>
 <div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160; </div>
 <div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> genType&gt;</div>
-<div class="line"><a name="l00240"></a><span class="lineno"><a class="line" href="a00812.html#ga7cd77683da6361e297c56443fc70806d">  240</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00812.html#gaa0f2f12e9108b09e22a3f0b2008a0b5d">clamp</a>(genType x, genType minVal, genType maxVal);</div>
+<div class="line"><a name="l00240"></a><span class="lineno"><a class="line" href="a00812.html#ga7cd77683da6361e297c56443fc70806d">  240</a></span>&#160;        GLM_FUNC_DECL constexpr genType <a class="code" href="a00812.html#gaa0f2f12e9108b09e22a3f0b2008a0b5d">clamp</a>(genType x, genType minVal, genType maxVal);</div>
 <div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160; </div>
 <div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;        <span class="keyword">template</span>&lt;length_t L, <span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00252"></a><span class="lineno"><a class="line" href="a00812.html#gafba2e0674deb5953878d89483cd6323d">  252</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;L, T, Q&gt; <a class="code" href="a00812.html#gaa0f2f12e9108b09e22a3f0b2008a0b5d">clamp</a>(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; x, T minVal, T maxVal);</div>
+<div class="line"><a name="l00252"></a><span class="lineno"><a class="line" href="a00812.html#gafba2e0674deb5953878d89483cd6323d">  252</a></span>&#160;        GLM_FUNC_DECL constexpr vec&lt;L, T, Q&gt; <a class="code" href="a00812.html#gaa0f2f12e9108b09e22a3f0b2008a0b5d">clamp</a>(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; x, T minVal, T maxVal);</div>
 <div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160; </div>
 <div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;        <span class="keyword">template</span>&lt;length_t L, <span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00264"></a><span class="lineno"><a class="line" href="a00812.html#gaa0f2f12e9108b09e22a3f0b2008a0b5d">  264</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;L, T, Q&gt; <a class="code" href="a00812.html#gaa0f2f12e9108b09e22a3f0b2008a0b5d">clamp</a>(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; x, vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; minVal, vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; maxVal);</div>
+<div class="line"><a name="l00264"></a><span class="lineno"><a class="line" href="a00812.html#gaa0f2f12e9108b09e22a3f0b2008a0b5d">  264</a></span>&#160;        GLM_FUNC_DECL constexpr vec&lt;L, T, Q&gt; <a class="code" href="a00812.html#gaa0f2f12e9108b09e22a3f0b2008a0b5d">clamp</a>(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; x, vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; minVal, vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; maxVal);</div>
 <div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160; </div>
 <div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> genTypeT, <span class="keyword">typename</span> genTypeU&gt;</div>
-<div class="line"><a name="l00309"></a><span class="lineno"><a class="line" href="a00812.html#ga6b6e0c7ecb4a5b78f929566355bb7416">  309</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR genTypeT <a class="code" href="a00812.html#ga6b6e0c7ecb4a5b78f929566355bb7416">mix</a>(genTypeT x, genTypeT y, genTypeU a);</div>
+<div class="line"><a name="l00309"></a><span class="lineno"><a class="line" href="a00812.html#ga6b6e0c7ecb4a5b78f929566355bb7416">  309</a></span>&#160;        GLM_FUNC_DECL constexpr genTypeT <a class="code" href="a00812.html#ga6b6e0c7ecb4a5b78f929566355bb7416">mix</a>(genTypeT x, genTypeT y, genTypeU a);</div>
 <div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160; </div>
 <div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;        <span class="keyword">template</span>&lt;length_t L, <span class="keyword">typename</span> T, <span class="keyword">typename</span> U, qualifier Q&gt;</div>
-<div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;L, T, Q&gt; <a class="code" href="a00812.html#ga6b6e0c7ecb4a5b78f929566355bb7416">mix</a>(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; x, vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; y, vec&lt;L, U, Q&gt; <span class="keyword">const</span>&amp; a);</div>
+<div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;L, T, Q&gt; <a class="code" href="a00812.html#ga6b6e0c7ecb4a5b78f929566355bb7416">mix</a>(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; x, vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; y, vec&lt;L, U, Q&gt; <span class="keyword">const</span>&amp; a);</div>
 <div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160; </div>
 <div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;        <span class="keyword">template</span>&lt;length_t L, <span class="keyword">typename</span> T, <span class="keyword">typename</span> U, qualifier Q&gt;</div>
-<div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;L, T, Q&gt; <a class="code" href="a00812.html#ga6b6e0c7ecb4a5b78f929566355bb7416">mix</a>(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; x, vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; y, U a);</div>
+<div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;L, T, Q&gt; <a class="code" href="a00812.html#ga6b6e0c7ecb4a5b78f929566355bb7416">mix</a>(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; x, vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; y, U a);</div>
 <div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160; </div>
 <div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> genType&gt;</div>
 <div class="line"><a name="l00322"></a><span class="lineno"><a class="line" href="a00812.html#ga015a1261ff23e12650211aa872863cce">  322</a></span>&#160;        GLM_FUNC_DECL genType <a class="code" href="a00812.html#gaf4a5fc81619c7d3e8b22f53d4a098c7f">step</a>(genType edge, genType x);</div>
@@ -222,22 +222,22 @@ $(function() {
 <div class="line"><a name="l00539"></a><span class="lineno">  539</span>&#160; </div>
 </div><!-- fragment --></div><!-- contents -->
 <div class="ttc" id="aa00812_html_ga562edf7eca082cc5b7a0aaf180436daf"><div class="ttname"><a href="a00812.html#ga562edf7eca082cc5b7a0aaf180436daf">glm::smoothstep</a></div><div class="ttdeci">GLM_FUNC_DECL genType smoothstep(genType edge0, genType edge1, genType x)</div><div class="ttdoc">Returns 0.0 if x &lt;= edge0 and 1.0 if x &gt;= edge1 and performs smooth Hermite interpolation between 0 a...</div></div>
-<div class="ttc" id="aa00812_html_ga81d3abddd0ef0c8de579bc541ecadab6"><div class="ttname"><a href="a00812.html#ga81d3abddd0ef0c8de579bc541ecadab6">glm::abs</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; L, T, Q &gt; abs(vec&lt; L, T, Q &gt; const &amp;x)</div><div class="ttdoc">Returns x if x &gt;= 0; otherwise, it returns -x.</div></div>
+<div class="ttc" id="aa00812_html_ga81d3abddd0ef0c8de579bc541ecadab6"><div class="ttname"><a href="a00812.html#ga81d3abddd0ef0c8de579bc541ecadab6">glm::abs</a></div><div class="ttdeci">GLM_FUNC_DECL constexpr vec&lt; L, T, Q &gt; abs(vec&lt; L, T, Q &gt; const &amp;x)</div><div class="ttdoc">Returns x if x &gt;= 0; otherwise, it returns -x.</div></div>
 <div class="ttc" id="aa00812_html_gac3010e0a0c35a1b514540f2fb579c58c"><div class="ttname"><a href="a00812.html#gac3010e0a0c35a1b514540f2fb579c58c">glm::ldexp</a></div><div class="ttdeci">GLM_FUNC_DECL genType ldexp(genType const &amp;x, int const &amp;exp)</div><div class="ttdoc">Builds a floating-point number from x and the corresponding integral exponent of two in exp,...</div></div>
-<div class="ttc" id="aa00812_html_gaa0f2f12e9108b09e22a3f0b2008a0b5d"><div class="ttname"><a href="a00812.html#gaa0f2f12e9108b09e22a3f0b2008a0b5d">glm::clamp</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; L, T, Q &gt; clamp(vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;minVal, vec&lt; L, T, Q &gt; const &amp;maxVal)</div><div class="ttdoc">Returns min(max(x, minVal), maxVal) for each component in x using the floating-point values minVal an...</div></div>
+<div class="ttc" id="aa00812_html_gaa0f2f12e9108b09e22a3f0b2008a0b5d"><div class="ttname"><a href="a00812.html#gaa0f2f12e9108b09e22a3f0b2008a0b5d">glm::clamp</a></div><div class="ttdeci">GLM_FUNC_DECL constexpr vec&lt; L, T, Q &gt; clamp(vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;minVal, vec&lt; L, T, Q &gt; const &amp;maxVal)</div><div class="ttdoc">Returns min(max(x, minVal), maxVal) for each component in x using the floating-point values minVal an...</div></div>
 <div class="ttc" id="aa00812_html_gaf4a5fc81619c7d3e8b22f53d4a098c7f"><div class="ttname"><a href="a00812.html#gaf4a5fc81619c7d3e8b22f53d4a098c7f">glm::step</a></div><div class="ttdeci">GLM_FUNC_DECL vec&lt; L, T, Q &gt; step(vec&lt; L, T, Q &gt; const &amp;edge, vec&lt; L, T, Q &gt; const &amp;x)</div><div class="ttdoc">Returns 0.0 if x &lt; edge, otherwise it returns 1.0.</div></div>
-<div class="ttc" id="aa00812_html_ga31f49ef9e7d1beb003160c5e009b0c48"><div class="ttname"><a href="a00812.html#ga31f49ef9e7d1beb003160c5e009b0c48">glm::min</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; L, T, Q &gt; min(vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y)</div><div class="ttdoc">Returns y if y &lt; x; otherwise, it returns x.</div></div>
+<div class="ttc" id="aa00812_html_ga31f49ef9e7d1beb003160c5e009b0c48"><div class="ttname"><a href="a00812.html#ga31f49ef9e7d1beb003160c5e009b0c48">glm::min</a></div><div class="ttdeci">GLM_FUNC_DECL constexpr vec&lt; L, T, Q &gt; min(vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y)</div><div class="ttdoc">Returns y if y &lt; x; otherwise, it returns x.</div></div>
 <div class="ttc" id="aa00812_html_gaddf5ef73283c171730e0bcc11833fa81"><div class="ttname"><a href="a00812.html#gaddf5ef73283c171730e0bcc11833fa81">glm::frexp</a></div><div class="ttdeci">GLM_FUNC_DECL genType frexp(genType x, int &amp;exp)</div><div class="ttdoc">Splits x into a floating-point significand in the range [0.5, 1.0) and an integral exponent of two,...</div></div>
 <div class="ttc" id="aa00812_html_gafb9d2a645a23aca12d4d6de0104b7657"><div class="ttname"><a href="a00812.html#gafb9d2a645a23aca12d4d6de0104b7657">glm::ceil</a></div><div class="ttdeci">GLM_FUNC_DECL vec&lt; L, T, Q &gt; ceil(vec&lt; L, T, Q &gt; const &amp;x)</div><div class="ttdoc">Returns a value equal to the nearest integer that is greater than or equal to x.</div></div>
-<div class="ttc" id="aa00812_html_ga589807f35ad0a1d173762bfac3288929"><div class="ttname"><a href="a00812.html#ga589807f35ad0a1d173762bfac3288929">glm::sign</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; L, T, Q &gt; sign(vec&lt; L, T, Q &gt; const &amp;x)</div><div class="ttdoc">Returns 1.0 if x &gt; 0, 0.0 if x == 0, or -1.0 if x &lt; 0.</div></div>
+<div class="ttc" id="aa00812_html_ga589807f35ad0a1d173762bfac3288929"><div class="ttname"><a href="a00812.html#ga589807f35ad0a1d173762bfac3288929">glm::sign</a></div><div class="ttdeci">GLM_FUNC_DECL constexpr vec&lt; L, T, Q &gt; sign(vec&lt; L, T, Q &gt; const &amp;x)</div><div class="ttdoc">Returns 1.0 if x &gt; 0, 0.0 if x == 0, or -1.0 if x &lt; 0.</div></div>
 <div class="ttc" id="aa00812_html_gafa03aca8c4713e1cc892aa92ca135a7e"><div class="ttname"><a href="a00812.html#gafa03aca8c4713e1cc892aa92ca135a7e">glm::round</a></div><div class="ttdeci">GLM_FUNC_DECL vec&lt; L, T, Q &gt; round(vec&lt; L, T, Q &gt; const &amp;x)</div><div class="ttdoc">Returns a value equal to the nearest integer to x.</div></div>
 <div class="ttc" id="aa00812_html_ga49418ba4c8a60fbbb5d57b705f3e26db"><div class="ttname"><a href="a00812.html#ga49418ba4c8a60fbbb5d57b705f3e26db">glm::floatBitsToUint</a></div><div class="ttdeci">GLM_FUNC_DECL vec&lt; L, uint, Q &gt; floatBitsToUint(vec&lt; L, float, Q &gt; const &amp;v)</div><div class="ttdoc">Returns a unsigned integer value representing the encoding of a floating-point value.</div></div>
 <div class="ttc" id="aa00812_html_ga76b81785045a057989a84d99aeeb1578"><div class="ttname"><a href="a00812.html#ga76b81785045a057989a84d99aeeb1578">glm::roundEven</a></div><div class="ttdeci">GLM_FUNC_DECL vec&lt; L, T, Q &gt; roundEven(vec&lt; L, T, Q &gt; const &amp;x)</div><div class="ttdoc">Returns a value equal to the nearest integer to x.</div></div>
 <div class="ttc" id="aa00812_html_ga2885587c23a106301f20443896365b62"><div class="ttname"><a href="a00812.html#ga2885587c23a106301f20443896365b62">glm::isinf</a></div><div class="ttdeci">GLM_FUNC_DECL vec&lt; L, bool, Q &gt; isinf(vec&lt; L, T, Q &gt; const &amp;x)</div><div class="ttdoc">Returns true if x holds a positive infinity or negative infinity representation in the underlying imp...</div></div>
-<div class="ttc" id="aa00812_html_gac1fec0c3303b572a6d4697a637213870"><div class="ttname"><a href="a00812.html#gac1fec0c3303b572a6d4697a637213870">glm::max</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; L, T, Q &gt; max(vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y)</div><div class="ttdoc">Returns y if x &lt; y; otherwise, it returns x.</div></div>
+<div class="ttc" id="aa00812_html_gac1fec0c3303b572a6d4697a637213870"><div class="ttname"><a href="a00812.html#gac1fec0c3303b572a6d4697a637213870">glm::max</a></div><div class="ttdeci">GLM_FUNC_DECL constexpr vec&lt; L, T, Q &gt; max(vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y)</div><div class="ttdoc">Returns y if x &lt; y; otherwise, it returns x.</div></div>
 <div class="ttc" id="aa00813_html_ga071566cadc7505455e611f2a0353f4d4"><div class="ttname"><a href="a00813.html#ga071566cadc7505455e611f2a0353f4d4">glm::exp</a></div><div class="ttdeci">GLM_FUNC_DECL vec&lt; L, T, Q &gt; exp(vec&lt; L, T, Q &gt; const &amp;v)</div><div class="ttdoc">Returns the natural exponentiation of v, i.e., e^v.</div></div>
 <div class="ttc" id="aa00812_html_ga85e33f139b8db1b39b590a5713b9e679"><div class="ttname"><a href="a00812.html#ga85e33f139b8db1b39b590a5713b9e679">glm::modf</a></div><div class="ttdeci">GLM_FUNC_DECL genType modf(genType x, genType &amp;i)</div><div class="ttdoc">Returns the fractional part of x and sets i to the integer part (as a whole number floating point val...</div></div>
-<div class="ttc" id="aa00812_html_ga6b6e0c7ecb4a5b78f929566355bb7416"><div class="ttname"><a href="a00812.html#ga6b6e0c7ecb4a5b78f929566355bb7416">glm::mix</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genTypeT mix(genTypeT x, genTypeT y, genTypeU a)</div><div class="ttdoc">If genTypeU is a floating scalar or vector: Returns x * (1.0 - a) + y * a, i.e., the linear blend of ...</div></div>
+<div class="ttc" id="aa00812_html_ga6b6e0c7ecb4a5b78f929566355bb7416"><div class="ttname"><a href="a00812.html#ga6b6e0c7ecb4a5b78f929566355bb7416">glm::mix</a></div><div class="ttdeci">GLM_FUNC_DECL constexpr genTypeT mix(genTypeT x, genTypeT y, genTypeU a)</div><div class="ttdoc">If genTypeU is a floating scalar or vector: Returns x * (1.0 - a) + y * a, i.e., the linear blend of ...</div></div>
 <div class="ttc" id="aa00812_html_gaa9d0742639e85b29c7c5de11cfd6840d"><div class="ttname"><a href="a00812.html#gaa9d0742639e85b29c7c5de11cfd6840d">glm::floor</a></div><div class="ttdeci">GLM_FUNC_DECL vec&lt; L, T, Q &gt; floor(vec&lt; L, T, Q &gt; const &amp;x)</div><div class="ttdoc">Returns a value equal to the nearest integer that is less then or equal to x.</div></div>
 <div class="ttc" id="aa00812_html_ga29ef934c00306490de837b4746b4e14d"><div class="ttname"><a href="a00812.html#ga29ef934c00306490de837b4746b4e14d">glm::isnan</a></div><div class="ttdeci">GLM_FUNC_DECL vec&lt; L, bool, Q &gt; isnan(vec&lt; L, T, Q &gt; const &amp;x)</div><div class="ttdoc">Returns true if x holds a NaN (not a number) representation in the underlying implementation's set of...</div></div>
 <div class="ttc" id="aa00812_html_ga2df623004f634b440d61e018d62c751b"><div class="ttname"><a href="a00812.html#ga2df623004f634b440d61e018d62c751b">glm::fract</a></div><div class="ttdeci">GLM_FUNC_DECL vec&lt; L, T, Q &gt; fract(vec&lt; L, T, Q &gt; const &amp;x)</div><div class="ttdoc">Return x - floor(x).</div></div>

+ 1 - 1
doc/api/a00014_source.html

@@ -880,7 +880,7 @@ $(function() {
 <div class="line"><a name="l00808"></a><span class="lineno">  808</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, Q, 3,3,3,2&gt; E3 ## E3 ## E3 ## E2; }; \</span></div>
 <div class="line"><a name="l00809"></a><span class="lineno">  809</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, Q, 3,3,3,3&gt; E3 ## E3 ## E3 ## E3; };</span></div>
 </div><!-- fragment --></div><!-- contents -->
-<div class="ttc" id="aa00908_html_ga4b7956eb6e2fbedfc7cf2e46e85c5139"><div class="ttname"><a href="a00908.html#ga4b7956eb6e2fbedfc7cf2e46e85c5139">glm::e</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType e()</div><div class="ttdoc">Return e constant.</div></div>
+<div class="ttc" id="aa00908_html_ga4b7956eb6e2fbedfc7cf2e46e85c5139"><div class="ttname"><a href="a00908.html#ga4b7956eb6e2fbedfc7cf2e46e85c5139">glm::e</a></div><div class="ttdeci">GLM_FUNC_DECL constexpr genType e()</div><div class="ttdoc">Return e constant.</div></div>
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
 Generated by &#160;<a href="http://www.doxygen.org/index.html">

+ 16 - 16
doc/api/a00020_source.html

@@ -81,7 +81,7 @@ $(function() {
 <div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">template</span>&lt;length_t L, <span class="keyword">typename</span> T, qualifier Q&gt; <span class="keyword">class </span>vec, <span class="keyword">typename</span> R, <span class="keyword">typename</span> T, qualifier Q&gt;</div>
 <div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;        <span class="keyword">struct </span>functor1&lt;vec, 1, R, T, Q&gt;</div>
 <div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;        {</div>
-<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;                GLM_FUNC_QUALIFIER GLM_CONSTEXPR <span class="keyword">static</span> vec&lt;1, R, Q&gt; call(R (*Func) (T x), vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v)</div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;                GLM_FUNC_QUALIFIER constexpr <span class="keyword">static</span> vec&lt;1, R, Q&gt; call(R (*Func) (T x), vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v)</div>
 <div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;                {</div>
 <div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;                        <span class="keywordflow">return</span> vec&lt;1, R, Q&gt;(Func(v.x));</div>
 <div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;                }</div>
@@ -90,7 +90,7 @@ $(function() {
 <div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">template</span>&lt;length_t L, <span class="keyword">typename</span> T, qualifier Q&gt; <span class="keyword">class </span>vec, <span class="keyword">typename</span> R, <span class="keyword">typename</span> T, qualifier Q&gt;</div>
 <div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;        <span class="keyword">struct </span>functor1&lt;vec, 2, R, T, Q&gt;</div>
 <div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;        {</div>
-<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;                GLM_FUNC_QUALIFIER GLM_CONSTEXPR <span class="keyword">static</span> vec&lt;2, R, Q&gt; call(R (*Func) (T x), vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v)</div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;                GLM_FUNC_QUALIFIER constexpr <span class="keyword">static</span> vec&lt;2, R, Q&gt; call(R (*Func) (T x), vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v)</div>
 <div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;                {</div>
 <div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;                        <span class="keywordflow">return</span> vec&lt;2, R, Q&gt;(Func(v.x), Func(v.y));</div>
 <div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;                }</div>
@@ -99,7 +99,7 @@ $(function() {
 <div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">template</span>&lt;length_t L, <span class="keyword">typename</span> T, qualifier Q&gt; <span class="keyword">class </span>vec, <span class="keyword">typename</span> R, <span class="keyword">typename</span> T, qualifier Q&gt;</div>
 <div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;        <span class="keyword">struct </span>functor1&lt;vec, 3, R, T, Q&gt;</div>
 <div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;        {</div>
-<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;                GLM_FUNC_QUALIFIER GLM_CONSTEXPR <span class="keyword">static</span> vec&lt;3, R, Q&gt; call(R (*Func) (T x), vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v)</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;                GLM_FUNC_QUALIFIER constexpr <span class="keyword">static</span> vec&lt;3, R, Q&gt; call(R (*Func) (T x), vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v)</div>
 <div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;                {</div>
 <div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;                        <span class="keywordflow">return</span> vec&lt;3, R, Q&gt;(Func(v.x), Func(v.y), Func(v.z));</div>
 <div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;                }</div>
@@ -108,7 +108,7 @@ $(function() {
 <div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">template</span>&lt;length_t L, <span class="keyword">typename</span> T, qualifier Q&gt; <span class="keyword">class </span>vec, <span class="keyword">typename</span> R, <span class="keyword">typename</span> T, qualifier Q&gt;</div>
 <div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;        <span class="keyword">struct </span>functor1&lt;vec, 4, R, T, Q&gt;</div>
 <div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;        {</div>
-<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;                GLM_FUNC_QUALIFIER GLM_CONSTEXPR <span class="keyword">static</span> vec&lt;4, R, Q&gt; call(R (*Func) (T x), vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v)</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;                GLM_FUNC_QUALIFIER constexpr <span class="keyword">static</span> vec&lt;4, R, Q&gt; call(R (*Func) (T x), vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v)</div>
 <div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;                {</div>
 <div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;                        <span class="keywordflow">return</span> vec&lt;4, R, Q&gt;(Func(v.x), Func(v.y), Func(v.z), Func(v.w));</div>
 <div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;                }</div>
@@ -126,7 +126,7 @@ $(function() {
 <div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;                }</div>
 <div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160; </div>
 <div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Fct&gt;</div>
-<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;                GLM_FUNC_QUALIFIER GLM_CONSTEXPR <span class="keyword">static</span> vec&lt;1, T, Q&gt; call(Fct Func, vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; a, vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; b)</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;                GLM_FUNC_QUALIFIER constexpr <span class="keyword">static</span> vec&lt;1, T, Q&gt; call(Fct Func, vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; a, vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; b)</div>
 <div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;                {</div>
 <div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;                        <span class="keywordflow">return</span> vec&lt;1, T, Q&gt;(Func(a.x, b.x));</div>
 <div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;                }</div>
@@ -141,7 +141,7 @@ $(function() {
 <div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;                }</div>
 <div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160; </div>
 <div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Fct&gt;</div>
-<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;                GLM_FUNC_QUALIFIER GLM_CONSTEXPR <span class="keyword">static</span> vec&lt;2, T, Q&gt; call(Fct Func, vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; a, vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; b)</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;                GLM_FUNC_QUALIFIER constexpr <span class="keyword">static</span> vec&lt;2, T, Q&gt; call(Fct Func, vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; a, vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; b)</div>
 <div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;                {</div>
 <div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;                        <span class="keywordflow">return</span> vec&lt;2, T, Q&gt;(Func(a.x, b.x), Func(a.y, b.y));</div>
 <div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;                }</div>
@@ -156,7 +156,7 @@ $(function() {
 <div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;                }</div>
 <div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160; </div>
 <div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">class</span> Fct&gt;</div>
-<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;                GLM_FUNC_QUALIFIER GLM_CONSTEXPR <span class="keyword">static</span> vec&lt;3, T, Q&gt; call(Fct Func, vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; a, vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; b)</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;                GLM_FUNC_QUALIFIER constexpr <span class="keyword">static</span> vec&lt;3, T, Q&gt; call(Fct Func, vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; a, vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; b)</div>
 <div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;                {</div>
 <div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;                        <span class="keywordflow">return</span> vec&lt;3, T, Q&gt;(Func(a.x, b.x), Func(a.y, b.y), Func(a.z, b.z));</div>
 <div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;                }</div>
@@ -171,7 +171,7 @@ $(function() {
 <div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;                }</div>
 <div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160; </div>
 <div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">class</span> Fct&gt;</div>
-<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;                GLM_FUNC_QUALIFIER GLM_CONSTEXPR <span class="keyword">static</span> vec&lt;4, T, Q&gt; call(Fct Func, vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; a, vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; b)</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;                GLM_FUNC_QUALIFIER constexpr <span class="keyword">static</span> vec&lt;4, T, Q&gt; call(Fct Func, vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; a, vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; b)</div>
 <div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;                {</div>
 <div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;                        <span class="keywordflow">return</span> vec&lt;4, T, Q&gt;(Func(a.x, b.x), Func(a.y, b.y), Func(a.z, b.z), Func(a.w, b.w));</div>
 <div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;                }</div>
@@ -188,7 +188,7 @@ $(function() {
 <div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;                        <span class="keywordflow">return</span> vec&lt;1, T, Q&gt;(Func(a.x, b));</div>
 <div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;                }</div>
 <div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">class</span> Fct&gt;</div>
-<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;                GLM_FUNC_QUALIFIER GLM_CONSTEXPR <span class="keyword">static</span> vec&lt;1, T, Q&gt; call(Fct Func, vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; a, T b)</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;                GLM_FUNC_QUALIFIER constexpr <span class="keyword">static</span> vec&lt;1, T, Q&gt; call(Fct Func, vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; a, T b)</div>
 <div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;                {</div>
 <div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;                        <span class="keywordflow">return</span> vec&lt;1, T, Q&gt;(Func(a.x, b));</div>
 <div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;                }</div>
@@ -203,7 +203,7 @@ $(function() {
 <div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;                }</div>
 <div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160; </div>
 <div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">class</span> Fct&gt;</div>
-<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;                GLM_FUNC_QUALIFIER GLM_CONSTEXPR <span class="keyword">static</span> vec&lt;2, T, Q&gt; call(Fct Func, vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; a, T b)</div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;                GLM_FUNC_QUALIFIER constexpr <span class="keyword">static</span> vec&lt;2, T, Q&gt; call(Fct Func, vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; a, T b)</div>
 <div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;                {</div>
 <div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;                        <span class="keywordflow">return</span> vec&lt;2, T, Q&gt;(Func(a.x, b), Func(a.y, b));</div>
 <div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;                }</div>
@@ -218,7 +218,7 @@ $(function() {
 <div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;                }</div>
 <div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160; </div>
 <div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">class</span> Fct&gt;</div>
-<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;                GLM_FUNC_QUALIFIER GLM_CONSTEXPR <span class="keyword">static</span> vec&lt;3, T, Q&gt; call(Fct Func, vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; a, T b)</div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;                GLM_FUNC_QUALIFIER constexpr <span class="keyword">static</span> vec&lt;3, T, Q&gt; call(Fct Func, vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; a, T b)</div>
 <div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;                {</div>
 <div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;                        <span class="keywordflow">return</span> vec&lt;3, T, Q&gt;(Func(a.x, b), Func(a.y, b), Func(a.z, b));</div>
 <div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;                }</div>
@@ -232,7 +232,7 @@ $(function() {
 <div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;                        <span class="keywordflow">return</span> vec&lt;4, T, Q&gt;(Func(a.x, b), Func(a.y, b), Func(a.z, b), Func(a.w, b));</div>
 <div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;                }</div>
 <div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">class</span> Fct&gt;</div>
-<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;                GLM_FUNC_QUALIFIER GLM_CONSTEXPR <span class="keyword">static</span> vec&lt;4, T, Q&gt; call(Fct Func, vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; a, T b)</div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;                GLM_FUNC_QUALIFIER constexpr <span class="keyword">static</span> vec&lt;4, T, Q&gt; call(Fct Func, vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; a, T b)</div>
 <div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;                {</div>
 <div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;                        <span class="keywordflow">return</span> vec&lt;4, T, Q&gt;(Func(a.x, b), Func(a.y, b), Func(a.z, b), Func(a.w, b));</div>
 <div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;                }</div>
@@ -250,7 +250,7 @@ $(function() {
 <div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;                }</div>
 <div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160; </div>
 <div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">class</span> Fct&gt;</div>
-<div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;                GLM_FUNC_QUALIFIER GLM_CONSTEXPR <span class="keyword">static</span> vec&lt;1, int, Q&gt; call(Fct Func, vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; a, vec&lt;1, int, Q&gt; <span class="keyword">const</span>&amp; b)</div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;                GLM_FUNC_QUALIFIER constexpr <span class="keyword">static</span> vec&lt;1, int, Q&gt; call(Fct Func, vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; a, vec&lt;1, int, Q&gt; <span class="keyword">const</span>&amp; b)</div>
 <div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;                {</div>
 <div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;                        <span class="keywordflow">return</span> vec&lt;1, int, Q&gt;(Func(a.x, b.x));</div>
 <div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;                }</div>
@@ -264,7 +264,7 @@ $(function() {
 <div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;                        <span class="keywordflow">return</span> vec&lt;2, int, Q&gt;(Func(a.x, b.x), Func(a.y, b.y));</div>
 <div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;                }</div>
 <div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">class</span> Fct&gt;</div>
-<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;                GLM_FUNC_QUALIFIER GLM_CONSTEXPR <span class="keyword">static</span> vec&lt;2, int, Q&gt; call(Fct Func, vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; a, vec&lt;2, int, Q&gt; <span class="keyword">const</span>&amp; b)</div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;                GLM_FUNC_QUALIFIER constexpr <span class="keyword">static</span> vec&lt;2, int, Q&gt; call(Fct Func, vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; a, vec&lt;2, int, Q&gt; <span class="keyword">const</span>&amp; b)</div>
 <div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;                {</div>
 <div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;                        <span class="keywordflow">return</span> vec&lt;2, int, Q&gt;(Func(a.x, b.x), Func(a.y, b.y));</div>
 <div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;                }</div>
@@ -278,7 +278,7 @@ $(function() {
 <div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;                        <span class="keywordflow">return</span> vec&lt;3, int, Q&gt;(Func(a.x, b.x), Func(a.y, b.y), Func(a.z, b.z));</div>
 <div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;                }</div>
 <div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">class</span> Fct&gt;</div>
-<div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;                GLM_FUNC_QUALIFIER GLM_CONSTEXPR <span class="keyword">static</span> vec&lt;3, int, Q&gt; call(Fct Func, vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; a, vec&lt;3, int, Q&gt; <span class="keyword">const</span>&amp; b)</div>
+<div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;                GLM_FUNC_QUALIFIER constexpr <span class="keyword">static</span> vec&lt;3, int, Q&gt; call(Fct Func, vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; a, vec&lt;3, int, Q&gt; <span class="keyword">const</span>&amp; b)</div>
 <div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;                {</div>
 <div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;                        <span class="keywordflow">return</span> vec&lt;3, int, Q&gt;(Func(a.x, b.x), Func(a.y, b.y), Func(a.z, b.z));</div>
 <div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;                }</div>
@@ -293,7 +293,7 @@ $(function() {
 <div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;                }</div>
 <div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160; </div>
 <div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">class</span> Fct&gt;</div>
-<div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;                GLM_FUNC_QUALIFIER GLM_CONSTEXPR <span class="keyword">static</span> vec&lt;4, int, Q&gt; call(Fct Func, vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; a, vec&lt;4, int, Q&gt; <span class="keyword">const</span>&amp; b)</div>
+<div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;                GLM_FUNC_QUALIFIER constexpr <span class="keyword">static</span> vec&lt;4, int, Q&gt; call(Fct Func, vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; a, vec&lt;4, int, Q&gt; <span class="keyword">const</span>&amp; b)</div>
 <div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;                {</div>
 <div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;                        <span class="keywordflow">return</span> vec&lt;4, int, Q&gt;(Func(a.x, b.x), Func(a.y, b.y), Func(a.z, b.z), Func(a.w, b.w));</div>
 <div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;                }</div>

+ 4 - 4
doc/api/a00023_source.html

@@ -85,9 +85,9 @@ $(function() {
 <div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> genFIType&gt;</div>
 <div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;        <span class="keyword">struct </span>compute_abs&lt;genFIType, true&gt;</div>
 <div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;        {</div>
-<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;                GLM_FUNC_QUALIFIER GLM_CONSTEXPR <span class="keyword">static</span> genFIType call(genFIType x)</div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;                GLM_FUNC_QUALIFIER constexpr <span class="keyword">static</span> genFIType call(genFIType x)</div>
 <div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;                {</div>
-<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;                        GLM_STATIC_ASSERT(</div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;                        static_assert(</div>
 <div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;                                std::numeric_limits&lt;genFIType&gt;::is_iec559 || GLM_CONFIG_UNRESTRICTED_FLOAT || std::numeric_limits&lt;genFIType&gt;::is_signed,</div>
 <div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;                                <span class="stringliteral">&quot;&#39;abs&#39; only accept floating-point and integer scalar or vector inputs&quot;</span>);</div>
 <div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160; </div>
@@ -110,9 +110,9 @@ $(function() {
 <div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> genFIType&gt;</div>
 <div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;        <span class="keyword">struct </span>compute_abs&lt;genFIType, false&gt;</div>
 <div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;        {</div>
-<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;                GLM_FUNC_QUALIFIER GLM_CONSTEXPR <span class="keyword">static</span> genFIType call(genFIType x)</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;                GLM_FUNC_QUALIFIER constexpr <span class="keyword">static</span> genFIType call(genFIType x)</div>
 <div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;                {</div>
-<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;                        GLM_STATIC_ASSERT(</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;                        static_assert(</div>
 <div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;                                (!std::numeric_limits&lt;genFIType&gt;::is_signed &amp;&amp; std::numeric_limits&lt;genFIType&gt;::is_integer),</div>
 <div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;                                <span class="stringliteral">&quot;&#39;abs&#39; only accept floating-point and integer scalar or vector inputs&quot;</span>);</div>
 <div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;                        <span class="keywordflow">return</span> x;</div>

+ 13 - 13
doc/api/a00026_source.html

@@ -123,7 +123,7 @@ $(function() {
 <div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;                <span class="keyword">template</span>&lt;length_t L, <span class="keyword">typename</span> T, qualifier Q&gt;</div>
 <div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;                <span class="keyword">struct </span>compute_vec_add&lt;L, T, Q, false&gt;</div>
 <div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;                {</div>
-<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;                        GLM_FUNC_QUALIFIER GLM_CONSTEXPR <span class="keyword">static</span> vec&lt;L, T, Q&gt; call(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; a, vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; b)</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;                        GLM_FUNC_QUALIFIER constexpr <span class="keyword">static</span> vec&lt;L, T, Q&gt; call(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; a, vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; b)</div>
 <div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;                        {</div>
 <div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;                                <span class="keywordflow">return</span> detail::functor2&lt;vec, L, T, Q&gt;::call(std::plus&lt;T&gt;(), a, b);</div>
 <div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;                        }</div>
@@ -132,7 +132,7 @@ $(function() {
 <div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;                <span class="keyword">template</span>&lt;length_t L, <span class="keyword">typename</span> T, qualifier Q&gt;</div>
 <div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;                <span class="keyword">struct </span>compute_vec_sub&lt;L, T, Q, false&gt;</div>
 <div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;                {</div>
-<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;                        GLM_FUNC_QUALIFIER GLM_CONSTEXPR <span class="keyword">static</span> vec&lt;L, T, Q&gt; call(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; a, vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; b)</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;                        GLM_FUNC_QUALIFIER constexpr <span class="keyword">static</span> vec&lt;L, T, Q&gt; call(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; a, vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; b)</div>
 <div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;                        {</div>
 <div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;                                <span class="keywordflow">return</span> detail::functor2&lt;vec, L, T, Q&gt;::call(std::minus&lt;T&gt;(), a, b);</div>
 <div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;                        }</div>
@@ -141,7 +141,7 @@ $(function() {
 <div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;                <span class="keyword">template</span>&lt;length_t L, <span class="keyword">typename</span> T, qualifier Q&gt;</div>
 <div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;                <span class="keyword">struct </span>compute_vec_mul&lt;L, T, Q, false&gt;</div>
 <div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;                {</div>
-<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;                        GLM_FUNC_QUALIFIER GLM_CONSTEXPR <span class="keyword">static</span> vec&lt;L, T, Q&gt; call(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; a, vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; b)</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;                        GLM_FUNC_QUALIFIER constexpr <span class="keyword">static</span> vec&lt;L, T, Q&gt; call(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; a, vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; b)</div>
 <div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;                        {</div>
 <div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;                                <span class="keywordflow">return</span> detail::functor2&lt;vec, L, T, Q&gt;::call(std::multiplies&lt;T&gt;(), a, b);</div>
 <div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;                        }</div>
@@ -150,7 +150,7 @@ $(function() {
 <div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;                <span class="keyword">template</span>&lt;length_t L, <span class="keyword">typename</span> T, qualifier Q&gt;</div>
 <div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;                <span class="keyword">struct </span>compute_vec_div&lt;L, T, Q, false&gt;</div>
 <div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;                {</div>
-<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;                        GLM_FUNC_QUALIFIER GLM_CONSTEXPR <span class="keyword">static</span> vec&lt;L, T, Q&gt; call(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; a, vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; b)</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;                        GLM_FUNC_QUALIFIER constexpr <span class="keyword">static</span> vec&lt;L, T, Q&gt; call(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; a, vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; b)</div>
 <div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;                        {</div>
 <div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;                                <span class="keywordflow">return</span> detail::functor2&lt;vec, L, T, Q&gt;::call(std::divides&lt;T&gt;(), a, b);</div>
 <div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;                        }</div>
@@ -159,7 +159,7 @@ $(function() {
 <div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;                <span class="keyword">template</span>&lt;length_t L, <span class="keyword">typename</span> T, qualifier Q&gt;</div>
 <div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;                <span class="keyword">struct </span>compute_vec_mod&lt;L, T, Q, false&gt;</div>
 <div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;                {</div>
-<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;                        GLM_FUNC_QUALIFIER GLM_CONSTEXPR <span class="keyword">static</span> vec&lt;L, T, Q&gt; call(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; a, vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; b)</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;                        GLM_FUNC_QUALIFIER constexpr <span class="keyword">static</span> vec&lt;L, T, Q&gt; call(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; a, vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; b)</div>
 <div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;                        {</div>
 <div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;                                <span class="keywordflow">return</span> detail::functor2&lt;vec, L, T, Q&gt;::call(std::modulus&lt;T&gt;(), a, b);</div>
 <div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;                        }</div>
@@ -168,7 +168,7 @@ $(function() {
 <div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;                <span class="keyword">template</span>&lt;length_t L, <span class="keyword">typename</span> T, qualifier Q, <span class="keywordtype">int</span> IsInt, std::<span class="keywordtype">size_t</span> Size&gt;</div>
 <div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;                <span class="keyword">struct </span>compute_vec_and&lt;L, T, Q, IsInt, Size, false&gt;</div>
 <div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;                {</div>
-<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;                        GLM_FUNC_QUALIFIER GLM_CONSTEXPR <span class="keyword">static</span> vec&lt;L, T, Q&gt; call(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; a, vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; b)</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;                        GLM_FUNC_QUALIFIER constexpr <span class="keyword">static</span> vec&lt;L, T, Q&gt; call(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; a, vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; b)</div>
 <div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;                        {</div>
 <div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;                                vec&lt;L, T, Q&gt; v(a);</div>
 <div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;                                <span class="keywordflow">for</span> (length_t i = 0; i &lt; L; ++i)</div>
@@ -180,7 +180,7 @@ $(function() {
 <div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;                <span class="keyword">template</span>&lt;length_t L, <span class="keyword">typename</span> T, qualifier Q, <span class="keywordtype">int</span> IsInt, std::<span class="keywordtype">size_t</span> Size&gt;</div>
 <div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;                <span class="keyword">struct </span>compute_vec_or&lt;L, T, Q, IsInt, Size, false&gt;</div>
 <div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;                {</div>
-<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;                        GLM_FUNC_QUALIFIER GLM_CONSTEXPR <span class="keyword">static</span> vec&lt;L, T, Q&gt; call(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; a, vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; b)</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;                        GLM_FUNC_QUALIFIER constexpr <span class="keyword">static</span> vec&lt;L, T, Q&gt; call(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; a, vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; b)</div>
 <div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;                        {</div>
 <div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;                                vec&lt;L, T, Q&gt; v(a);</div>
 <div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;                                <span class="keywordflow">for</span> (length_t i = 0; i &lt; L; ++i)</div>
@@ -192,7 +192,7 @@ $(function() {
 <div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;                <span class="keyword">template</span>&lt;length_t L, <span class="keyword">typename</span> T, qualifier Q, <span class="keywordtype">int</span> IsInt, std::<span class="keywordtype">size_t</span> Size&gt;</div>
 <div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;                <span class="keyword">struct </span>compute_vec_xor&lt;L, T, Q, IsInt, Size, false&gt;</div>
 <div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;                {</div>
-<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;                        GLM_FUNC_QUALIFIER GLM_CONSTEXPR <span class="keyword">static</span> vec&lt;L, T, Q&gt; call(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; a, vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; b)</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;                        GLM_FUNC_QUALIFIER constexpr <span class="keyword">static</span> vec&lt;L, T, Q&gt; call(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; a, vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; b)</div>
 <div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;                        {</div>
 <div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;                                vec&lt;L, T, Q&gt; v(a);</div>
 <div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;                                <span class="keywordflow">for</span> (length_t i = 0; i &lt; L; ++i)</div>
@@ -204,7 +204,7 @@ $(function() {
 <div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;                <span class="keyword">template</span>&lt;length_t L, <span class="keyword">typename</span> T, qualifier Q, <span class="keywordtype">int</span> IsInt, std::<span class="keywordtype">size_t</span> Size&gt;</div>
 <div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;                <span class="keyword">struct </span>compute_vec_shift_left&lt;L, T, Q, IsInt, Size, false&gt;</div>
 <div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;                {</div>
-<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;                        GLM_FUNC_QUALIFIER GLM_CONSTEXPR <span class="keyword">static</span> vec&lt;L, T, Q&gt; call(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; a, vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; b)</div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;                        GLM_FUNC_QUALIFIER constexpr <span class="keyword">static</span> vec&lt;L, T, Q&gt; call(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; a, vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; b)</div>
 <div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;                        {</div>
 <div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;                                vec&lt;L, T, Q&gt; v(a);</div>
 <div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;                                <span class="keywordflow">for</span> (length_t i = 0; i &lt; L; ++i)</div>
@@ -216,7 +216,7 @@ $(function() {
 <div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;                <span class="keyword">template</span>&lt;length_t L, <span class="keyword">typename</span> T, qualifier Q, <span class="keywordtype">int</span> IsInt, std::<span class="keywordtype">size_t</span> Size&gt;</div>
 <div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;                <span class="keyword">struct </span>compute_vec_shift_right&lt;L, T, Q, IsInt, Size, false&gt;</div>
 <div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;                {</div>
-<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;                        GLM_FUNC_QUALIFIER GLM_CONSTEXPR <span class="keyword">static</span> vec&lt;L, T, Q&gt; call(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; a, vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; b)</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;                        GLM_FUNC_QUALIFIER constexpr <span class="keyword">static</span> vec&lt;L, T, Q&gt; call(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; a, vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; b)</div>
 <div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;                        {</div>
 <div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;                                vec&lt;L, T, Q&gt; v(a);</div>
 <div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;                                <span class="keywordflow">for</span> (length_t i = 0; i &lt; L; ++i)</div>
@@ -228,7 +228,7 @@ $(function() {
 <div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;                <span class="keyword">template</span>&lt;length_t L, <span class="keyword">typename</span> T, qualifier Q, <span class="keywordtype">int</span> IsInt, std::<span class="keywordtype">size_t</span> Size&gt;</div>
 <div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;                <span class="keyword">struct </span>compute_vec_equal&lt;L, T, Q, IsInt, Size, false&gt;</div>
 <div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;                {</div>
-<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;                        GLM_FUNC_QUALIFIER GLM_CONSTEXPR <span class="keyword">static</span> <span class="keywordtype">bool</span> call(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; v2)</div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;                        GLM_FUNC_QUALIFIER constexpr <span class="keyword">static</span> <span class="keywordtype">bool</span> call(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; v2)</div>
 <div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;                        {</div>
 <div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;                                <span class="keywordtype">bool</span> b = <span class="keyword">true</span>;</div>
 <div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;                                <span class="keywordflow">for</span> (length_t i = 0; b &amp;&amp; i &lt; L; ++i)</div>
@@ -240,7 +240,7 @@ $(function() {
 <div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;                <span class="keyword">template</span>&lt;length_t L, <span class="keyword">typename</span> T, qualifier Q, <span class="keywordtype">int</span> IsInt, std::<span class="keywordtype">size_t</span> Size&gt;</div>
 <div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;                <span class="keyword">struct </span>compute_vec_nequal&lt;L, T, Q, IsInt, Size, false&gt;</div>
 <div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;                {</div>
-<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;                        GLM_FUNC_QUALIFIER GLM_CONSTEXPR <span class="keyword">static</span> <span class="keywordtype">bool</span> call(vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v2)</div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;                        GLM_FUNC_QUALIFIER constexpr <span class="keyword">static</span> <span class="keywordtype">bool</span> call(vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v2)</div>
 <div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;                        {</div>
 <div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;                                <span class="keywordflow">return</span> !compute_vec_equal&lt;L, T, Q, detail::is_int&lt;T&gt;::value, <span class="keyword">sizeof</span>(T) * 8, detail::is_aligned&lt;Q&gt;::value&gt;::call(v1, v2);</div>
 <div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;                        }</div>
@@ -249,7 +249,7 @@ $(function() {
 <div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;                <span class="keyword">template</span>&lt;length_t L, <span class="keyword">typename</span> T, qualifier Q, <span class="keywordtype">int</span> IsInt, std::<span class="keywordtype">size_t</span> Size&gt;</div>
 <div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;                <span class="keyword">struct </span>compute_vec_bitwise_not&lt;L, T, Q, IsInt, Size, false&gt;</div>
 <div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;                {</div>
-<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;                        GLM_FUNC_QUALIFIER GLM_CONSTEXPR <span class="keyword">static</span> vec&lt;L, T, Q&gt; call(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; a)</div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;                        GLM_FUNC_QUALIFIER constexpr <span class="keyword">static</span> vec&lt;L, T, Q&gt; call(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; a)</div>
 <div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;                        {</div>
 <div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;                                vec&lt;L, T, Q&gt; v(a);</div>
 <div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;                                <span class="keywordflow">for</span> (length_t i = 0; i &lt; L; ++i)</div>

+ 2 - 2
doc/api/a00029_source.html

@@ -82,7 +82,7 @@ $(function() {
 <div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keywordtype">bool</span> isFloat&gt;</div>
 <div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;        <span class="keyword">struct </span>compute_equal</div>
 <div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;        {</div>
-<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;                GLM_FUNC_QUALIFIER GLM_CONSTEXPR <span class="keyword">static</span> <span class="keywordtype">bool</span> call(T a, T b)</div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;                GLM_FUNC_QUALIFIER constexpr <span class="keyword">static</span> <span class="keywordtype">bool</span> call(T a, T b)</div>
 <div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;                {</div>
 <div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;                        <span class="keywordflow">return</span> a == b;</div>
 <div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;                }</div>
@@ -91,7 +91,7 @@ $(function() {
 <div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment">        template &lt;typename T&gt;</span></div>
 <div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment">        struct compute_equal&lt;T, true&gt;</span></div>
 <div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment">        {</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment">                GLM_FUNC_QUALIFIER GLM_CONSTEXPR static bool call(T a, T b)</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment">                GLM_FUNC_QUALIFIER constexpr static bool call(T a, T b)</span></div>
 <div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment">                {</span></div>
 <div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment">                        return detail::compute_abs&lt;T, std::numeric_limits&lt;T&gt;::is_signed&gt;::call(b - a) &lt;= static_cast&lt;T&gt;(0);</span></div>
 <div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="comment">                        //return std::memcmp(&amp;a, &amp;b, sizeof(T)) == 0;</span></div>

+ 5 - 5
doc/api/a00032_source.html

@@ -249,10 +249,10 @@ $(function() {
 <div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;                <span class="keyword">struct </span>type</div>
 <div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;                {</div>
 <div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;                        glm_f64vec2 data[2];</div>
-<div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;                        GLM_CONSTEXPR glm_f64vec2 getv(<span class="keywordtype">int</span> i)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;                        constexpr glm_f64vec2 getv(<span class="keywordtype">int</span> i)<span class="keyword"> const </span>{</div>
 <div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;                                <span class="keywordflow">return</span> data[i];</div>
 <div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;                        }</div>
-<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;                        GLM_CONSTEXPR <span class="keywordtype">void</span> setv(<span class="keywordtype">int</span> i, <span class="keyword">const</span> glm_f64vec2&amp; v) {</div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;                        constexpr <span class="keywordtype">void</span> setv(<span class="keywordtype">int</span> i, <span class="keyword">const</span> glm_f64vec2&amp; v) {</div>
 <div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;                                data[i] = v;</div>
 <div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;                        }</div>
 <div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;                };</div>
@@ -348,7 +348,7 @@ $(function() {
 <div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> genType&gt;</div>
 <div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;        <span class="keyword">struct </span>init_gentype&lt;genType, GENTYPE_QUAT&gt;</div>
 <div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;        {</div>
-<div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;                GLM_FUNC_QUALIFIER GLM_CONSTEXPR <span class="keyword">static</span> genType <a class="code" href="a00837.html#ga81696f2b8d1db02ea1aff8da8f269314">identity</a>()</div>
+<div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;                GLM_FUNC_QUALIFIER constexpr <span class="keyword">static</span> genType <a class="code" href="a00837.html#ga81696f2b8d1db02ea1aff8da8f269314">identity</a>()</div>
 <div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;                {</div>
 <div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;                        <span class="keywordflow">return</span> genType(1, 0, 0, 0);</div>
 <div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;                }</div>
@@ -357,7 +357,7 @@ $(function() {
 <div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> genType&gt;</div>
 <div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;        <span class="keyword">struct </span>init_gentype&lt;genType, GENTYPE_MAT&gt;</div>
 <div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;        {</div>
-<div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;                GLM_FUNC_QUALIFIER GLM_CONSTEXPR <span class="keyword">static</span> genType <a class="code" href="a00837.html#ga81696f2b8d1db02ea1aff8da8f269314">identity</a>()</div>
+<div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;                GLM_FUNC_QUALIFIER constexpr <span class="keyword">static</span> genType <a class="code" href="a00837.html#ga81696f2b8d1db02ea1aff8da8f269314">identity</a>()</div>
 <div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;                {</div>
 <div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;                        <span class="keywordflow">return</span> genType(1);</div>
 <div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;                }</div>
@@ -366,7 +366,7 @@ $(function() {
 <div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;}<span class="comment">//namespace glm</span></div>
 </div><!-- fragment --></div><!-- contents -->
 <div class="ttc" id="aa00873_html_gab630f76c26b50298187f7889104d4b9c"><div class="ttname"><a href="a00873.html#gab630f76c26b50298187f7889104d4b9c">glm::uint64</a></div><div class="ttdeci">detail::uint64 uint64</div><div class="ttdoc">64 bit unsigned integer type.</div><div class="ttdef"><b>Definition:</b> <a href="a00377_source.html#l00067">scalar_uint_sized.hpp:67</a></div></div>
-<div class="ttc" id="aa00837_html_ga81696f2b8d1db02ea1aff8da8f269314"><div class="ttname"><a href="a00837.html#ga81696f2b8d1db02ea1aff8da8f269314">glm::identity</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType identity()</div><div class="ttdoc">Builds an identity matrix.</div></div>
+<div class="ttc" id="aa00837_html_ga81696f2b8d1db02ea1aff8da8f269314"><div class="ttname"><a href="a00837.html#ga81696f2b8d1db02ea1aff8da8f269314">glm::identity</a></div><div class="ttdeci">GLM_FUNC_DECL constexpr genType identity()</div><div class="ttdoc">Builds an identity matrix.</div></div>
 <div class="ttc" id="aa00868_html_gaff5189f97f9e842d9636a0f240001b2e"><div class="ttname"><a href="a00868.html#gaff5189f97f9e842d9636a0f240001b2e">glm::int64</a></div><div class="ttdeci">detail::int64 int64</div><div class="ttdoc">64 bit signed integer type.</div><div class="ttdef"><b>Definition:</b> <a href="a00362_source.html#l00067">scalar_int_sized.hpp:67</a></div></div>
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>

+ 6 - 6
doc/api/a00035_source.html

@@ -373,9 +373,9 @@ $(function() {
 <div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;<span class="preprocessor">#endif</span></div>
 <div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160; </div>
 <div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;<span class="preprocessor">#if GLM_HAS_CONSTEXPR</span></div>
-<div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;<span class="preprocessor">#       define GLM_CONSTEXPR constexpr</span></div>
+<div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;<span class="preprocessor">#       define constexpr constexpr</span></div>
 <div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;<span class="preprocessor">#else</span></div>
-<div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;<span class="preprocessor">#       define GLM_CONSTEXPR</span></div>
+<div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;<span class="preprocessor">#       define constexpr</span></div>
 <div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;<span class="preprocessor">#endif</span></div>
 <div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160; </div>
 <div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;<span class="comment">//</span></div>
@@ -501,11 +501,11 @@ $(function() {
 <div class="line"><a name="l00438"></a><span class="lineno">  438</span>&#160;<span class="comment">// Static assert</span></div>
 <div class="line"><a name="l00439"></a><span class="lineno">  439</span>&#160; </div>
 <div class="line"><a name="l00440"></a><span class="lineno">  440</span>&#160;<span class="preprocessor">#if GLM_HAS_STATIC_ASSERT</span></div>
-<div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160;<span class="preprocessor">#       define GLM_STATIC_ASSERT(x, message) static_assert(x, message)</span></div>
+<div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160;<span class="preprocessor">#       define static_assert(x, message) static_assert(x, message)</span></div>
 <div class="line"><a name="l00442"></a><span class="lineno">  442</span>&#160;<span class="preprocessor">#elif GLM_COMPILER &amp; GLM_COMPILER_VC</span></div>
-<div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160;<span class="preprocessor">#       define GLM_STATIC_ASSERT(x, message) typedef char __CASSERT__##__LINE__[(x) ? 1 : -1]</span></div>
+<div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160;<span class="preprocessor">#       define static_assert(x, message) typedef char __CASSERT__##__LINE__[(x) ? 1 : -1]</span></div>
 <div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160;<span class="preprocessor">#else</span></div>
-<div class="line"><a name="l00445"></a><span class="lineno">  445</span>&#160;<span class="preprocessor">#       define GLM_STATIC_ASSERT(x, message) assert(x)</span></div>
+<div class="line"><a name="l00445"></a><span class="lineno">  445</span>&#160;<span class="preprocessor">#       define static_assert(x, message) assert(x)</span></div>
 <div class="line"><a name="l00446"></a><span class="lineno">  446</span>&#160;<span class="preprocessor">#endif//GLM_LANG</span></div>
 <div class="line"><a name="l00447"></a><span class="lineno">  447</span>&#160; </div>
 <div class="line"><a name="l00449"></a><span class="lineno">  449</span>&#160;<span class="comment">// Qualifiers</span></div>
@@ -551,7 +551,7 @@ $(function() {
 <div class="line"><a name="l00489"></a><span class="lineno">  489</span>&#160;<span class="preprocessor">#       define GLM_NEVER_INLINE</span></div>
 <div class="line"><a name="l00490"></a><span class="lineno">  490</span>&#160;<span class="preprocessor">#endif//defined(GLM_FORCE_INLINE)</span></div>
 <div class="line"><a name="l00491"></a><span class="lineno">  491</span>&#160; </div>
-<div class="line"><a name="l00492"></a><span class="lineno">  492</span>&#160;<span class="preprocessor">#define GLM_CTOR_DECL GLM_CUDA_FUNC_DECL GLM_CONSTEXPR</span></div>
+<div class="line"><a name="l00492"></a><span class="lineno">  492</span>&#160;<span class="preprocessor">#define GLM_CTOR_DECL GLM_CUDA_FUNC_DECL constexpr</span></div>
 <div class="line"><a name="l00493"></a><span class="lineno">  493</span>&#160;<span class="preprocessor">#define GLM_FUNC_DISCARD_DECL GLM_CUDA_FUNC_DECL</span></div>
 <div class="line"><a name="l00494"></a><span class="lineno">  494</span>&#160;<span class="preprocessor">#define GLM_FUNC_DECL GLM_NODISCARD GLM_CUDA_FUNC_DECL</span></div>
 <div class="line"><a name="l00495"></a><span class="lineno">  495</span>&#160;<span class="preprocessor">#define GLM_FUNC_QUALIFIER GLM_CUDA_FUNC_DEF GLM_INLINE</span></div>

+ 10 - 10
doc/api/a00038_source.html

@@ -93,18 +93,18 @@ $(function() {
 <div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;                <span class="keyword">typedef</span> <span class="keywordtype">int</span> int_type;</div>
 <div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;                <span class="keyword">typedef</span> <span class="keywordtype">float</span> float_type;</div>
 <div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160; </div>
-<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;                GLM_CONSTEXPR float_t(float_type Num = 0.0f) : f(Num) {}</div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;                constexpr float_t(float_type Num = 0.0f) : f(Num) {}</div>
 <div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160; </div>
-<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;                GLM_CONSTEXPR float_t&amp; operator=(float_t <span class="keyword">const</span>&amp; x)</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;                constexpr float_t&amp; operator=(float_t <span class="keyword">const</span>&amp; x)</div>
 <div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;                {</div>
 <div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;                        f = x.f;</div>
 <div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;                        <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
 <div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;                }</div>
 <div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160; </div>
 <div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;                <span class="comment">// Portable extraction of components.</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;                GLM_CONSTEXPR <span class="keywordtype">bool</span> negative()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> i &lt; 0; }</div>
-<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;                GLM_CONSTEXPR int_type mantissa()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> i &amp; ((1 &lt;&lt; 23) - 1); }</div>
-<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;                GLM_CONSTEXPR int_type exponent()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> (i &gt;&gt; 23) &amp; ((1 &lt;&lt; 8) - 1); }</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;                constexpr <span class="keywordtype">bool</span> negative()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> i &lt; 0; }</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;                constexpr int_type mantissa()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> i &amp; ((1 &lt;&lt; 23) - 1); }</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;                constexpr int_type exponent()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> (i &gt;&gt; 23) &amp; ((1 &lt;&lt; 8) - 1); }</div>
 <div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160; </div>
 <div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;                int_type i;</div>
 <div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;                float_type f;</div>
@@ -116,18 +116,18 @@ $(function() {
 <div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;                <span class="keyword">typedef</span> <a class="code" href="a00868.html#gaff5189f97f9e842d9636a0f240001b2e">detail::int64</a> int_type;</div>
 <div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;                <span class="keyword">typedef</span> <span class="keywordtype">double</span> float_type;</div>
 <div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160; </div>
-<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;                GLM_CONSTEXPR float_t(float_type Num = <span class="keyword">static_cast&lt;</span>float_type<span class="keyword">&gt;</span>(0)) : f(Num) {}</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;                constexpr float_t(float_type Num = <span class="keyword">static_cast&lt;</span>float_type<span class="keyword">&gt;</span>(0)) : f(Num) {}</div>
 <div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160; </div>
-<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;                GLM_CONSTEXPR float_t&amp; operator=(float_t <span class="keyword">const</span>&amp; x)</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;                constexpr float_t&amp; operator=(float_t <span class="keyword">const</span>&amp; x)</div>
 <div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;                {</div>
 <div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;                        f = x.f;</div>
 <div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;                        <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
 <div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;                }</div>
 <div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160; </div>
 <div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;                <span class="comment">// Portable extraction of components.</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;                GLM_CONSTEXPR <span class="keywordtype">bool</span> negative()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> i &lt; 0; }</div>
-<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;                GLM_CONSTEXPR int_type mantissa()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> i &amp; ((int_type(1) &lt;&lt; 52) - 1); }</div>
-<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;                GLM_CONSTEXPR int_type exponent()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> (i &gt;&gt; 52) &amp; ((int_type(1) &lt;&lt; 11) - 1); }</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;                constexpr <span class="keywordtype">bool</span> negative()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> i &lt; 0; }</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;                constexpr int_type mantissa()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> i &amp; ((int_type(1) &lt;&lt; 52) - 1); }</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;                constexpr int_type exponent()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> (i &gt;&gt; 52) &amp; ((int_type(1) &lt;&lt; 11) - 1); }</div>
 <div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160; </div>
 <div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;                int_type i;</div>
 <div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;                float_type f;</div>

+ 39 - 39
doc/api/a00044_source.html

@@ -95,14 +95,14 @@ $(function() {
 <div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;                <span class="comment">// -- Accesses --</span></div>
 <div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160; </div>
 <div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;                <span class="keyword">typedef</span> length_t length_type;</div>
-<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;                GLM_FUNC_DECL <span class="keyword">static</span> GLM_CONSTEXPR length_type <a class="code" href="a00862.html#gab703732449be6c7199369b3f9a91ed38">length</a>() { <span class="keywordflow">return</span> 2; }</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;                GLM_FUNC_DECL <span class="keyword">static</span> constexpr length_type <a class="code" href="a00862.html#gab703732449be6c7199369b3f9a91ed38">length</a>() { <span class="keywordflow">return</span> 2; }</div>
 <div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160; </div>
-<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;                GLM_FUNC_DECL GLM_CONSTEXPR col_type &amp; operator[](length_type i) GLM_NOEXCEPT;</div>
-<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;                GLM_FUNC_DECL GLM_CONSTEXPR col_type <span class="keyword">const</span>&amp; operator[](length_type i) <span class="keyword">const</span> GLM_NOEXCEPT;</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;                GLM_FUNC_DECL constexpr col_type &amp; operator[](length_type i) GLM_NOEXCEPT;</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;                GLM_FUNC_DECL constexpr col_type <span class="keyword">const</span>&amp; operator[](length_type i) <span class="keyword">const</span> GLM_NOEXCEPT;</div>
 <div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160; </div>
 <div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;                <span class="comment">// -- Constructors --</span></div>
 <div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160; </div>
-<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;                GLM_DEFAULTED_DEFAULT_CTOR_DECL GLM_CONSTEXPR mat() GLM_DEFAULT_CTOR;</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;                GLM_DEFAULTED_DEFAULT_CTOR_DECL constexpr mat() GLM_DEFAULT_CTOR;</div>
 <div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;                template&lt;qualifier P&gt;</div>
 <div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;                GLM_CTOR_DECL mat(mat&lt;2, 2, T, P&gt; const&amp; m);</div>
 <div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160; </div>
@@ -143,103 +143,103 @@ $(function() {
 <div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;                <span class="comment">// -- Unary arithmetic operators --</span></div>
 <div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160; </div>
 <div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;                template&lt;typename U&gt;</div>
-<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat&lt;2, 2, T, Q&gt; &amp; operator=(mat&lt;2, 2, U, Q&gt; const&amp; m);</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr mat&lt;2, 2, T, Q&gt; &amp; operator=(mat&lt;2, 2, U, Q&gt; const&amp; m);</div>
 <div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;                template&lt;typename U&gt;</div>
-<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat&lt;2, 2, T, Q&gt; &amp; operator+=(U s);</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr mat&lt;2, 2, T, Q&gt; &amp; operator+=(U s);</div>
 <div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;                template&lt;typename U&gt;</div>
-<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat&lt;2, 2, T, Q&gt; &amp; operator+=(mat&lt;2, 2, U, Q&gt; const&amp; m);</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr mat&lt;2, 2, T, Q&gt; &amp; operator+=(mat&lt;2, 2, U, Q&gt; const&amp; m);</div>
 <div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;                template&lt;typename U&gt;</div>
-<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat&lt;2, 2, T, Q&gt; &amp; operator-=(U s);</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr mat&lt;2, 2, T, Q&gt; &amp; operator-=(U s);</div>
 <div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;                template&lt;typename U&gt;</div>
-<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat&lt;2, 2, T, Q&gt; &amp; operator-=(mat&lt;2, 2, U, Q&gt; const&amp; m);</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr mat&lt;2, 2, T, Q&gt; &amp; operator-=(mat&lt;2, 2, U, Q&gt; const&amp; m);</div>
 <div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;                template&lt;typename U&gt;</div>
-<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat&lt;2, 2, T, Q&gt; &amp; operator*=(U s);</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr mat&lt;2, 2, T, Q&gt; &amp; operator*=(U s);</div>
 <div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;                template&lt;typename U&gt;</div>
-<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat&lt;2, 2, T, Q&gt; &amp; operator*=(mat&lt;2, 2, U, Q&gt; const&amp; m);</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr mat&lt;2, 2, T, Q&gt; &amp; operator*=(mat&lt;2, 2, U, Q&gt; const&amp; m);</div>
 <div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;                template&lt;typename U&gt;</div>
-<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat&lt;2, 2, T, Q&gt; &amp; operator/=(U s);</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr mat&lt;2, 2, T, Q&gt; &amp; operator/=(U s);</div>
 <div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;                template&lt;typename U&gt;</div>
-<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat&lt;2, 2, T, Q&gt; &amp; operator/=(mat&lt;2, 2, U, Q&gt; const&amp; m);</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr mat&lt;2, 2, T, Q&gt; &amp; operator/=(mat&lt;2, 2, U, Q&gt; const&amp; m);</div>
 <div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160; </div>
 <div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;                <span class="comment">// -- Increment and decrement operators --</span></div>
 <div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160; </div>
-<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat&lt;2, 2, T, Q&gt; &amp; operator++ ();</div>
-<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat&lt;2, 2, T, Q&gt; &amp; operator-- ();</div>
-<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;                GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;2, 2, T, Q&gt; operator++(<span class="keywordtype">int</span>);</div>
-<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;                GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;2, 2, T, Q&gt; operator--(<span class="keywordtype">int</span>);</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr mat&lt;2, 2, T, Q&gt; &amp; operator++ ();</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr mat&lt;2, 2, T, Q&gt; &amp; operator-- ();</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;                GLM_FUNC_DECL constexpr mat&lt;2, 2, T, Q&gt; operator++(<span class="keywordtype">int</span>);</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;                GLM_FUNC_DECL constexpr mat&lt;2, 2, T, Q&gt; operator--(<span class="keywordtype">int</span>);</div>
 <div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;        };</div>
 <div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160; </div>
 <div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;        <span class="comment">// -- Unary operators --</span></div>
 <div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160; </div>
 <div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;2, 2, T, Q&gt; operator+(mat&lt;2, 2, T, Q&gt; const&amp; m);</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;2, 2, T, Q&gt; operator+(mat&lt;2, 2, T, Q&gt; const&amp; m);</div>
 <div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160; </div>
 <div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;2, 2, T, Q&gt; operator-(mat&lt;2, 2, T, Q&gt; const&amp; m);</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;2, 2, T, Q&gt; operator-(mat&lt;2, 2, T, Q&gt; const&amp; m);</div>
 <div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160; </div>
 <div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;        <span class="comment">// -- Binary operators --</span></div>
 <div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160; </div>
 <div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;2, 2, T, Q&gt; operator+(mat&lt;2, 2, T, Q&gt; const&amp; m, T scalar);</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;2, 2, T, Q&gt; operator+(mat&lt;2, 2, T, Q&gt; const&amp; m, T scalar);</div>
 <div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160; </div>
 <div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;2, 2, T, Q&gt; operator+(T scalar, mat&lt;2, 2, T, Q&gt; const&amp; m);</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;2, 2, T, Q&gt; operator+(T scalar, mat&lt;2, 2, T, Q&gt; const&amp; m);</div>
 <div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160; </div>
 <div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;2, 2, T, Q&gt; operator+(mat&lt;2, 2, T, Q&gt; const&amp; m1, mat&lt;2, 2, T, Q&gt; const&amp; m2);</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;2, 2, T, Q&gt; operator+(mat&lt;2, 2, T, Q&gt; const&amp; m1, mat&lt;2, 2, T, Q&gt; const&amp; m2);</div>
 <div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160; </div>
 <div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;2, 2, T, Q&gt; operator-(mat&lt;2, 2, T, Q&gt; const&amp; m, T scalar);</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;2, 2, T, Q&gt; operator-(mat&lt;2, 2, T, Q&gt; const&amp; m, T scalar);</div>
 <div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160; </div>
 <div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;2, 2, T, Q&gt; operator-(T scalar, mat&lt;2, 2, T, Q&gt; const&amp; m);</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;2, 2, T, Q&gt; operator-(T scalar, mat&lt;2, 2, T, Q&gt; const&amp; m);</div>
 <div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160; </div>
 <div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;2, 2, T, Q&gt; operator-(mat&lt;2, 2, T, Q&gt; const&amp; m1, mat&lt;2, 2, T, Q&gt; const&amp; m2);</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;2, 2, T, Q&gt; operator-(mat&lt;2, 2, T, Q&gt; const&amp; m1, mat&lt;2, 2, T, Q&gt; const&amp; m2);</div>
 <div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160; </div>
 <div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;2, 2, T, Q&gt; operator*(mat&lt;2, 2, T, Q&gt; const&amp; m, T scalar);</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;2, 2, T, Q&gt; operator*(mat&lt;2, 2, T, Q&gt; const&amp; m, T scalar);</div>
 <div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160; </div>
 <div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;2, 2, T, Q&gt; operator*(T scalar, mat&lt;2, 2, T, Q&gt; const&amp; m);</div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;2, 2, T, Q&gt; operator*(T scalar, mat&lt;2, 2, T, Q&gt; const&amp; m);</div>
 <div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160; </div>
 <div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR typename mat&lt;2, 2, T, Q&gt;::col_type operator*(mat&lt;2, 2, T, Q&gt; const&amp; m, typename mat&lt;2, 2, T, Q&gt;::row_type const&amp; v);</div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;        GLM_FUNC_DECL constexpr typename mat&lt;2, 2, T, Q&gt;::col_type operator*(mat&lt;2, 2, T, Q&gt; const&amp; m, typename mat&lt;2, 2, T, Q&gt;::row_type const&amp; v);</div>
 <div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160; </div>
 <div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR typename mat&lt;2, 2, T, Q&gt;::row_type operator*(typename mat&lt;2, 2, T, Q&gt;::col_type const&amp; v, mat&lt;2, 2, T, Q&gt; const&amp; m);</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;        GLM_FUNC_DECL constexpr typename mat&lt;2, 2, T, Q&gt;::row_type operator*(typename mat&lt;2, 2, T, Q&gt;::col_type const&amp; v, mat&lt;2, 2, T, Q&gt; const&amp; m);</div>
 <div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160; </div>
 <div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;2, 2, T, Q&gt; operator*(mat&lt;2, 2, T, Q&gt; const&amp; m1, mat&lt;2, 2, T, Q&gt; const&amp; m2);</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;2, 2, T, Q&gt; operator*(mat&lt;2, 2, T, Q&gt; const&amp; m1, mat&lt;2, 2, T, Q&gt; const&amp; m2);</div>
 <div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160; </div>
 <div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;3, 2, T, Q&gt; operator*(mat&lt;2, 2, T, Q&gt; const&amp; m1, mat&lt;3, 2, T, Q&gt; const&amp; m2);</div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;3, 2, T, Q&gt; operator*(mat&lt;2, 2, T, Q&gt; const&amp; m1, mat&lt;3, 2, T, Q&gt; const&amp; m2);</div>
 <div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160; </div>
 <div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;4, 2, T, Q&gt; operator*(mat&lt;2, 2, T, Q&gt; const&amp; m1, mat&lt;4, 2, T, Q&gt; const&amp; m2);</div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;4, 2, T, Q&gt; operator*(mat&lt;2, 2, T, Q&gt; const&amp; m1, mat&lt;4, 2, T, Q&gt; const&amp; m2);</div>
 <div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160; </div>
 <div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;2, 2, T, Q&gt; operator/(mat&lt;2, 2, T, Q&gt; const&amp; m, T scalar);</div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;2, 2, T, Q&gt; operator/(mat&lt;2, 2, T, Q&gt; const&amp; m, T scalar);</div>
 <div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160; </div>
 <div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;2, 2, T, Q&gt; operator/(T scalar, mat&lt;2, 2, T, Q&gt; const&amp; m);</div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;2, 2, T, Q&gt; operator/(T scalar, mat&lt;2, 2, T, Q&gt; const&amp; m);</div>
 <div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160; </div>
 <div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR typename mat&lt;2, 2, T, Q&gt;::col_type operator/(mat&lt;2, 2, T, Q&gt; const&amp; m, typename mat&lt;2, 2, T, Q&gt;::row_type const&amp; v);</div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;        GLM_FUNC_DECL constexpr typename mat&lt;2, 2, T, Q&gt;::col_type operator/(mat&lt;2, 2, T, Q&gt; const&amp; m, typename mat&lt;2, 2, T, Q&gt;::row_type const&amp; v);</div>
 <div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160; </div>
 <div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR typename mat&lt;2, 2, T, Q&gt;::row_type operator/(typename mat&lt;2, 2, T, Q&gt;::col_type const&amp; v, mat&lt;2, 2, T, Q&gt; const&amp; m);</div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;        GLM_FUNC_DECL constexpr typename mat&lt;2, 2, T, Q&gt;::row_type operator/(typename mat&lt;2, 2, T, Q&gt;::col_type const&amp; v, mat&lt;2, 2, T, Q&gt; const&amp; m);</div>
 <div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160; </div>
 <div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;2, 2, T, Q&gt; operator/(mat&lt;2, 2, T, Q&gt; const&amp; m1, mat&lt;2, 2, T, Q&gt; const&amp; m2);</div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;2, 2, T, Q&gt; operator/(mat&lt;2, 2, T, Q&gt; const&amp; m1, mat&lt;2, 2, T, Q&gt; const&amp; m2);</div>
 <div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160; </div>
 <div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;        <span class="comment">// -- Boolean operators --</span></div>
 <div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160; </div>
 <div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR <span class="keywordtype">bool</span> operator==(mat&lt;2, 2, T, Q&gt; const&amp; m1, mat&lt;2, 2, T, Q&gt; const&amp; m2);</div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;        GLM_FUNC_DECL constexpr <span class="keywordtype">bool</span> operator==(mat&lt;2, 2, T, Q&gt; const&amp; m1, mat&lt;2, 2, T, Q&gt; const&amp; m2);</div>
 <div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160; </div>
 <div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR <span class="keywordtype">bool</span> operator!=(mat&lt;2, 2, T, Q&gt; const&amp; m1, mat&lt;2, 2, T, Q&gt; const&amp; m2);</div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;        GLM_FUNC_DECL constexpr <span class="keywordtype">bool</span> operator!=(mat&lt;2, 2, T, Q&gt; const&amp; m1, mat&lt;2, 2, T, Q&gt; const&amp; m2);</div>
 <div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;} <span class="comment">//namespace glm</span></div>
 <div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160; </div>
 <div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;<span class="preprocessor">#ifndef GLM_EXTERNAL_TEMPLATE</span></div>

+ 32 - 32
doc/api/a00047_source.html

@@ -96,14 +96,14 @@ $(function() {
 <div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;                <span class="comment">// -- Accesses --</span></div>
 <div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160; </div>
 <div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;                <span class="keyword">typedef</span> length_t length_type;</div>
-<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;                GLM_FUNC_DECL <span class="keyword">static</span> GLM_CONSTEXPR length_type <a class="code" href="a00862.html#gab703732449be6c7199369b3f9a91ed38">length</a>() { <span class="keywordflow">return</span> 2; }</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;                GLM_FUNC_DECL <span class="keyword">static</span> constexpr length_type <a class="code" href="a00862.html#gab703732449be6c7199369b3f9a91ed38">length</a>() { <span class="keywordflow">return</span> 2; }</div>
 <div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160; </div>
-<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;                GLM_FUNC_DECL GLM_CONSTEXPR col_type &amp; operator[](length_type i) GLM_NOEXCEPT;</div>
-<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;                GLM_FUNC_DECL GLM_CONSTEXPR col_type <span class="keyword">const</span>&amp; operator[](length_type i) <span class="keyword">const</span> GLM_NOEXCEPT;</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;                GLM_FUNC_DECL constexpr col_type &amp; operator[](length_type i) GLM_NOEXCEPT;</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;                GLM_FUNC_DECL constexpr col_type <span class="keyword">const</span>&amp; operator[](length_type i) <span class="keyword">const</span> GLM_NOEXCEPT;</div>
 <div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160; </div>
 <div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;                <span class="comment">// -- Constructors --</span></div>
 <div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160; </div>
-<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;                GLM_DEFAULTED_DEFAULT_CTOR_DECL GLM_CONSTEXPR mat() GLM_DEFAULT_CTOR;</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;                GLM_DEFAULTED_DEFAULT_CTOR_DECL constexpr mat() GLM_DEFAULT_CTOR;</div>
 <div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;                template&lt;qualifier P&gt;</div>
 <div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;                GLM_CTOR_DECL mat(mat&lt;2, 3, T, P&gt; const&amp; m);</div>
 <div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160; </div>
@@ -144,84 +144,84 @@ $(function() {
 <div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;                <span class="comment">// -- Unary arithmetic operators --</span></div>
 <div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160; </div>
 <div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;                template&lt;typename U&gt;</div>
-<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat&lt;2, 3, T, Q&gt; &amp; operator=(mat&lt;2, 3, U, Q&gt; const&amp; m);</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr mat&lt;2, 3, T, Q&gt; &amp; operator=(mat&lt;2, 3, U, Q&gt; const&amp; m);</div>
 <div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;                template&lt;typename U&gt;</div>
-<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat&lt;2, 3, T, Q&gt; &amp; operator+=(U s);</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr mat&lt;2, 3, T, Q&gt; &amp; operator+=(U s);</div>
 <div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;                template&lt;typename U&gt;</div>
-<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat&lt;2, 3, T, Q&gt; &amp; operator+=(mat&lt;2, 3, U, Q&gt; const&amp; m);</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr mat&lt;2, 3, T, Q&gt; &amp; operator+=(mat&lt;2, 3, U, Q&gt; const&amp; m);</div>
 <div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;                template&lt;typename U&gt;</div>
-<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat&lt;2, 3, T, Q&gt; &amp; operator-=(U s);</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr mat&lt;2, 3, T, Q&gt; &amp; operator-=(U s);</div>
 <div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;                template&lt;typename U&gt;</div>
-<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat&lt;2, 3, T, Q&gt; &amp; operator-=(mat&lt;2, 3, U, Q&gt; const&amp; m);</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr mat&lt;2, 3, T, Q&gt; &amp; operator-=(mat&lt;2, 3, U, Q&gt; const&amp; m);</div>
 <div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;                template&lt;typename U&gt;</div>
-<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat&lt;2, 3, T, Q&gt; &amp; operator*=(U s);</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr mat&lt;2, 3, T, Q&gt; &amp; operator*=(U s);</div>
 <div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;                template&lt;typename U&gt;</div>
-<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat&lt;2, 3, T, Q&gt; &amp; operator/=(U s);</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr mat&lt;2, 3, T, Q&gt; &amp; operator/=(U s);</div>
 <div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160; </div>
 <div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;                <span class="comment">// -- Increment and decrement operators --</span></div>
 <div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160; </div>
-<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat&lt;2, 3, T, Q&gt; &amp; operator++ ();</div>
-<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat&lt;2, 3, T, Q&gt; &amp; operator-- ();</div>
-<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;                GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;2, 3, T, Q&gt; operator++(<span class="keywordtype">int</span>);</div>
-<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;                GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;2, 3, T, Q&gt; operator--(<span class="keywordtype">int</span>);</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr mat&lt;2, 3, T, Q&gt; &amp; operator++ ();</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr mat&lt;2, 3, T, Q&gt; &amp; operator-- ();</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;                GLM_FUNC_DECL constexpr mat&lt;2, 3, T, Q&gt; operator++(<span class="keywordtype">int</span>);</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;                GLM_FUNC_DECL constexpr mat&lt;2, 3, T, Q&gt; operator--(<span class="keywordtype">int</span>);</div>
 <div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;        };</div>
 <div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160; </div>
 <div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;        <span class="comment">// -- Unary operators --</span></div>
 <div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160; </div>
 <div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;2, 3, T, Q&gt; operator+(mat&lt;2, 3, T, Q&gt; const&amp; m);</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;2, 3, T, Q&gt; operator+(mat&lt;2, 3, T, Q&gt; const&amp; m);</div>
 <div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160; </div>
 <div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;2, 3, T, Q&gt; operator-(mat&lt;2, 3, T, Q&gt; const&amp; m);</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;2, 3, T, Q&gt; operator-(mat&lt;2, 3, T, Q&gt; const&amp; m);</div>
 <div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160; </div>
 <div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;        <span class="comment">// -- Binary operators --</span></div>
 <div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160; </div>
 <div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;2, 3, T, Q&gt; operator+(mat&lt;2, 3, T, Q&gt; const&amp; m, T scalar);</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;2, 3, T, Q&gt; operator+(mat&lt;2, 3, T, Q&gt; const&amp; m, T scalar);</div>
 <div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160; </div>
 <div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;2, 3, T, Q&gt; operator+(mat&lt;2, 3, T, Q&gt; const&amp; m1, mat&lt;2, 3, T, Q&gt; const&amp; m2);</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;2, 3, T, Q&gt; operator+(mat&lt;2, 3, T, Q&gt; const&amp; m1, mat&lt;2, 3, T, Q&gt; const&amp; m2);</div>
 <div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160; </div>
 <div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;2, 3, T, Q&gt; operator-(mat&lt;2, 3, T, Q&gt; const&amp; m, T scalar);</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;2, 3, T, Q&gt; operator-(mat&lt;2, 3, T, Q&gt; const&amp; m, T scalar);</div>
 <div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160; </div>
 <div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;2, 3, T, Q&gt; operator-(mat&lt;2, 3, T, Q&gt; const&amp; m1, mat&lt;2, 3, T, Q&gt; const&amp; m2);</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;2, 3, T, Q&gt; operator-(mat&lt;2, 3, T, Q&gt; const&amp; m1, mat&lt;2, 3, T, Q&gt; const&amp; m2);</div>
 <div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160; </div>
 <div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;2, 3, T, Q&gt; operator*(mat&lt;2, 3, T, Q&gt; const&amp; m, T scalar);</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;2, 3, T, Q&gt; operator*(mat&lt;2, 3, T, Q&gt; const&amp; m, T scalar);</div>
 <div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160; </div>
 <div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;2, 3, T, Q&gt; operator*(T scalar, mat&lt;2, 3, T, Q&gt; const&amp; m);</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;2, 3, T, Q&gt; operator*(T scalar, mat&lt;2, 3, T, Q&gt; const&amp; m);</div>
 <div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160; </div>
 <div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR typename mat&lt;2, 3, T, Q&gt;::col_type operator*(mat&lt;2, 3, T, Q&gt; const&amp; m, typename mat&lt;2, 3, T, Q&gt;::row_type const&amp; v);</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;        GLM_FUNC_DECL constexpr typename mat&lt;2, 3, T, Q&gt;::col_type operator*(mat&lt;2, 3, T, Q&gt; const&amp; m, typename mat&lt;2, 3, T, Q&gt;::row_type const&amp; v);</div>
 <div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160; </div>
 <div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR typename mat&lt;2, 3, T, Q&gt;::row_type operator*(typename mat&lt;2, 3, T, Q&gt;::col_type const&amp; v, mat&lt;2, 3, T, Q&gt; const&amp; m);</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;        GLM_FUNC_DECL constexpr typename mat&lt;2, 3, T, Q&gt;::row_type operator*(typename mat&lt;2, 3, T, Q&gt;::col_type const&amp; v, mat&lt;2, 3, T, Q&gt; const&amp; m);</div>
 <div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160; </div>
 <div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;2, 3, T, Q&gt; operator*(mat&lt;2, 3, T, Q&gt; const&amp; m1, mat&lt;2, 2, T, Q&gt; const&amp; m2);</div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;2, 3, T, Q&gt; operator*(mat&lt;2, 3, T, Q&gt; const&amp; m1, mat&lt;2, 2, T, Q&gt; const&amp; m2);</div>
 <div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160; </div>
 <div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;3, 3, T, Q&gt; operator*(mat&lt;2, 3, T, Q&gt; const&amp; m1, mat&lt;3, 2, T, Q&gt; const&amp; m2);</div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;3, 3, T, Q&gt; operator*(mat&lt;2, 3, T, Q&gt; const&amp; m1, mat&lt;3, 2, T, Q&gt; const&amp; m2);</div>
 <div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160; </div>
 <div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;4, 3, T, Q&gt; operator*(mat&lt;2, 3, T, Q&gt; const&amp; m1, mat&lt;4, 2, T, Q&gt; const&amp; m2);</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;4, 3, T, Q&gt; operator*(mat&lt;2, 3, T, Q&gt; const&amp; m1, mat&lt;4, 2, T, Q&gt; const&amp; m2);</div>
 <div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160; </div>
 <div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;2, 3, T, Q&gt; operator/(mat&lt;2, 3, T, Q&gt; const&amp; m, T scalar);</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;2, 3, T, Q&gt; operator/(mat&lt;2, 3, T, Q&gt; const&amp; m, T scalar);</div>
 <div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160; </div>
 <div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;2, 3, T, Q&gt; operator/(T scalar, mat&lt;2, 3, T, Q&gt; const&amp; m);</div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;2, 3, T, Q&gt; operator/(T scalar, mat&lt;2, 3, T, Q&gt; const&amp; m);</div>
 <div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160; </div>
 <div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;        <span class="comment">// -- Boolean operators --</span></div>
 <div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160; </div>
 <div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR <span class="keywordtype">bool</span> operator==(mat&lt;2, 3, T, Q&gt; const&amp; m1, mat&lt;2, 3, T, Q&gt; const&amp; m2);</div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;        GLM_FUNC_DECL constexpr <span class="keywordtype">bool</span> operator==(mat&lt;2, 3, T, Q&gt; const&amp; m1, mat&lt;2, 3, T, Q&gt; const&amp; m2);</div>
 <div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160; </div>
 <div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR <span class="keywordtype">bool</span> operator!=(mat&lt;2, 3, T, Q&gt; const&amp; m1, mat&lt;2, 3, T, Q&gt; const&amp; m2);</div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;        GLM_FUNC_DECL constexpr <span class="keywordtype">bool</span> operator!=(mat&lt;2, 3, T, Q&gt; const&amp; m1, mat&lt;2, 3, T, Q&gt; const&amp; m2);</div>
 <div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;}<span class="comment">//namespace glm</span></div>
 <div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160; </div>
 <div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;<span class="preprocessor">#ifndef GLM_EXTERNAL_TEMPLATE</span></div>

+ 32 - 32
doc/api/a00050_source.html

@@ -96,14 +96,14 @@ $(function() {
 <div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;                <span class="comment">// -- Accesses --</span></div>
 <div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160; </div>
 <div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;                <span class="keyword">typedef</span> length_t length_type;</div>
-<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;                GLM_FUNC_DECL <span class="keyword">static</span> GLM_CONSTEXPR length_type <a class="code" href="a00862.html#gab703732449be6c7199369b3f9a91ed38">length</a>() { <span class="keywordflow">return</span> 2; }</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;                GLM_FUNC_DECL <span class="keyword">static</span> constexpr length_type <a class="code" href="a00862.html#gab703732449be6c7199369b3f9a91ed38">length</a>() { <span class="keywordflow">return</span> 2; }</div>
 <div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160; </div>
-<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;                GLM_FUNC_DECL GLM_CONSTEXPR col_type &amp; operator[](length_type i) GLM_NOEXCEPT;</div>
-<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;                GLM_FUNC_DECL GLM_CONSTEXPR col_type <span class="keyword">const</span>&amp; operator[](length_type i) <span class="keyword">const</span> GLM_NOEXCEPT;</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;                GLM_FUNC_DECL constexpr col_type &amp; operator[](length_type i) GLM_NOEXCEPT;</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;                GLM_FUNC_DECL constexpr col_type <span class="keyword">const</span>&amp; operator[](length_type i) <span class="keyword">const</span> GLM_NOEXCEPT;</div>
 <div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160; </div>
 <div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;                <span class="comment">// -- Constructors --</span></div>
 <div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160; </div>
-<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;                GLM_DEFAULTED_DEFAULT_CTOR_DECL GLM_CONSTEXPR mat() GLM_DEFAULT_CTOR;</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;                GLM_DEFAULTED_DEFAULT_CTOR_DECL constexpr mat() GLM_DEFAULT_CTOR;</div>
 <div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;                template&lt;qualifier P&gt;</div>
 <div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;                GLM_CTOR_DECL mat(mat&lt;2, 4, T, P&gt; const&amp; m);</div>
 <div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160; </div>
@@ -146,84 +146,84 @@ $(function() {
 <div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;                <span class="comment">// -- Unary arithmetic operators --</span></div>
 <div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160; </div>
 <div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;                template&lt;typename U&gt;</div>
-<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat&lt;2, 4, T, Q&gt; &amp; operator=(mat&lt;2, 4, U, Q&gt; const&amp; m);</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr mat&lt;2, 4, T, Q&gt; &amp; operator=(mat&lt;2, 4, U, Q&gt; const&amp; m);</div>
 <div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;                template&lt;typename U&gt;</div>
-<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat&lt;2, 4, T, Q&gt; &amp; operator+=(U s);</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr mat&lt;2, 4, T, Q&gt; &amp; operator+=(U s);</div>
 <div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;                template&lt;typename U&gt;</div>
-<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat&lt;2, 4, T, Q&gt; &amp; operator+=(mat&lt;2, 4, U, Q&gt; const&amp; m);</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr mat&lt;2, 4, T, Q&gt; &amp; operator+=(mat&lt;2, 4, U, Q&gt; const&amp; m);</div>
 <div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;                template&lt;typename U&gt;</div>
-<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat&lt;2, 4, T, Q&gt; &amp; operator-=(U s);</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr mat&lt;2, 4, T, Q&gt; &amp; operator-=(U s);</div>
 <div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;                template&lt;typename U&gt;</div>
-<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat&lt;2, 4, T, Q&gt; &amp; operator-=(mat&lt;2, 4, U, Q&gt; const&amp; m);</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr mat&lt;2, 4, T, Q&gt; &amp; operator-=(mat&lt;2, 4, U, Q&gt; const&amp; m);</div>
 <div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;                template&lt;typename U&gt;</div>
-<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat&lt;2, 4, T, Q&gt; &amp; operator*=(U s);</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr mat&lt;2, 4, T, Q&gt; &amp; operator*=(U s);</div>
 <div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;                template&lt;typename U&gt;</div>
-<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat&lt;2, 4, T, Q&gt; &amp; operator/=(U s);</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr mat&lt;2, 4, T, Q&gt; &amp; operator/=(U s);</div>
 <div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160; </div>
 <div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;                <span class="comment">// -- Increment and decrement operators --</span></div>
 <div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160; </div>
-<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat&lt;2, 4, T, Q&gt; &amp; operator++ ();</div>
-<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat&lt;2, 4, T, Q&gt; &amp; operator-- ();</div>
-<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;                GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;2, 4, T, Q&gt; operator++(<span class="keywordtype">int</span>);</div>
-<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;                GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;2, 4, T, Q&gt; operator--(<span class="keywordtype">int</span>);</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr mat&lt;2, 4, T, Q&gt; &amp; operator++ ();</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr mat&lt;2, 4, T, Q&gt; &amp; operator-- ();</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;                GLM_FUNC_DECL constexpr mat&lt;2, 4, T, Q&gt; operator++(<span class="keywordtype">int</span>);</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;                GLM_FUNC_DECL constexpr mat&lt;2, 4, T, Q&gt; operator--(<span class="keywordtype">int</span>);</div>
 <div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;        };</div>
 <div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160; </div>
 <div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;        <span class="comment">// -- Unary operators --</span></div>
 <div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160; </div>
 <div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;2, 4, T, Q&gt; operator+(mat&lt;2, 4, T, Q&gt; const&amp; m);</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;2, 4, T, Q&gt; operator+(mat&lt;2, 4, T, Q&gt; const&amp; m);</div>
 <div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160; </div>
 <div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;2, 4, T, Q&gt; operator-(mat&lt;2, 4, T, Q&gt; const&amp; m);</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;2, 4, T, Q&gt; operator-(mat&lt;2, 4, T, Q&gt; const&amp; m);</div>
 <div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160; </div>
 <div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;        <span class="comment">// -- Binary operators --</span></div>
 <div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160; </div>
 <div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;2, 4, T, Q&gt; operator+(mat&lt;2, 4, T, Q&gt; const&amp; m, T scalar);</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;2, 4, T, Q&gt; operator+(mat&lt;2, 4, T, Q&gt; const&amp; m, T scalar);</div>
 <div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160; </div>
 <div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;2, 4, T, Q&gt; operator+(mat&lt;2, 4, T, Q&gt; const&amp; m1, mat&lt;2, 4, T, Q&gt; const&amp; m2);</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;2, 4, T, Q&gt; operator+(mat&lt;2, 4, T, Q&gt; const&amp; m1, mat&lt;2, 4, T, Q&gt; const&amp; m2);</div>
 <div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160; </div>
 <div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;2, 4, T, Q&gt; operator-(mat&lt;2, 4, T, Q&gt; const&amp; m, T scalar);</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;2, 4, T, Q&gt; operator-(mat&lt;2, 4, T, Q&gt; const&amp; m, T scalar);</div>
 <div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160; </div>
 <div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;2, 4, T, Q&gt; operator-(mat&lt;2, 4, T, Q&gt; const&amp; m1, mat&lt;2, 4, T, Q&gt; const&amp; m2);</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;2, 4, T, Q&gt; operator-(mat&lt;2, 4, T, Q&gt; const&amp; m1, mat&lt;2, 4, T, Q&gt; const&amp; m2);</div>
 <div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160; </div>
 <div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;2, 4, T, Q&gt; operator*(mat&lt;2, 4, T, Q&gt; const&amp; m, T scalar);</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;2, 4, T, Q&gt; operator*(mat&lt;2, 4, T, Q&gt; const&amp; m, T scalar);</div>
 <div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160; </div>
 <div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;2, 4, T, Q&gt; operator*(T scalar, mat&lt;2, 4, T, Q&gt; const&amp; m);</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;2, 4, T, Q&gt; operator*(T scalar, mat&lt;2, 4, T, Q&gt; const&amp; m);</div>
 <div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160; </div>
 <div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR typename mat&lt;2, 4, T, Q&gt;::col_type operator*(mat&lt;2, 4, T, Q&gt; const&amp; m, typename mat&lt;2, 4, T, Q&gt;::row_type const&amp; v);</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;        GLM_FUNC_DECL constexpr typename mat&lt;2, 4, T, Q&gt;::col_type operator*(mat&lt;2, 4, T, Q&gt; const&amp; m, typename mat&lt;2, 4, T, Q&gt;::row_type const&amp; v);</div>
 <div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160; </div>
 <div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR typename mat&lt;2, 4, T, Q&gt;::row_type operator*(typename mat&lt;2, 4, T, Q&gt;::col_type const&amp; v, mat&lt;2, 4, T, Q&gt; const&amp; m);</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;        GLM_FUNC_DECL constexpr typename mat&lt;2, 4, T, Q&gt;::row_type operator*(typename mat&lt;2, 4, T, Q&gt;::col_type const&amp; v, mat&lt;2, 4, T, Q&gt; const&amp; m);</div>
 <div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160; </div>
 <div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;4, 4, T, Q&gt; operator*(mat&lt;2, 4, T, Q&gt; const&amp; m1, mat&lt;4, 2, T, Q&gt; const&amp; m2);</div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;4, 4, T, Q&gt; operator*(mat&lt;2, 4, T, Q&gt; const&amp; m1, mat&lt;4, 2, T, Q&gt; const&amp; m2);</div>
 <div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160; </div>
 <div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;2, 4, T, Q&gt; operator*(mat&lt;2, 4, T, Q&gt; const&amp; m1, mat&lt;2, 2, T, Q&gt; const&amp; m2);</div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;2, 4, T, Q&gt; operator*(mat&lt;2, 4, T, Q&gt; const&amp; m1, mat&lt;2, 2, T, Q&gt; const&amp; m2);</div>
 <div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160; </div>
 <div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;3, 4, T, Q&gt; operator*(mat&lt;2, 4, T, Q&gt; const&amp; m1, mat&lt;3, 2, T, Q&gt; const&amp; m2);</div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;3, 4, T, Q&gt; operator*(mat&lt;2, 4, T, Q&gt; const&amp; m1, mat&lt;3, 2, T, Q&gt; const&amp; m2);</div>
 <div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160; </div>
 <div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;2, 4, T, Q&gt; operator/(mat&lt;2, 4, T, Q&gt; const&amp; m, T scalar);</div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;2, 4, T, Q&gt; operator/(mat&lt;2, 4, T, Q&gt; const&amp; m, T scalar);</div>
 <div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160; </div>
 <div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;2, 4, T, Q&gt; operator/(T scalar, mat&lt;2, 4, T, Q&gt; const&amp; m);</div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;2, 4, T, Q&gt; operator/(T scalar, mat&lt;2, 4, T, Q&gt; const&amp; m);</div>
 <div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160; </div>
 <div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;        <span class="comment">// -- Boolean operators --</span></div>
 <div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160; </div>
 <div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR <span class="keywordtype">bool</span> operator==(mat&lt;2, 4, T, Q&gt; const&amp; m1, mat&lt;2, 4, T, Q&gt; const&amp; m2);</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;        GLM_FUNC_DECL constexpr <span class="keywordtype">bool</span> operator==(mat&lt;2, 4, T, Q&gt; const&amp; m1, mat&lt;2, 4, T, Q&gt; const&amp; m2);</div>
 <div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160; </div>
 <div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR <span class="keywordtype">bool</span> operator!=(mat&lt;2, 4, T, Q&gt; const&amp; m1, mat&lt;2, 4, T, Q&gt; const&amp; m2);</div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;        GLM_FUNC_DECL constexpr <span class="keywordtype">bool</span> operator!=(mat&lt;2, 4, T, Q&gt; const&amp; m1, mat&lt;2, 4, T, Q&gt; const&amp; m2);</div>
 <div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;}<span class="comment">//namespace glm</span></div>
 <div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160; </div>
 <div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;<span class="preprocessor">#ifndef GLM_EXTERNAL_TEMPLATE</span></div>

+ 32 - 32
doc/api/a00053_source.html

@@ -96,14 +96,14 @@ $(function() {
 <div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;                <span class="comment">// -- Accesses --</span></div>
 <div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160; </div>
 <div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;                <span class="keyword">typedef</span> length_t length_type;</div>
-<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;                GLM_FUNC_DECL <span class="keyword">static</span> GLM_CONSTEXPR length_type <a class="code" href="a00862.html#gab703732449be6c7199369b3f9a91ed38">length</a>() { <span class="keywordflow">return</span> 3; }</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;                GLM_FUNC_DECL <span class="keyword">static</span> constexpr length_type <a class="code" href="a00862.html#gab703732449be6c7199369b3f9a91ed38">length</a>() { <span class="keywordflow">return</span> 3; }</div>
 <div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160; </div>
-<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;                GLM_FUNC_DECL GLM_CONSTEXPR col_type &amp; operator[](length_type i) GLM_NOEXCEPT;</div>
-<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;                GLM_FUNC_DECL GLM_CONSTEXPR col_type <span class="keyword">const</span>&amp; operator[](length_type i) <span class="keyword">const</span> GLM_NOEXCEPT;</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;                GLM_FUNC_DECL constexpr col_type &amp; operator[](length_type i) GLM_NOEXCEPT;</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;                GLM_FUNC_DECL constexpr col_type <span class="keyword">const</span>&amp; operator[](length_type i) <span class="keyword">const</span> GLM_NOEXCEPT;</div>
 <div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160; </div>
 <div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;                <span class="comment">// -- Constructors --</span></div>
 <div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160; </div>
-<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;                GLM_DEFAULTED_DEFAULT_CTOR_DECL GLM_CONSTEXPR mat() GLM_DEFAULT_CTOR;</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;                GLM_DEFAULTED_DEFAULT_CTOR_DECL constexpr mat() GLM_DEFAULT_CTOR;</div>
 <div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;                template&lt;qualifier P&gt;</div>
 <div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;                GLM_CTOR_DECL mat(mat&lt;3, 2, T, P&gt; const&amp; m);</div>
 <div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160; </div>
@@ -151,84 +151,84 @@ $(function() {
 <div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;                <span class="comment">// -- Unary arithmetic operators --</span></div>
 <div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160; </div>
 <div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;                template&lt;typename U&gt;</div>
-<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat&lt;3, 2, T, Q&gt; &amp; operator=(mat&lt;3, 2, U, Q&gt; const&amp; m);</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr mat&lt;3, 2, T, Q&gt; &amp; operator=(mat&lt;3, 2, U, Q&gt; const&amp; m);</div>
 <div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;                template&lt;typename U&gt;</div>
-<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat&lt;3, 2, T, Q&gt; &amp; operator+=(U s);</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr mat&lt;3, 2, T, Q&gt; &amp; operator+=(U s);</div>
 <div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;                template&lt;typename U&gt;</div>
-<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat&lt;3, 2, T, Q&gt; &amp; operator+=(mat&lt;3, 2, U, Q&gt; const&amp; m);</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr mat&lt;3, 2, T, Q&gt; &amp; operator+=(mat&lt;3, 2, U, Q&gt; const&amp; m);</div>
 <div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;                template&lt;typename U&gt;</div>
-<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat&lt;3, 2, T, Q&gt; &amp; operator-=(U s);</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr mat&lt;3, 2, T, Q&gt; &amp; operator-=(U s);</div>
 <div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;                template&lt;typename U&gt;</div>
-<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat&lt;3, 2, T, Q&gt; &amp; operator-=(mat&lt;3, 2, U, Q&gt; const&amp; m);</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr mat&lt;3, 2, T, Q&gt; &amp; operator-=(mat&lt;3, 2, U, Q&gt; const&amp; m);</div>
 <div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;                template&lt;typename U&gt;</div>
-<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat&lt;3, 2, T, Q&gt; &amp; operator*=(U s);</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr mat&lt;3, 2, T, Q&gt; &amp; operator*=(U s);</div>
 <div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;                template&lt;typename U&gt;</div>
-<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat&lt;3, 2, T, Q&gt; &amp; operator/=(U s);</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr mat&lt;3, 2, T, Q&gt; &amp; operator/=(U s);</div>
 <div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160; </div>
 <div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;                <span class="comment">// -- Increment and decrement operators --</span></div>
 <div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160; </div>
-<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat&lt;3, 2, T, Q&gt; &amp; operator++ ();</div>
-<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat&lt;3, 2, T, Q&gt; &amp; operator-- ();</div>
-<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;                GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;3, 2, T, Q&gt; operator++(<span class="keywordtype">int</span>);</div>
-<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;                GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;3, 2, T, Q&gt; operator--(<span class="keywordtype">int</span>);</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr mat&lt;3, 2, T, Q&gt; &amp; operator++ ();</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr mat&lt;3, 2, T, Q&gt; &amp; operator-- ();</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;                GLM_FUNC_DECL constexpr mat&lt;3, 2, T, Q&gt; operator++(<span class="keywordtype">int</span>);</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;                GLM_FUNC_DECL constexpr mat&lt;3, 2, T, Q&gt; operator--(<span class="keywordtype">int</span>);</div>
 <div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;        };</div>
 <div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160; </div>
 <div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;        <span class="comment">// -- Unary operators --</span></div>
 <div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160; </div>
 <div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;3, 2, T, Q&gt; operator+(mat&lt;3, 2, T, Q&gt; const&amp; m);</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;3, 2, T, Q&gt; operator+(mat&lt;3, 2, T, Q&gt; const&amp; m);</div>
 <div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160; </div>
 <div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;3, 2, T, Q&gt; operator-(mat&lt;3, 2, T, Q&gt; const&amp; m);</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;3, 2, T, Q&gt; operator-(mat&lt;3, 2, T, Q&gt; const&amp; m);</div>
 <div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160; </div>
 <div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;        <span class="comment">// -- Binary operators --</span></div>
 <div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160; </div>
 <div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;3, 2, T, Q&gt; operator+(mat&lt;3, 2, T, Q&gt; const&amp; m, T scalar);</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;3, 2, T, Q&gt; operator+(mat&lt;3, 2, T, Q&gt; const&amp; m, T scalar);</div>
 <div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160; </div>
 <div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;3, 2, T, Q&gt; operator+(mat&lt;3, 2, T, Q&gt; const&amp; m1, mat&lt;3, 2, T, Q&gt; const&amp; m2);</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;3, 2, T, Q&gt; operator+(mat&lt;3, 2, T, Q&gt; const&amp; m1, mat&lt;3, 2, T, Q&gt; const&amp; m2);</div>
 <div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160; </div>
 <div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;3, 2, T, Q&gt; operator-(mat&lt;3, 2, T, Q&gt; const&amp; m, T scalar);</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;3, 2, T, Q&gt; operator-(mat&lt;3, 2, T, Q&gt; const&amp; m, T scalar);</div>
 <div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160; </div>
 <div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;3, 2, T, Q&gt; operator-(mat&lt;3, 2, T, Q&gt; const&amp; m1, mat&lt;3, 2, T, Q&gt; const&amp; m2);</div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;3, 2, T, Q&gt; operator-(mat&lt;3, 2, T, Q&gt; const&amp; m1, mat&lt;3, 2, T, Q&gt; const&amp; m2);</div>
 <div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160; </div>
 <div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;3, 2, T, Q&gt; operator*(mat&lt;3, 2, T, Q&gt; const&amp; m, T scalar);</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;3, 2, T, Q&gt; operator*(mat&lt;3, 2, T, Q&gt; const&amp; m, T scalar);</div>
 <div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160; </div>
 <div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;3, 2, T, Q&gt; operator*(T scalar, mat&lt;3, 2, T, Q&gt; const&amp; m);</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;3, 2, T, Q&gt; operator*(T scalar, mat&lt;3, 2, T, Q&gt; const&amp; m);</div>
 <div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160; </div>
 <div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR typename mat&lt;3, 2, T, Q&gt;::col_type operator*(mat&lt;3, 2, T, Q&gt; const&amp; m, typename mat&lt;3, 2, T, Q&gt;::row_type const&amp; v);</div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;        GLM_FUNC_DECL constexpr typename mat&lt;3, 2, T, Q&gt;::col_type operator*(mat&lt;3, 2, T, Q&gt; const&amp; m, typename mat&lt;3, 2, T, Q&gt;::row_type const&amp; v);</div>
 <div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160; </div>
 <div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR typename mat&lt;3, 2, T, Q&gt;::row_type operator*(typename mat&lt;3, 2, T, Q&gt;::col_type const&amp; v, mat&lt;3, 2, T, Q&gt; const&amp; m);</div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;        GLM_FUNC_DECL constexpr typename mat&lt;3, 2, T, Q&gt;::row_type operator*(typename mat&lt;3, 2, T, Q&gt;::col_type const&amp; v, mat&lt;3, 2, T, Q&gt; const&amp; m);</div>
 <div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160; </div>
 <div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;2, 2, T, Q&gt; operator*(mat&lt;3, 2, T, Q&gt; const&amp; m1, mat&lt;2, 3, T, Q&gt; const&amp; m2);</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;2, 2, T, Q&gt; operator*(mat&lt;3, 2, T, Q&gt; const&amp; m1, mat&lt;2, 3, T, Q&gt; const&amp; m2);</div>
 <div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160; </div>
 <div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;3, 2, T, Q&gt; operator*(mat&lt;3, 2, T, Q&gt; const&amp; m1, mat&lt;3, 3, T, Q&gt; const&amp; m2);</div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;3, 2, T, Q&gt; operator*(mat&lt;3, 2, T, Q&gt; const&amp; m1, mat&lt;3, 3, T, Q&gt; const&amp; m2);</div>
 <div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160; </div>
 <div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;4, 2, T, Q&gt; operator*(mat&lt;3, 2, T, Q&gt; const&amp; m1, mat&lt;4, 3, T, Q&gt; const&amp; m2);</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;4, 2, T, Q&gt; operator*(mat&lt;3, 2, T, Q&gt; const&amp; m1, mat&lt;4, 3, T, Q&gt; const&amp; m2);</div>
 <div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160; </div>
 <div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;3, 2, T, Q&gt; operator/(mat&lt;3, 2, T, Q&gt; const&amp; m, T scalar);</div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;3, 2, T, Q&gt; operator/(mat&lt;3, 2, T, Q&gt; const&amp; m, T scalar);</div>
 <div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160; </div>
 <div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;3, 2, T, Q&gt; operator/(T scalar, mat&lt;3, 2, T, Q&gt; const&amp; m);</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;3, 2, T, Q&gt; operator/(T scalar, mat&lt;3, 2, T, Q&gt; const&amp; m);</div>
 <div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160; </div>
 <div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;        <span class="comment">// -- Boolean operators --</span></div>
 <div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160; </div>
 <div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR <span class="keywordtype">bool</span> operator==(mat&lt;3, 2, T, Q&gt; const&amp; m1, mat&lt;3, 2, T, Q&gt; const&amp; m2);</div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;        GLM_FUNC_DECL constexpr <span class="keywordtype">bool</span> operator==(mat&lt;3, 2, T, Q&gt; const&amp; m1, mat&lt;3, 2, T, Q&gt; const&amp; m2);</div>
 <div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160; </div>
 <div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR <span class="keywordtype">bool</span> operator!=(mat&lt;3, 2, T, Q&gt; const&amp; m1, mat&lt;3, 2, T, Q&gt; const&amp; m2);</div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;        GLM_FUNC_DECL constexpr <span class="keywordtype">bool</span> operator!=(mat&lt;3, 2, T, Q&gt; const&amp; m1, mat&lt;3, 2, T, Q&gt; const&amp; m2);</div>
 <div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160; </div>
 <div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;}<span class="comment">//namespace glm</span></div>
 <div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160; </div>

+ 39 - 39
doc/api/a00056_source.html

@@ -95,14 +95,14 @@ $(function() {
 <div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;                <span class="comment">// -- Accesses --</span></div>
 <div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160; </div>
 <div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;                <span class="keyword">typedef</span> length_t length_type;</div>
-<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;                GLM_FUNC_DECL <span class="keyword">static</span> GLM_CONSTEXPR length_type <a class="code" href="a00862.html#gab703732449be6c7199369b3f9a91ed38">length</a>() { <span class="keywordflow">return</span> 3; }</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;                GLM_FUNC_DECL <span class="keyword">static</span> constexpr length_type <a class="code" href="a00862.html#gab703732449be6c7199369b3f9a91ed38">length</a>() { <span class="keywordflow">return</span> 3; }</div>
 <div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160; </div>
-<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;                GLM_FUNC_DECL GLM_CONSTEXPR col_type &amp; operator[](length_type i) GLM_NOEXCEPT;</div>
-<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;                GLM_FUNC_DECL GLM_CONSTEXPR col_type <span class="keyword">const</span>&amp; operator[](length_type i) <span class="keyword">const</span> GLM_NOEXCEPT;</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;                GLM_FUNC_DECL constexpr col_type &amp; operator[](length_type i) GLM_NOEXCEPT;</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;                GLM_FUNC_DECL constexpr col_type <span class="keyword">const</span>&amp; operator[](length_type i) <span class="keyword">const</span> GLM_NOEXCEPT;</div>
 <div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160; </div>
 <div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;                <span class="comment">// -- Constructors --</span></div>
 <div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160; </div>
-<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;                GLM_DEFAULTED_DEFAULT_CTOR_DECL GLM_CONSTEXPR mat() GLM_DEFAULT_CTOR;</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;                GLM_DEFAULTED_DEFAULT_CTOR_DECL constexpr mat() GLM_DEFAULT_CTOR;</div>
 <div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;                template&lt;qualifier P&gt;</div>
 <div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;                GLM_CTOR_DECL mat(mat&lt;3, 3, T, P&gt; const&amp; m);</div>
 <div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160; </div>
@@ -150,103 +150,103 @@ $(function() {
 <div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;                <span class="comment">// -- Unary arithmetic operators --</span></div>
 <div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160; </div>
 <div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;                template&lt;typename U&gt;</div>
-<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat&lt;3, 3, T, Q&gt; &amp; operator=(mat&lt;3, 3, U, Q&gt; const&amp; m);</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr mat&lt;3, 3, T, Q&gt; &amp; operator=(mat&lt;3, 3, U, Q&gt; const&amp; m);</div>
 <div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;                template&lt;typename U&gt;</div>
-<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat&lt;3, 3, T, Q&gt; &amp; operator+=(U s);</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr mat&lt;3, 3, T, Q&gt; &amp; operator+=(U s);</div>
 <div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;                template&lt;typename U&gt;</div>
-<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat&lt;3, 3, T, Q&gt; &amp; operator+=(mat&lt;3, 3, U, Q&gt; const&amp; m);</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr mat&lt;3, 3, T, Q&gt; &amp; operator+=(mat&lt;3, 3, U, Q&gt; const&amp; m);</div>
 <div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;                template&lt;typename U&gt;</div>
-<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat&lt;3, 3, T, Q&gt; &amp; operator-=(U s);</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr mat&lt;3, 3, T, Q&gt; &amp; operator-=(U s);</div>
 <div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;                template&lt;typename U&gt;</div>
-<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat&lt;3, 3, T, Q&gt; &amp; operator-=(mat&lt;3, 3, U, Q&gt; const&amp; m);</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr mat&lt;3, 3, T, Q&gt; &amp; operator-=(mat&lt;3, 3, U, Q&gt; const&amp; m);</div>
 <div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;                template&lt;typename U&gt;</div>
-<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat&lt;3, 3, T, Q&gt; &amp; operator*=(U s);</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr mat&lt;3, 3, T, Q&gt; &amp; operator*=(U s);</div>
 <div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;                template&lt;typename U&gt;</div>
-<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat&lt;3, 3, T, Q&gt; &amp; operator*=(mat&lt;3, 3, U, Q&gt; const&amp; m);</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr mat&lt;3, 3, T, Q&gt; &amp; operator*=(mat&lt;3, 3, U, Q&gt; const&amp; m);</div>
 <div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;                template&lt;typename U&gt;</div>
-<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat&lt;3, 3, T, Q&gt; &amp; operator/=(U s);</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr mat&lt;3, 3, T, Q&gt; &amp; operator/=(U s);</div>
 <div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;                template&lt;typename U&gt;</div>
-<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat&lt;3, 3, T, Q&gt; &amp; operator/=(mat&lt;3, 3, U, Q&gt; const&amp; m);</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr mat&lt;3, 3, T, Q&gt; &amp; operator/=(mat&lt;3, 3, U, Q&gt; const&amp; m);</div>
 <div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160; </div>
 <div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;                <span class="comment">// -- Increment and decrement operators --</span></div>
 <div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160; </div>
-<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat&lt;3, 3, T, Q&gt; &amp; operator++();</div>
-<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat&lt;3, 3, T, Q&gt; &amp; operator--();</div>
-<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;                GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;3, 3, T, Q&gt; operator++(<span class="keywordtype">int</span>);</div>
-<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;                GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;3, 3, T, Q&gt; operator--(<span class="keywordtype">int</span>);</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr mat&lt;3, 3, T, Q&gt; &amp; operator++();</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr mat&lt;3, 3, T, Q&gt; &amp; operator--();</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;                GLM_FUNC_DECL constexpr mat&lt;3, 3, T, Q&gt; operator++(<span class="keywordtype">int</span>);</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;                GLM_FUNC_DECL constexpr mat&lt;3, 3, T, Q&gt; operator--(<span class="keywordtype">int</span>);</div>
 <div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;        };</div>
 <div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160; </div>
 <div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;        <span class="comment">// -- Unary operators --</span></div>
 <div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160; </div>
 <div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;3, 3, T, Q&gt; operator+(mat&lt;3, 3, T, Q&gt; const&amp; m);</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;3, 3, T, Q&gt; operator+(mat&lt;3, 3, T, Q&gt; const&amp; m);</div>
 <div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160; </div>
 <div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;3, 3, T, Q&gt; operator-(mat&lt;3, 3, T, Q&gt; const&amp; m);</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;3, 3, T, Q&gt; operator-(mat&lt;3, 3, T, Q&gt; const&amp; m);</div>
 <div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160; </div>
 <div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;        <span class="comment">// -- Binary operators --</span></div>
 <div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160; </div>
 <div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;3, 3, T, Q&gt; operator+(mat&lt;3, 3, T, Q&gt; const&amp; m, T scalar);</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;3, 3, T, Q&gt; operator+(mat&lt;3, 3, T, Q&gt; const&amp; m, T scalar);</div>
 <div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160; </div>
 <div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;3, 3, T, Q&gt; operator+(T scalar, mat&lt;3, 3, T, Q&gt; const&amp; m);</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;3, 3, T, Q&gt; operator+(T scalar, mat&lt;3, 3, T, Q&gt; const&amp; m);</div>
 <div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160; </div>
 <div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;3, 3, T, Q&gt; operator+(mat&lt;3, 3, T, Q&gt; const&amp; m1, mat&lt;3, 3, T, Q&gt; const&amp; m2);</div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;3, 3, T, Q&gt; operator+(mat&lt;3, 3, T, Q&gt; const&amp; m1, mat&lt;3, 3, T, Q&gt; const&amp; m2);</div>
 <div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160; </div>
 <div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;3, 3, T, Q&gt; operator-(mat&lt;3, 3, T, Q&gt; const&amp; m, T scalar);</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;3, 3, T, Q&gt; operator-(mat&lt;3, 3, T, Q&gt; const&amp; m, T scalar);</div>
 <div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160; </div>
 <div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;3, 3, T, Q&gt; operator-(T scalar, mat&lt;3, 3, T, Q&gt; const&amp; m);</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;3, 3, T, Q&gt; operator-(T scalar, mat&lt;3, 3, T, Q&gt; const&amp; m);</div>
 <div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160; </div>
 <div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;3, 3, T, Q&gt; operator-(mat&lt;3, 3, T, Q&gt; const&amp; m1, mat&lt;3, 3, T, Q&gt; const&amp; m2);</div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;3, 3, T, Q&gt; operator-(mat&lt;3, 3, T, Q&gt; const&amp; m1, mat&lt;3, 3, T, Q&gt; const&amp; m2);</div>
 <div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160; </div>
 <div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;3, 3, T, Q&gt; operator*(mat&lt;3, 3, T, Q&gt; const&amp; m, T scalar);</div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;3, 3, T, Q&gt; operator*(mat&lt;3, 3, T, Q&gt; const&amp; m, T scalar);</div>
 <div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160; </div>
 <div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;3, 3, T, Q&gt; operator*(T scalar, mat&lt;3, 3, T, Q&gt; const&amp; m);</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;3, 3, T, Q&gt; operator*(T scalar, mat&lt;3, 3, T, Q&gt; const&amp; m);</div>
 <div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160; </div>
 <div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR typename mat&lt;3, 3, T, Q&gt;::col_type operator*(mat&lt;3, 3, T, Q&gt; const&amp; m, typename mat&lt;3, 3, T, Q&gt;::row_type const&amp; v);</div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;        GLM_FUNC_DECL constexpr typename mat&lt;3, 3, T, Q&gt;::col_type operator*(mat&lt;3, 3, T, Q&gt; const&amp; m, typename mat&lt;3, 3, T, Q&gt;::row_type const&amp; v);</div>
 <div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160; </div>
 <div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR typename mat&lt;3, 3, T, Q&gt;::row_type operator*(typename mat&lt;3, 3, T, Q&gt;::col_type const&amp; v, mat&lt;3, 3, T, Q&gt; const&amp; m);</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;        GLM_FUNC_DECL constexpr typename mat&lt;3, 3, T, Q&gt;::row_type operator*(typename mat&lt;3, 3, T, Q&gt;::col_type const&amp; v, mat&lt;3, 3, T, Q&gt; const&amp; m);</div>
 <div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160; </div>
 <div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;3, 3, T, Q&gt; operator*(mat&lt;3, 3, T, Q&gt; const&amp; m1, mat&lt;3, 3, T, Q&gt; const&amp; m2);</div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;3, 3, T, Q&gt; operator*(mat&lt;3, 3, T, Q&gt; const&amp; m1, mat&lt;3, 3, T, Q&gt; const&amp; m2);</div>
 <div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160; </div>
 <div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;2, 3, T, Q&gt; operator*(mat&lt;3, 3, T, Q&gt; const&amp; m1, mat&lt;2, 3, T, Q&gt; const&amp; m2);</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;2, 3, T, Q&gt; operator*(mat&lt;3, 3, T, Q&gt; const&amp; m1, mat&lt;2, 3, T, Q&gt; const&amp; m2);</div>
 <div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160; </div>
 <div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;4, 3, T, Q&gt; operator*(mat&lt;3, 3, T, Q&gt; const&amp; m1, mat&lt;4, 3, T, Q&gt; const&amp; m2);</div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;4, 3, T, Q&gt; operator*(mat&lt;3, 3, T, Q&gt; const&amp; m1, mat&lt;4, 3, T, Q&gt; const&amp; m2);</div>
 <div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160; </div>
 <div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;3, 3, T, Q&gt; operator/(mat&lt;3, 3, T, Q&gt; const&amp; m, T scalar);</div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;3, 3, T, Q&gt; operator/(mat&lt;3, 3, T, Q&gt; const&amp; m, T scalar);</div>
 <div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160; </div>
 <div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;3, 3, T, Q&gt; operator/(T scalar, mat&lt;3, 3, T, Q&gt; const&amp; m);</div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;3, 3, T, Q&gt; operator/(T scalar, mat&lt;3, 3, T, Q&gt; const&amp; m);</div>
 <div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160; </div>
 <div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR typename mat&lt;3, 3, T, Q&gt;::col_type operator/(mat&lt;3, 3, T, Q&gt; const&amp; m, typename mat&lt;3, 3, T, Q&gt;::row_type const&amp; v);</div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;        GLM_FUNC_DECL constexpr typename mat&lt;3, 3, T, Q&gt;::col_type operator/(mat&lt;3, 3, T, Q&gt; const&amp; m, typename mat&lt;3, 3, T, Q&gt;::row_type const&amp; v);</div>
 <div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160; </div>
 <div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR typename mat&lt;3, 3, T, Q&gt;::row_type operator/(typename mat&lt;3, 3, T, Q&gt;::col_type const&amp; v, mat&lt;3, 3, T, Q&gt; const&amp; m);</div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;        GLM_FUNC_DECL constexpr typename mat&lt;3, 3, T, Q&gt;::row_type operator/(typename mat&lt;3, 3, T, Q&gt;::col_type const&amp; v, mat&lt;3, 3, T, Q&gt; const&amp; m);</div>
 <div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160; </div>
 <div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;3, 3, T, Q&gt; operator/(mat&lt;3, 3, T, Q&gt; const&amp; m1, mat&lt;3, 3, T, Q&gt; const&amp; m2);</div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;3, 3, T, Q&gt; operator/(mat&lt;3, 3, T, Q&gt; const&amp; m1, mat&lt;3, 3, T, Q&gt; const&amp; m2);</div>
 <div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160; </div>
 <div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;        <span class="comment">// -- Boolean operators --</span></div>
 <div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160; </div>
 <div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR <span class="keywordtype">bool</span> operator==(mat&lt;3, 3, T, Q&gt; const&amp; m1, mat&lt;3, 3, T, Q&gt; const&amp; m2);</div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;        GLM_FUNC_DECL constexpr <span class="keywordtype">bool</span> operator==(mat&lt;3, 3, T, Q&gt; const&amp; m1, mat&lt;3, 3, T, Q&gt; const&amp; m2);</div>
 <div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160; </div>
 <div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR <span class="keywordtype">bool</span> operator!=(mat&lt;3, 3, T, Q&gt; const&amp; m1, mat&lt;3, 3, T, Q&gt; const&amp; m2);</div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;        GLM_FUNC_DECL constexpr <span class="keywordtype">bool</span> operator!=(mat&lt;3, 3, T, Q&gt; const&amp; m1, mat&lt;3, 3, T, Q&gt; const&amp; m2);</div>
 <div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;}<span class="comment">//namespace glm</span></div>
 <div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160; </div>
 <div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;<span class="preprocessor">#ifndef GLM_EXTERNAL_TEMPLATE</span></div>

+ 32 - 32
doc/api/a00059_source.html

@@ -96,14 +96,14 @@ $(function() {
 <div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;                <span class="comment">// -- Accesses --</span></div>
 <div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160; </div>
 <div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;                <span class="keyword">typedef</span> length_t length_type;</div>
-<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;                GLM_FUNC_DECL <span class="keyword">static</span> GLM_CONSTEXPR length_type <a class="code" href="a00862.html#gab703732449be6c7199369b3f9a91ed38">length</a>() { <span class="keywordflow">return</span> 3; }</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;                GLM_FUNC_DECL <span class="keyword">static</span> constexpr length_type <a class="code" href="a00862.html#gab703732449be6c7199369b3f9a91ed38">length</a>() { <span class="keywordflow">return</span> 3; }</div>
 <div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160; </div>
-<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;                GLM_FUNC_DECL GLM_CONSTEXPR col_type &amp; operator[](length_type i) GLM_NOEXCEPT;</div>
-<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;                GLM_FUNC_DECL GLM_CONSTEXPR col_type <span class="keyword">const</span>&amp; operator[](length_type i) <span class="keyword">const</span> GLM_NOEXCEPT;</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;                GLM_FUNC_DECL constexpr col_type &amp; operator[](length_type i) GLM_NOEXCEPT;</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;                GLM_FUNC_DECL constexpr col_type <span class="keyword">const</span>&amp; operator[](length_type i) <span class="keyword">const</span> GLM_NOEXCEPT;</div>
 <div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160; </div>
 <div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;                <span class="comment">// -- Constructors --</span></div>
 <div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160; </div>
-<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;                GLM_DEFAULTED_DEFAULT_CTOR_DECL GLM_CONSTEXPR mat() GLM_DEFAULT_CTOR;</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;                GLM_DEFAULTED_DEFAULT_CTOR_DECL constexpr mat() GLM_DEFAULT_CTOR;</div>
 <div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;                template&lt;qualifier P&gt;</div>
 <div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;                GLM_CTOR_DECL mat(mat&lt;3, 4, T, P&gt; const&amp; m);</div>
 <div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160; </div>
@@ -151,84 +151,84 @@ $(function() {
 <div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;                <span class="comment">// -- Unary arithmetic operators --</span></div>
 <div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160; </div>
 <div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;                template&lt;typename U&gt;</div>
-<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat&lt;3, 4, T, Q&gt; &amp; operator=(mat&lt;3, 4, U, Q&gt; const&amp; m);</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr mat&lt;3, 4, T, Q&gt; &amp; operator=(mat&lt;3, 4, U, Q&gt; const&amp; m);</div>
 <div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;                template&lt;typename U&gt;</div>
-<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat&lt;3, 4, T, Q&gt; &amp; operator+=(U s);</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr mat&lt;3, 4, T, Q&gt; &amp; operator+=(U s);</div>
 <div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;                template&lt;typename U&gt;</div>
-<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat&lt;3, 4, T, Q&gt; &amp; operator+=(mat&lt;3, 4, U, Q&gt; const&amp; m);</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr mat&lt;3, 4, T, Q&gt; &amp; operator+=(mat&lt;3, 4, U, Q&gt; const&amp; m);</div>
 <div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;                template&lt;typename U&gt;</div>
-<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat&lt;3, 4, T, Q&gt; &amp; operator-=(U s);</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr mat&lt;3, 4, T, Q&gt; &amp; operator-=(U s);</div>
 <div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;                template&lt;typename U&gt;</div>
-<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat&lt;3, 4, T, Q&gt; &amp; operator-=(mat&lt;3, 4, U, Q&gt; const&amp; m);</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr mat&lt;3, 4, T, Q&gt; &amp; operator-=(mat&lt;3, 4, U, Q&gt; const&amp; m);</div>
 <div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;                template&lt;typename U&gt;</div>
-<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat&lt;3, 4, T, Q&gt; &amp; operator*=(U s);</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr mat&lt;3, 4, T, Q&gt; &amp; operator*=(U s);</div>
 <div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;                template&lt;typename U&gt;</div>
-<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat&lt;3, 4, T, Q&gt; &amp; operator/=(U s);</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr mat&lt;3, 4, T, Q&gt; &amp; operator/=(U s);</div>
 <div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160; </div>
 <div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;                <span class="comment">// -- Increment and decrement operators --</span></div>
 <div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160; </div>
-<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat&lt;3, 4, T, Q&gt; &amp; operator++();</div>
-<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat&lt;3, 4, T, Q&gt; &amp; operator--();</div>
-<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;                GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;3, 4, T, Q&gt; operator++(<span class="keywordtype">int</span>);</div>
-<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;                GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;3, 4, T, Q&gt; operator--(<span class="keywordtype">int</span>);</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr mat&lt;3, 4, T, Q&gt; &amp; operator++();</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr mat&lt;3, 4, T, Q&gt; &amp; operator--();</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;                GLM_FUNC_DECL constexpr mat&lt;3, 4, T, Q&gt; operator++(<span class="keywordtype">int</span>);</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;                GLM_FUNC_DECL constexpr mat&lt;3, 4, T, Q&gt; operator--(<span class="keywordtype">int</span>);</div>
 <div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;        };</div>
 <div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160; </div>
 <div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;        <span class="comment">// -- Unary operators --</span></div>
 <div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160; </div>
 <div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;3, 4, T, Q&gt; operator+(mat&lt;3, 4, T, Q&gt; const&amp; m);</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;3, 4, T, Q&gt; operator+(mat&lt;3, 4, T, Q&gt; const&amp; m);</div>
 <div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160; </div>
 <div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;3, 4, T, Q&gt; operator-(mat&lt;3, 4, T, Q&gt; const&amp; m);</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;3, 4, T, Q&gt; operator-(mat&lt;3, 4, T, Q&gt; const&amp; m);</div>
 <div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160; </div>
 <div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;        <span class="comment">// -- Binary operators --</span></div>
 <div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160; </div>
 <div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;3, 4, T, Q&gt; operator+(mat&lt;3, 4, T, Q&gt; const&amp; m, T scalar);</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;3, 4, T, Q&gt; operator+(mat&lt;3, 4, T, Q&gt; const&amp; m, T scalar);</div>
 <div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160; </div>
 <div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;3, 4, T, Q&gt; operator+(mat&lt;3, 4, T, Q&gt; const&amp; m1, mat&lt;3, 4, T, Q&gt; const&amp; m2);</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;3, 4, T, Q&gt; operator+(mat&lt;3, 4, T, Q&gt; const&amp; m1, mat&lt;3, 4, T, Q&gt; const&amp; m2);</div>
 <div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160; </div>
 <div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;3, 4, T, Q&gt; operator-(mat&lt;3, 4, T, Q&gt; const&amp; m, T scalar);</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;3, 4, T, Q&gt; operator-(mat&lt;3, 4, T, Q&gt; const&amp; m, T scalar);</div>
 <div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160; </div>
 <div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;3, 4, T, Q&gt; operator-(mat&lt;3, 4, T, Q&gt; const&amp; m1, mat&lt;3, 4, T, Q&gt; const&amp; m2);</div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;3, 4, T, Q&gt; operator-(mat&lt;3, 4, T, Q&gt; const&amp; m1, mat&lt;3, 4, T, Q&gt; const&amp; m2);</div>
 <div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160; </div>
 <div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;3, 4, T, Q&gt; operator*(mat&lt;3, 4, T, Q&gt; const&amp; m, T scalar);</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;3, 4, T, Q&gt; operator*(mat&lt;3, 4, T, Q&gt; const&amp; m, T scalar);</div>
 <div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160; </div>
 <div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;3, 4, T, Q&gt; operator*(T scalar, mat&lt;3, 4, T, Q&gt; const&amp; m);</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;3, 4, T, Q&gt; operator*(T scalar, mat&lt;3, 4, T, Q&gt; const&amp; m);</div>
 <div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160; </div>
 <div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR typename mat&lt;3, 4, T, Q&gt;::col_type operator*(mat&lt;3, 4, T, Q&gt; const&amp; m, typename mat&lt;3, 4, T, Q&gt;::row_type const&amp; v);</div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;        GLM_FUNC_DECL constexpr typename mat&lt;3, 4, T, Q&gt;::col_type operator*(mat&lt;3, 4, T, Q&gt; const&amp; m, typename mat&lt;3, 4, T, Q&gt;::row_type const&amp; v);</div>
 <div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160; </div>
 <div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR typename mat&lt;3, 4, T, Q&gt;::row_type operator*(typename mat&lt;3, 4, T, Q&gt;::col_type const&amp; v, mat&lt;3, 4, T, Q&gt; const&amp; m);</div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;        GLM_FUNC_DECL constexpr typename mat&lt;3, 4, T, Q&gt;::row_type operator*(typename mat&lt;3, 4, T, Q&gt;::col_type const&amp; v, mat&lt;3, 4, T, Q&gt; const&amp; m);</div>
 <div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160; </div>
 <div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;4, 4, T, Q&gt; operator*(mat&lt;3, 4, T, Q&gt; const&amp; m1,        mat&lt;4, 3, T, Q&gt; const&amp; m2);</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;4, 4, T, Q&gt; operator*(mat&lt;3, 4, T, Q&gt; const&amp; m1,        mat&lt;4, 3, T, Q&gt; const&amp; m2);</div>
 <div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160; </div>
 <div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;2, 4, T, Q&gt; operator*(mat&lt;3, 4, T, Q&gt; const&amp; m1, mat&lt;2, 3, T, Q&gt; const&amp; m2);</div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;2, 4, T, Q&gt; operator*(mat&lt;3, 4, T, Q&gt; const&amp; m1, mat&lt;2, 3, T, Q&gt; const&amp; m2);</div>
 <div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160; </div>
 <div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;3, 4, T, Q&gt; operator*(mat&lt;3, 4, T, Q&gt; const&amp; m1,        mat&lt;3, 3, T, Q&gt; const&amp; m2);</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;3, 4, T, Q&gt; operator*(mat&lt;3, 4, T, Q&gt; const&amp; m1,        mat&lt;3, 3, T, Q&gt; const&amp; m2);</div>
 <div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160; </div>
 <div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;3, 4, T, Q&gt; operator/(mat&lt;3, 4, T, Q&gt; const&amp; m, T scalar);</div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;3, 4, T, Q&gt; operator/(mat&lt;3, 4, T, Q&gt; const&amp; m, T scalar);</div>
 <div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160; </div>
 <div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;3, 4, T, Q&gt; operator/(T scalar, mat&lt;3, 4, T, Q&gt; const&amp; m);</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;3, 4, T, Q&gt; operator/(T scalar, mat&lt;3, 4, T, Q&gt; const&amp; m);</div>
 <div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160; </div>
 <div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;        <span class="comment">// -- Boolean operators --</span></div>
 <div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160; </div>
 <div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR <span class="keywordtype">bool</span> operator==(mat&lt;3, 4, T, Q&gt; const&amp; m1, mat&lt;3, 4, T, Q&gt; const&amp; m2);</div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;        GLM_FUNC_DECL constexpr <span class="keywordtype">bool</span> operator==(mat&lt;3, 4, T, Q&gt; const&amp; m1, mat&lt;3, 4, T, Q&gt; const&amp; m2);</div>
 <div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160; </div>
 <div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR <span class="keywordtype">bool</span> operator!=(mat&lt;3, 4, T, Q&gt; const&amp; m1, mat&lt;3, 4, T, Q&gt; const&amp; m2);</div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;        GLM_FUNC_DECL constexpr <span class="keywordtype">bool</span> operator!=(mat&lt;3, 4, T, Q&gt; const&amp; m1, mat&lt;3, 4, T, Q&gt; const&amp; m2);</div>
 <div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;}<span class="comment">//namespace glm</span></div>
 <div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160; </div>
 <div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;<span class="preprocessor">#ifndef GLM_EXTERNAL_TEMPLATE</span></div>

+ 32 - 32
doc/api/a00062_source.html

@@ -96,14 +96,14 @@ $(function() {
 <div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;                <span class="comment">// -- Accesses --</span></div>
 <div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160; </div>
 <div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;                <span class="keyword">typedef</span> length_t length_type;</div>
-<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;                GLM_FUNC_DECL <span class="keyword">static</span> GLM_CONSTEXPR length_type <a class="code" href="a00862.html#gab703732449be6c7199369b3f9a91ed38">length</a>() { <span class="keywordflow">return</span> 4; }</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;                GLM_FUNC_DECL <span class="keyword">static</span> constexpr length_type <a class="code" href="a00862.html#gab703732449be6c7199369b3f9a91ed38">length</a>() { <span class="keywordflow">return</span> 4; }</div>
 <div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160; </div>
-<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;                GLM_FUNC_DECL GLM_CONSTEXPR col_type &amp; operator[](length_type i) GLM_NOEXCEPT;</div>
-<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;                GLM_FUNC_DECL GLM_CONSTEXPR col_type <span class="keyword">const</span>&amp; operator[](length_type i) <span class="keyword">const</span> GLM_NOEXCEPT;</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;                GLM_FUNC_DECL constexpr col_type &amp; operator[](length_type i) GLM_NOEXCEPT;</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;                GLM_FUNC_DECL constexpr col_type <span class="keyword">const</span>&amp; operator[](length_type i) <span class="keyword">const</span> GLM_NOEXCEPT;</div>
 <div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160; </div>
 <div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;                <span class="comment">// -- Constructors --</span></div>
 <div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160; </div>
-<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;                GLM_DEFAULTED_DEFAULT_CTOR_DECL GLM_CONSTEXPR mat() GLM_DEFAULT_CTOR;</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;                GLM_DEFAULTED_DEFAULT_CTOR_DECL constexpr mat() GLM_DEFAULT_CTOR;</div>
 <div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;                template&lt;qualifier P&gt;</div>
 <div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;                GLM_CTOR_DECL mat(mat&lt;4, 2, T, P&gt; const&amp; m);</div>
 <div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160; </div>
@@ -156,84 +156,84 @@ $(function() {
 <div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;                <span class="comment">// -- Unary arithmetic operators --</span></div>
 <div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160; </div>
 <div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;                template&lt;typename U&gt;</div>
-<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat&lt;4, 2, T, Q&gt; &amp; operator=(mat&lt;4, 2, U, Q&gt; const&amp; m);</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr mat&lt;4, 2, T, Q&gt; &amp; operator=(mat&lt;4, 2, U, Q&gt; const&amp; m);</div>
 <div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;                template&lt;typename U&gt;</div>
-<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat&lt;4, 2, T, Q&gt; &amp; operator+=(U s);</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr mat&lt;4, 2, T, Q&gt; &amp; operator+=(U s);</div>
 <div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;                template&lt;typename U&gt;</div>
-<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat&lt;4, 2, T, Q&gt; &amp; operator+=(mat&lt;4, 2, U, Q&gt; const&amp; m);</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr mat&lt;4, 2, T, Q&gt; &amp; operator+=(mat&lt;4, 2, U, Q&gt; const&amp; m);</div>
 <div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;                template&lt;typename U&gt;</div>
-<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat&lt;4, 2, T, Q&gt; &amp; operator-=(U s);</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr mat&lt;4, 2, T, Q&gt; &amp; operator-=(U s);</div>
 <div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;                template&lt;typename U&gt;</div>
-<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat&lt;4, 2, T, Q&gt; &amp; operator-=(mat&lt;4, 2, U, Q&gt; const&amp; m);</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr mat&lt;4, 2, T, Q&gt; &amp; operator-=(mat&lt;4, 2, U, Q&gt; const&amp; m);</div>
 <div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;                template&lt;typename U&gt;</div>
-<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat&lt;4, 2, T, Q&gt; &amp; operator*=(U s);</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr mat&lt;4, 2, T, Q&gt; &amp; operator*=(U s);</div>
 <div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;                template&lt;typename U&gt;</div>
-<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat&lt;4, 2, T, Q&gt; &amp; operator/=(U s);</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr mat&lt;4, 2, T, Q&gt; &amp; operator/=(U s);</div>
 <div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160; </div>
 <div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;                <span class="comment">// -- Increment and decrement operators --</span></div>
 <div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160; </div>
-<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat&lt;4, 2, T, Q&gt; &amp; operator++ ();</div>
-<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat&lt;4, 2, T, Q&gt; &amp; operator-- ();</div>
-<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;                GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;4, 2, T, Q&gt; operator++(<span class="keywordtype">int</span>);</div>
-<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;                GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;4, 2, T, Q&gt; operator--(<span class="keywordtype">int</span>);</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr mat&lt;4, 2, T, Q&gt; &amp; operator++ ();</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr mat&lt;4, 2, T, Q&gt; &amp; operator-- ();</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;                GLM_FUNC_DECL constexpr mat&lt;4, 2, T, Q&gt; operator++(<span class="keywordtype">int</span>);</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;                GLM_FUNC_DECL constexpr mat&lt;4, 2, T, Q&gt; operator--(<span class="keywordtype">int</span>);</div>
 <div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;        };</div>
 <div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160; </div>
 <div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;        <span class="comment">// -- Unary operators --</span></div>
 <div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160; </div>
 <div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;4, 2, T, Q&gt; operator+(mat&lt;4, 2, T, Q&gt; const&amp; m);</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;4, 2, T, Q&gt; operator+(mat&lt;4, 2, T, Q&gt; const&amp; m);</div>
 <div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160; </div>
 <div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;4, 2, T, Q&gt; operator-(mat&lt;4, 2, T, Q&gt; const&amp; m);</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;4, 2, T, Q&gt; operator-(mat&lt;4, 2, T, Q&gt; const&amp; m);</div>
 <div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160; </div>
 <div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;        <span class="comment">// -- Binary operators --</span></div>
 <div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160; </div>
 <div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;4, 2, T, Q&gt; operator+(mat&lt;4, 2, T, Q&gt; const&amp; m, T scalar);</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;4, 2, T, Q&gt; operator+(mat&lt;4, 2, T, Q&gt; const&amp; m, T scalar);</div>
 <div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160; </div>
 <div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;4, 2, T, Q&gt; operator+(mat&lt;4, 2, T, Q&gt; const&amp; m1, mat&lt;4, 2, T, Q&gt; const&amp; m2);</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;4, 2, T, Q&gt; operator+(mat&lt;4, 2, T, Q&gt; const&amp; m1, mat&lt;4, 2, T, Q&gt; const&amp; m2);</div>
 <div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160; </div>
 <div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;4, 2, T, Q&gt; operator-(mat&lt;4, 2, T, Q&gt; const&amp; m, T scalar);</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;4, 2, T, Q&gt; operator-(mat&lt;4, 2, T, Q&gt; const&amp; m, T scalar);</div>
 <div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160; </div>
 <div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;4, 2, T, Q&gt; operator-(mat&lt;4, 2, T, Q&gt; const&amp; m1,        mat&lt;4, 2, T, Q&gt; const&amp; m2);</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;4, 2, T, Q&gt; operator-(mat&lt;4, 2, T, Q&gt; const&amp; m1,        mat&lt;4, 2, T, Q&gt; const&amp; m2);</div>
 <div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160; </div>
 <div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;4, 2, T, Q&gt; operator*(mat&lt;4, 2, T, Q&gt; const&amp; m, T scalar);</div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;4, 2, T, Q&gt; operator*(mat&lt;4, 2, T, Q&gt; const&amp; m, T scalar);</div>
 <div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160; </div>
 <div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;4, 2, T, Q&gt; operator*(T scalar, mat&lt;4, 2, T, Q&gt; const&amp; m);</div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;4, 2, T, Q&gt; operator*(T scalar, mat&lt;4, 2, T, Q&gt; const&amp; m);</div>
 <div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160; </div>
 <div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR typename mat&lt;4, 2, T, Q&gt;::col_type operator*(mat&lt;4, 2, T, Q&gt; const&amp; m, typename mat&lt;4, 2, T, Q&gt;::row_type const&amp; v);</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;        GLM_FUNC_DECL constexpr typename mat&lt;4, 2, T, Q&gt;::col_type operator*(mat&lt;4, 2, T, Q&gt; const&amp; m, typename mat&lt;4, 2, T, Q&gt;::row_type const&amp; v);</div>
 <div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160; </div>
 <div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR typename mat&lt;4, 2, T, Q&gt;::row_type operator*(typename mat&lt;4, 2, T, Q&gt;::col_type const&amp; v, mat&lt;4, 2, T, Q&gt; const&amp; m);</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;        GLM_FUNC_DECL constexpr typename mat&lt;4, 2, T, Q&gt;::row_type operator*(typename mat&lt;4, 2, T, Q&gt;::col_type const&amp; v, mat&lt;4, 2, T, Q&gt; const&amp; m);</div>
 <div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160; </div>
 <div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;2, 2, T, Q&gt; operator*(mat&lt;4, 2, T, Q&gt; const&amp; m1, mat&lt;2, 4, T, Q&gt; const&amp; m2);</div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;2, 2, T, Q&gt; operator*(mat&lt;4, 2, T, Q&gt; const&amp; m1, mat&lt;2, 4, T, Q&gt; const&amp; m2);</div>
 <div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160; </div>
 <div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;3, 2, T, Q&gt; operator*(mat&lt;4, 2, T, Q&gt; const&amp; m1, mat&lt;3, 4, T, Q&gt; const&amp; m2);</div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;3, 2, T, Q&gt; operator*(mat&lt;4, 2, T, Q&gt; const&amp; m1, mat&lt;3, 4, T, Q&gt; const&amp; m2);</div>
 <div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160; </div>
 <div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;4, 2, T, Q&gt; operator*(mat&lt;4, 2, T, Q&gt; const&amp; m1, mat&lt;4, 4, T, Q&gt; const&amp; m2);</div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;4, 2, T, Q&gt; operator*(mat&lt;4, 2, T, Q&gt; const&amp; m1, mat&lt;4, 4, T, Q&gt; const&amp; m2);</div>
 <div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160; </div>
 <div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;4, 2, T, Q&gt; operator/(mat&lt;4, 2, T, Q&gt; const&amp; m, T scalar);</div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;4, 2, T, Q&gt; operator/(mat&lt;4, 2, T, Q&gt; const&amp; m, T scalar);</div>
 <div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160; </div>
 <div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;4, 2, T, Q&gt; operator/(T scalar, mat&lt;4, 2, T, Q&gt; const&amp; m);</div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;4, 2, T, Q&gt; operator/(T scalar, mat&lt;4, 2, T, Q&gt; const&amp; m);</div>
 <div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160; </div>
 <div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;        <span class="comment">// -- Boolean operators --</span></div>
 <div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160; </div>
 <div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR <span class="keywordtype">bool</span> operator==(mat&lt;4, 2, T, Q&gt; const&amp; m1, mat&lt;4, 2, T, Q&gt; const&amp; m2);</div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;        GLM_FUNC_DECL constexpr <span class="keywordtype">bool</span> operator==(mat&lt;4, 2, T, Q&gt; const&amp; m1, mat&lt;4, 2, T, Q&gt; const&amp; m2);</div>
 <div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160; </div>
 <div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR <span class="keywordtype">bool</span> operator!=(mat&lt;4, 2, T, Q&gt; const&amp; m1, mat&lt;4, 2, T, Q&gt; const&amp; m2);</div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;        GLM_FUNC_DECL constexpr <span class="keywordtype">bool</span> operator!=(mat&lt;4, 2, T, Q&gt; const&amp; m1, mat&lt;4, 2, T, Q&gt; const&amp; m2);</div>
 <div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;}<span class="comment">//namespace glm</span></div>
 <div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160; </div>
 <div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;<span class="preprocessor">#ifndef GLM_EXTERNAL_TEMPLATE</span></div>

+ 32 - 32
doc/api/a00065_source.html

@@ -96,14 +96,14 @@ $(function() {
 <div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;                <span class="comment">// -- Accesses --</span></div>
 <div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160; </div>
 <div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;                <span class="keyword">typedef</span> length_t length_type;</div>
-<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;                GLM_FUNC_DECL <span class="keyword">static</span> GLM_CONSTEXPR length_type <a class="code" href="a00862.html#gab703732449be6c7199369b3f9a91ed38">length</a>() { <span class="keywordflow">return</span> 4; }</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;                GLM_FUNC_DECL <span class="keyword">static</span> constexpr length_type <a class="code" href="a00862.html#gab703732449be6c7199369b3f9a91ed38">length</a>() { <span class="keywordflow">return</span> 4; }</div>
 <div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160; </div>
-<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;                GLM_FUNC_DECL GLM_CONSTEXPR col_type &amp; operator[](length_type i) GLM_NOEXCEPT;</div>
-<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;                GLM_FUNC_DECL GLM_CONSTEXPR col_type <span class="keyword">const</span>&amp; operator[](length_type i) <span class="keyword">const</span> GLM_NOEXCEPT;</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;                GLM_FUNC_DECL constexpr col_type &amp; operator[](length_type i) GLM_NOEXCEPT;</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;                GLM_FUNC_DECL constexpr col_type <span class="keyword">const</span>&amp; operator[](length_type i) <span class="keyword">const</span> GLM_NOEXCEPT;</div>
 <div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160; </div>
 <div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;                <span class="comment">// -- Constructors --</span></div>
 <div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160; </div>
-<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;                GLM_DEFAULTED_DEFAULT_CTOR_DECL GLM_CONSTEXPR mat() GLM_DEFAULT_CTOR;</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;                GLM_DEFAULTED_DEFAULT_CTOR_DECL constexpr mat() GLM_DEFAULT_CTOR;</div>
 <div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;                template&lt;qualifier P&gt;</div>
 <div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;                GLM_CTOR_DECL mat(mat&lt;4, 3, T, P&gt; const&amp; m);</div>
 <div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160; </div>
@@ -156,84 +156,84 @@ $(function() {
 <div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;                <span class="comment">// -- Unary arithmetic operators --</span></div>
 <div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160; </div>
 <div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;                template&lt;typename U&gt;</div>
-<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat&lt;4, 3, T, Q&gt; &amp; operator=(mat&lt;4, 3, U, Q&gt; const&amp; m);</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr mat&lt;4, 3, T, Q&gt; &amp; operator=(mat&lt;4, 3, U, Q&gt; const&amp; m);</div>
 <div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;                template&lt;typename U&gt;</div>
-<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat&lt;4, 3, T, Q&gt; &amp; operator+=(U s);</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr mat&lt;4, 3, T, Q&gt; &amp; operator+=(U s);</div>
 <div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;                template&lt;typename U&gt;</div>
-<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat&lt;4, 3, T, Q&gt; &amp; operator+=(mat&lt;4, 3, U, Q&gt; const&amp; m);</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr mat&lt;4, 3, T, Q&gt; &amp; operator+=(mat&lt;4, 3, U, Q&gt; const&amp; m);</div>
 <div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;                template&lt;typename U&gt;</div>
-<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat&lt;4, 3, T, Q&gt; &amp; operator-=(U s);</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr mat&lt;4, 3, T, Q&gt; &amp; operator-=(U s);</div>
 <div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;                template&lt;typename U&gt;</div>
-<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat&lt;4, 3, T, Q&gt; &amp; operator-=(mat&lt;4, 3, U, Q&gt; const&amp; m);</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr mat&lt;4, 3, T, Q&gt; &amp; operator-=(mat&lt;4, 3, U, Q&gt; const&amp; m);</div>
 <div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;                template&lt;typename U&gt;</div>
-<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat&lt;4, 3, T, Q&gt; &amp; operator*=(U s);</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr mat&lt;4, 3, T, Q&gt; &amp; operator*=(U s);</div>
 <div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;                template&lt;typename U&gt;</div>
-<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat&lt;4, 3, T, Q&gt; &amp; operator/=(U s);</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr mat&lt;4, 3, T, Q&gt; &amp; operator/=(U s);</div>
 <div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160; </div>
 <div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;                <span class="comment">// -- Increment and decrement operators --</span></div>
 <div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160; </div>
-<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat&lt;4, 3, T, Q&gt;&amp; operator++();</div>
-<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat&lt;4, 3, T, Q&gt;&amp; operator--();</div>
-<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;                GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;4, 3, T, Q&gt; operator++(<span class="keywordtype">int</span>);</div>
-<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;                GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;4, 3, T, Q&gt; operator--(<span class="keywordtype">int</span>);</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr mat&lt;4, 3, T, Q&gt;&amp; operator++();</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr mat&lt;4, 3, T, Q&gt;&amp; operator--();</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;                GLM_FUNC_DECL constexpr mat&lt;4, 3, T, Q&gt; operator++(<span class="keywordtype">int</span>);</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;                GLM_FUNC_DECL constexpr mat&lt;4, 3, T, Q&gt; operator--(<span class="keywordtype">int</span>);</div>
 <div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;        };</div>
 <div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160; </div>
 <div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;        <span class="comment">// -- Unary operators --</span></div>
 <div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160; </div>
 <div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;4, 3, T, Q&gt; operator+(mat&lt;4, 3, T, Q&gt; const&amp; m);</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;4, 3, T, Q&gt; operator+(mat&lt;4, 3, T, Q&gt; const&amp; m);</div>
 <div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160; </div>
 <div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;4, 3, T, Q&gt; operator-(mat&lt;4, 3, T, Q&gt; const&amp; m);</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;4, 3, T, Q&gt; operator-(mat&lt;4, 3, T, Q&gt; const&amp; m);</div>
 <div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160; </div>
 <div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;        <span class="comment">// -- Binary operators --</span></div>
 <div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160; </div>
 <div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;4, 3, T, Q&gt; operator+(mat&lt;4, 3, T, Q&gt; const&amp; m, T scalar);</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;4, 3, T, Q&gt; operator+(mat&lt;4, 3, T, Q&gt; const&amp; m, T scalar);</div>
 <div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160; </div>
 <div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;4, 3, T, Q&gt; operator+(mat&lt;4, 3, T, Q&gt; const&amp; m1, mat&lt;4, 3, T, Q&gt; const&amp; m2);</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;4, 3, T, Q&gt; operator+(mat&lt;4, 3, T, Q&gt; const&amp; m1, mat&lt;4, 3, T, Q&gt; const&amp; m2);</div>
 <div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160; </div>
 <div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;4, 3, T, Q&gt; operator-(mat&lt;4, 3, T, Q&gt; const&amp; m, T scalar);</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;4, 3, T, Q&gt; operator-(mat&lt;4, 3, T, Q&gt; const&amp; m, T scalar);</div>
 <div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160; </div>
 <div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;4, 3, T, Q&gt; operator-(mat&lt;4, 3, T, Q&gt; const&amp; m1, mat&lt;4, 3, T, Q&gt; const&amp; m2);</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;4, 3, T, Q&gt; operator-(mat&lt;4, 3, T, Q&gt; const&amp; m1, mat&lt;4, 3, T, Q&gt; const&amp; m2);</div>
 <div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160; </div>
 <div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;4, 3, T, Q&gt; operator*(mat&lt;4, 3, T, Q&gt; const&amp; m, T scalar);</div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;4, 3, T, Q&gt; operator*(mat&lt;4, 3, T, Q&gt; const&amp; m, T scalar);</div>
 <div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160; </div>
 <div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;4, 3, T, Q&gt; operator*(T scalar, mat&lt;4, 3, T, Q&gt; const&amp; m);</div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;4, 3, T, Q&gt; operator*(T scalar, mat&lt;4, 3, T, Q&gt; const&amp; m);</div>
 <div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160; </div>
 <div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR typename mat&lt;4, 3, T, Q&gt;::col_type operator*(mat&lt;4, 3, T, Q&gt; const&amp; m, typename mat&lt;4, 3, T, Q&gt;::row_type const&amp; v);</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;        GLM_FUNC_DECL constexpr typename mat&lt;4, 3, T, Q&gt;::col_type operator*(mat&lt;4, 3, T, Q&gt; const&amp; m, typename mat&lt;4, 3, T, Q&gt;::row_type const&amp; v);</div>
 <div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160; </div>
 <div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR typename mat&lt;4, 3, T, Q&gt;::row_type operator*(typename mat&lt;4, 3, T, Q&gt;::col_type const&amp; v, mat&lt;4, 3, T, Q&gt; const&amp; m);</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;        GLM_FUNC_DECL constexpr typename mat&lt;4, 3, T, Q&gt;::row_type operator*(typename mat&lt;4, 3, T, Q&gt;::col_type const&amp; v, mat&lt;4, 3, T, Q&gt; const&amp; m);</div>
 <div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160; </div>
 <div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;2, 3, T, Q&gt; operator*(mat&lt;4, 3, T, Q&gt; const&amp; m1, mat&lt;2, 4, T, Q&gt; const&amp; m2);</div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;2, 3, T, Q&gt; operator*(mat&lt;4, 3, T, Q&gt; const&amp; m1, mat&lt;2, 4, T, Q&gt; const&amp; m2);</div>
 <div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160; </div>
 <div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;3, 3, T, Q&gt; operator*(mat&lt;4, 3, T, Q&gt; const&amp; m1,        mat&lt;3, 4, T, Q&gt; const&amp; m2);</div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;3, 3, T, Q&gt; operator*(mat&lt;4, 3, T, Q&gt; const&amp; m1,        mat&lt;3, 4, T, Q&gt; const&amp; m2);</div>
 <div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160; </div>
 <div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;4, 3, T, Q&gt; operator*(mat&lt;4, 3, T, Q&gt; const&amp; m1, mat&lt;4, 4, T, Q&gt; const&amp; m2);</div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;4, 3, T, Q&gt; operator*(mat&lt;4, 3, T, Q&gt; const&amp; m1, mat&lt;4, 4, T, Q&gt; const&amp; m2);</div>
 <div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160; </div>
 <div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;4, 3, T, Q&gt; operator/(mat&lt;4, 3, T, Q&gt; const&amp; m, T scalar);</div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;4, 3, T, Q&gt; operator/(mat&lt;4, 3, T, Q&gt; const&amp; m, T scalar);</div>
 <div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160; </div>
 <div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;4, 3, T, Q&gt; operator/(T scalar, mat&lt;4, 3, T, Q&gt; const&amp; m);</div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;4, 3, T, Q&gt; operator/(T scalar, mat&lt;4, 3, T, Q&gt; const&amp; m);</div>
 <div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160; </div>
 <div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;        <span class="comment">// -- Boolean operators --</span></div>
 <div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160; </div>
 <div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR <span class="keywordtype">bool</span> operator==(mat&lt;4, 3, T, Q&gt; const&amp; m1, mat&lt;4, 3, T, Q&gt; const&amp; m2);</div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;        GLM_FUNC_DECL constexpr <span class="keywordtype">bool</span> operator==(mat&lt;4, 3, T, Q&gt; const&amp; m1, mat&lt;4, 3, T, Q&gt; const&amp; m2);</div>
 <div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160; </div>
 <div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR <span class="keywordtype">bool</span> operator!=(mat&lt;4, 3, T, Q&gt; const&amp; m1, mat&lt;4, 3, T, Q&gt; const&amp; m2);</div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;        GLM_FUNC_DECL constexpr <span class="keywordtype">bool</span> operator!=(mat&lt;4, 3, T, Q&gt; const&amp; m1, mat&lt;4, 3, T, Q&gt; const&amp; m2);</div>
 <div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;}<span class="comment">//namespace glm</span></div>
 <div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160; </div>
 <div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;<span class="preprocessor">#ifndef GLM_EXTERNAL_TEMPLATE</span></div>

+ 39 - 39
doc/api/a00068_source.html

@@ -95,14 +95,14 @@ $(function() {
 <div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;                <span class="comment">// -- Accesses --</span></div>
 <div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160; </div>
 <div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;                <span class="keyword">typedef</span> length_t length_type;</div>
-<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;                GLM_FUNC_DECL <span class="keyword">static</span> GLM_CONSTEXPR length_type <a class="code" href="a00862.html#gab703732449be6c7199369b3f9a91ed38">length</a>(){<span class="keywordflow">return</span> 4;}</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;                GLM_FUNC_DECL <span class="keyword">static</span> constexpr length_type <a class="code" href="a00862.html#gab703732449be6c7199369b3f9a91ed38">length</a>(){<span class="keywordflow">return</span> 4;}</div>
 <div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160; </div>
-<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;                GLM_FUNC_DECL GLM_CONSTEXPR col_type &amp; operator[](length_type i) GLM_NOEXCEPT;</div>
-<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;                GLM_FUNC_DECL GLM_CONSTEXPR col_type <span class="keyword">const</span>&amp; operator[](length_type i) <span class="keyword">const</span> GLM_NOEXCEPT;</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;                GLM_FUNC_DECL constexpr col_type &amp; operator[](length_type i) GLM_NOEXCEPT;</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;                GLM_FUNC_DECL constexpr col_type <span class="keyword">const</span>&amp; operator[](length_type i) <span class="keyword">const</span> GLM_NOEXCEPT;</div>
 <div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160; </div>
 <div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;                <span class="comment">// -- Constructors --</span></div>
 <div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160; </div>
-<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;                GLM_DEFAULTED_DEFAULT_CTOR_DECL GLM_CONSTEXPR mat() GLM_DEFAULT_CTOR;</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;                GLM_DEFAULTED_DEFAULT_CTOR_DECL constexpr mat() GLM_DEFAULT_CTOR;</div>
 <div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;                template&lt;qualifier P&gt;</div>
 <div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;                GLM_CTOR_DECL mat(mat&lt;4, 4, T, P&gt; const&amp; m);</div>
 <div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160; </div>
@@ -155,103 +155,103 @@ $(function() {
 <div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;                <span class="comment">// -- Unary arithmetic operators --</span></div>
 <div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160; </div>
 <div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;                template&lt;typename U&gt;</div>
-<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat&lt;4, 4, T, Q&gt; &amp; operator=(mat&lt;4, 4, U, Q&gt; const&amp; m);</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr mat&lt;4, 4, T, Q&gt; &amp; operator=(mat&lt;4, 4, U, Q&gt; const&amp; m);</div>
 <div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;                template&lt;typename U&gt;</div>
-<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat&lt;4, 4, T, Q&gt; &amp; operator+=(U s);</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr mat&lt;4, 4, T, Q&gt; &amp; operator+=(U s);</div>
 <div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;                template&lt;typename U&gt;</div>
-<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat&lt;4, 4, T, Q&gt; &amp; operator+=(mat&lt;4, 4, U, Q&gt; const&amp; m);</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr mat&lt;4, 4, T, Q&gt; &amp; operator+=(mat&lt;4, 4, U, Q&gt; const&amp; m);</div>
 <div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;                template&lt;typename U&gt;</div>
-<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat&lt;4, 4, T, Q&gt; &amp; operator-=(U s);</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr mat&lt;4, 4, T, Q&gt; &amp; operator-=(U s);</div>
 <div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;                template&lt;typename U&gt;</div>
-<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat&lt;4, 4, T, Q&gt; &amp; operator-=(mat&lt;4, 4, U, Q&gt; const&amp; m);</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr mat&lt;4, 4, T, Q&gt; &amp; operator-=(mat&lt;4, 4, U, Q&gt; const&amp; m);</div>
 <div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;                template&lt;typename U&gt;</div>
-<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat&lt;4, 4, T, Q&gt; &amp; operator*=(U s);</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr mat&lt;4, 4, T, Q&gt; &amp; operator*=(U s);</div>
 <div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;                template&lt;typename U&gt;</div>
-<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat&lt;4, 4, T, Q&gt; &amp; operator*=(mat&lt;4, 4, U, Q&gt; const&amp; m);</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr mat&lt;4, 4, T, Q&gt; &amp; operator*=(mat&lt;4, 4, U, Q&gt; const&amp; m);</div>
 <div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;                template&lt;typename U&gt;</div>
-<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat&lt;4, 4, T, Q&gt; &amp; operator/=(U s);</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr mat&lt;4, 4, T, Q&gt; &amp; operator/=(U s);</div>
 <div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;                template&lt;typename U&gt;</div>
-<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat&lt;4, 4, T, Q&gt; &amp; operator/=(mat&lt;4, 4, U, Q&gt; const&amp; m);</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr mat&lt;4, 4, T, Q&gt; &amp; operator/=(mat&lt;4, 4, U, Q&gt; const&amp; m);</div>
 <div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160; </div>
 <div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;                <span class="comment">// -- Increment and decrement operators --</span></div>
 <div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160; </div>
-<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat&lt;4, 4, T, Q&gt; &amp; operator++();</div>
-<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat&lt;4, 4, T, Q&gt; &amp; operator--();</div>
-<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;                GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;4, 4, T, Q&gt; operator++(<span class="keywordtype">int</span>);</div>
-<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;                GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;4, 4, T, Q&gt; operator--(<span class="keywordtype">int</span>);</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr mat&lt;4, 4, T, Q&gt; &amp; operator++();</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr mat&lt;4, 4, T, Q&gt; &amp; operator--();</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;                GLM_FUNC_DECL constexpr mat&lt;4, 4, T, Q&gt; operator++(<span class="keywordtype">int</span>);</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;                GLM_FUNC_DECL constexpr mat&lt;4, 4, T, Q&gt; operator--(<span class="keywordtype">int</span>);</div>
 <div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;        };</div>
 <div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160; </div>
 <div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;        <span class="comment">// -- Unary operators --</span></div>
 <div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160; </div>
 <div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;4, 4, T, Q&gt; operator+(mat&lt;4, 4, T, Q&gt; const&amp; m);</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;4, 4, T, Q&gt; operator+(mat&lt;4, 4, T, Q&gt; const&amp; m);</div>
 <div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160; </div>
 <div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;4, 4, T, Q&gt; operator-(mat&lt;4, 4, T, Q&gt; const&amp; m);</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;4, 4, T, Q&gt; operator-(mat&lt;4, 4, T, Q&gt; const&amp; m);</div>
 <div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160; </div>
 <div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;        <span class="comment">// -- Binary operators --</span></div>
 <div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160; </div>
 <div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;4, 4, T, Q&gt; operator+(mat&lt;4, 4, T, Q&gt; const&amp; m, T scalar);</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;4, 4, T, Q&gt; operator+(mat&lt;4, 4, T, Q&gt; const&amp; m, T scalar);</div>
 <div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160; </div>
 <div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;4, 4, T, Q&gt; operator+(T scalar, mat&lt;4, 4, T, Q&gt; const&amp; m);</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;4, 4, T, Q&gt; operator+(T scalar, mat&lt;4, 4, T, Q&gt; const&amp; m);</div>
 <div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160; </div>
 <div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;4, 4, T, Q&gt; operator+(mat&lt;4, 4, T, Q&gt; const&amp; m1, mat&lt;4, 4, T, Q&gt; const&amp; m2);</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;4, 4, T, Q&gt; operator+(mat&lt;4, 4, T, Q&gt; const&amp; m1, mat&lt;4, 4, T, Q&gt; const&amp; m2);</div>
 <div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160; </div>
 <div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;4, 4, T, Q&gt; operator-(mat&lt;4, 4, T, Q&gt; const&amp; m, T scalar);</div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;4, 4, T, Q&gt; operator-(mat&lt;4, 4, T, Q&gt; const&amp; m, T scalar);</div>
 <div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160; </div>
 <div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;4, 4, T, Q&gt; operator-(T scalar, mat&lt;4, 4, T, Q&gt; const&amp; m);</div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;4, 4, T, Q&gt; operator-(T scalar, mat&lt;4, 4, T, Q&gt; const&amp; m);</div>
 <div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160; </div>
 <div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;4, 4, T, Q&gt; operator-(mat&lt;4, 4, T, Q&gt; const&amp; m1,        mat&lt;4, 4, T, Q&gt; const&amp; m2);</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;4, 4, T, Q&gt; operator-(mat&lt;4, 4, T, Q&gt; const&amp; m1,        mat&lt;4, 4, T, Q&gt; const&amp; m2);</div>
 <div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160; </div>
 <div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;4, 4, T, Q&gt; operator*(mat&lt;4, 4, T, Q&gt; const&amp; m, T scalar);</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;4, 4, T, Q&gt; operator*(mat&lt;4, 4, T, Q&gt; const&amp; m, T scalar);</div>
 <div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160; </div>
 <div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;4, 4, T, Q&gt; operator*(T scalar, mat&lt;4, 4, T, Q&gt; const&amp; m);</div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;4, 4, T, Q&gt; operator*(T scalar, mat&lt;4, 4, T, Q&gt; const&amp; m);</div>
 <div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160; </div>
 <div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR typename mat&lt;4, 4, T, Q&gt;::col_type operator*(mat&lt;4, 4, T, Q&gt; const&amp; m, typename mat&lt;4, 4, T, Q&gt;::row_type const&amp; v);</div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;        GLM_FUNC_DECL constexpr typename mat&lt;4, 4, T, Q&gt;::col_type operator*(mat&lt;4, 4, T, Q&gt; const&amp; m, typename mat&lt;4, 4, T, Q&gt;::row_type const&amp; v);</div>
 <div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160; </div>
 <div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR typename mat&lt;4, 4, T, Q&gt;::row_type operator*(typename mat&lt;4, 4, T, Q&gt;::col_type const&amp; v, mat&lt;4, 4, T, Q&gt; const&amp; m);</div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;        GLM_FUNC_DECL constexpr typename mat&lt;4, 4, T, Q&gt;::row_type operator*(typename mat&lt;4, 4, T, Q&gt;::col_type const&amp; v, mat&lt;4, 4, T, Q&gt; const&amp; m);</div>
 <div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160; </div>
 <div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;2, 4, T, Q&gt; operator*(mat&lt;4, 4, T, Q&gt; const&amp; m1, mat&lt;2, 4, T, Q&gt; const&amp; m2);</div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;2, 4, T, Q&gt; operator*(mat&lt;4, 4, T, Q&gt; const&amp; m1, mat&lt;2, 4, T, Q&gt; const&amp; m2);</div>
 <div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160; </div>
 <div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;3, 4, T, Q&gt; operator*(mat&lt;4, 4, T, Q&gt; const&amp; m1, mat&lt;3, 4, T, Q&gt; const&amp; m2);</div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;3, 4, T, Q&gt; operator*(mat&lt;4, 4, T, Q&gt; const&amp; m1, mat&lt;3, 4, T, Q&gt; const&amp; m2);</div>
 <div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160; </div>
 <div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;4, 4, T, Q&gt; operator*(mat&lt;4, 4, T, Q&gt; const&amp; m1, mat&lt;4, 4, T, Q&gt; const&amp; m2);</div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;4, 4, T, Q&gt; operator*(mat&lt;4, 4, T, Q&gt; const&amp; m1, mat&lt;4, 4, T, Q&gt; const&amp; m2);</div>
 <div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160; </div>
 <div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;4, 4, T, Q&gt; operator/(mat&lt;4, 4, T, Q&gt; const&amp; m, T scalar);</div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;4, 4, T, Q&gt; operator/(mat&lt;4, 4, T, Q&gt; const&amp; m, T scalar);</div>
 <div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160; </div>
 <div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;4, 4, T, Q&gt; operator/(T scalar, mat&lt;4, 4, T, Q&gt; const&amp; m);</div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;4, 4, T, Q&gt; operator/(T scalar, mat&lt;4, 4, T, Q&gt; const&amp; m);</div>
 <div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160; </div>
 <div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR typename mat&lt;4, 4, T, Q&gt;::col_type operator/(mat&lt;4, 4, T, Q&gt; const&amp; m, typename mat&lt;4, 4, T, Q&gt;::row_type const&amp; v);</div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;        GLM_FUNC_DECL constexpr typename mat&lt;4, 4, T, Q&gt;::col_type operator/(mat&lt;4, 4, T, Q&gt; const&amp; m, typename mat&lt;4, 4, T, Q&gt;::row_type const&amp; v);</div>
 <div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160; </div>
 <div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR typename mat&lt;4, 4, T, Q&gt;::row_type operator/(typename mat&lt;4, 4, T, Q&gt;::col_type const&amp; v, mat&lt;4, 4, T, Q&gt; const&amp; m);</div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;        GLM_FUNC_DECL constexpr typename mat&lt;4, 4, T, Q&gt;::row_type operator/(typename mat&lt;4, 4, T, Q&gt;::col_type const&amp; v, mat&lt;4, 4, T, Q&gt; const&amp; m);</div>
 <div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160; </div>
 <div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;4, 4, T, Q&gt; operator/(mat&lt;4, 4, T, Q&gt; const&amp; m1,        mat&lt;4, 4, T, Q&gt; const&amp; m2);</div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;4, 4, T, Q&gt; operator/(mat&lt;4, 4, T, Q&gt; const&amp; m1,        mat&lt;4, 4, T, Q&gt; const&amp; m2);</div>
 <div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160; </div>
 <div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;        <span class="comment">// -- Boolean operators --</span></div>
 <div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160; </div>
 <div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR <span class="keywordtype">bool</span> operator==(mat&lt;4, 4, T, Q&gt; const&amp; m1, mat&lt;4, 4, T, Q&gt; const&amp; m2);</div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;        GLM_FUNC_DECL constexpr <span class="keywordtype">bool</span> operator==(mat&lt;4, 4, T, Q&gt; const&amp; m1, mat&lt;4, 4, T, Q&gt; const&amp; m2);</div>
 <div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160; </div>
 <div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR <span class="keywordtype">bool</span> operator!=(mat&lt;4, 4, T, Q&gt; const&amp; m1, mat&lt;4, 4, T, Q&gt; const&amp; m2);</div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;        GLM_FUNC_DECL constexpr <span class="keywordtype">bool</span> operator!=(mat&lt;4, 4, T, Q&gt; const&amp; m1, mat&lt;4, 4, T, Q&gt; const&amp; m2);</div>
 <div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;}<span class="comment">//namespace glm</span></div>
 <div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160; </div>
 <div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;<span class="preprocessor">#ifndef GLM_EXTERNAL_TEMPLATE</span></div>

+ 27 - 27
doc/api/a00071_source.html

@@ -132,15 +132,15 @@ $(function() {
 <div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160; </div>
 <div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;                <span class="keyword">typedef</span> length_t length_type;</div>
 <div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160; </div>
-<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;                GLM_FUNC_DECL <span class="keyword">static</span> GLM_CONSTEXPR length_type <a class="code" href="a00862.html#gab703732449be6c7199369b3f9a91ed38">length</a>(){<span class="keywordflow">return</span> 4;}</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;                GLM_FUNC_DECL <span class="keyword">static</span> constexpr length_type <a class="code" href="a00862.html#gab703732449be6c7199369b3f9a91ed38">length</a>(){<span class="keywordflow">return</span> 4;}</div>
 <div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160; </div>
-<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;                GLM_FUNC_DECL GLM_CONSTEXPR T &amp; operator[](length_type i);</div>
-<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;                GLM_FUNC_DECL GLM_CONSTEXPR T <span class="keyword">const</span>&amp; operator[](length_type i) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;                GLM_FUNC_DECL constexpr T &amp; operator[](length_type i);</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;                GLM_FUNC_DECL constexpr T <span class="keyword">const</span>&amp; operator[](length_type i) <span class="keyword">const</span>;</div>
 <div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160; </div>
 <div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;                <span class="comment">// -- Implicit basic constructors --</span></div>
 <div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160; </div>
-<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;                GLM_DEFAULTED_DEFAULT_CTOR_DECL GLM_CONSTEXPR qua() GLM_DEFAULT_CTOR;</div>
-<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;                GLM_DEFAULTED_FUNC_DECL GLM_CONSTEXPR qua(qua&lt;T, Q&gt; const&amp; q) GLM_DEFAULT;</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;                GLM_DEFAULTED_DEFAULT_CTOR_DECL constexpr qua() GLM_DEFAULT_CTOR;</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;                GLM_DEFAULTED_FUNC_DECL constexpr qua(qua&lt;T, Q&gt; const&amp; q) GLM_DEFAULT;</div>
 <div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;                template&lt;qualifier P&gt;</div>
 <div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;                GLM_CTOR_DECL qua(qua&lt;T, P&gt; const&amp; q);</div>
 <div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160; </div>
@@ -154,7 +154,7 @@ $(function() {
 <div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;                GLM_CTOR_DECL qua(T w, T x, T y, T z);</div>
 <div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="preprocessor">#               endif</span></div>
 <div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160; </div>
-<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;                GLM_FUNC_DECL <span class="keyword">static</span> GLM_CONSTEXPR qua&lt;T, Q&gt; wxyz(T w, T x, T y, T z);</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;                GLM_FUNC_DECL <span class="keyword">static</span> constexpr qua&lt;T, Q&gt; wxyz(T w, T x, T y, T z);</div>
 <div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160; </div>
 <div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;                <span class="comment">// -- Conversion constructors --</span></div>
 <div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160; </div>
@@ -174,20 +174,20 @@ $(function() {
 <div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160; </div>
 <div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;                <span class="comment">// -- Unary arithmetic operators --</span></div>
 <div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160; </div>
-<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;                GLM_DEFAULTED_FUNC_DECL GLM_CONSTEXPR qua&lt;T, Q&gt;&amp; operator=(qua&lt;T, Q&gt; <span class="keyword">const</span>&amp; q) GLM_DEFAULT;</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;                GLM_DEFAULTED_FUNC_DECL constexpr qua&lt;T, Q&gt;&amp; operator=(qua&lt;T, Q&gt; <span class="keyword">const</span>&amp; q) GLM_DEFAULT;</div>
 <div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160; </div>
 <div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR qua&lt;T, Q&gt;&amp; operator=(qua&lt;U, Q&gt; <span class="keyword">const</span>&amp; q);</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr qua&lt;T, Q&gt;&amp; operator=(qua&lt;U, Q&gt; <span class="keyword">const</span>&amp; q);</div>
 <div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR qua&lt;T, Q&gt;&amp; operator+=(qua&lt;U, Q&gt; <span class="keyword">const</span>&amp; q);</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr qua&lt;T, Q&gt;&amp; operator+=(qua&lt;U, Q&gt; <span class="keyword">const</span>&amp; q);</div>
 <div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR qua&lt;T, Q&gt;&amp; operator-=(qua&lt;U, Q&gt; <span class="keyword">const</span>&amp; q);</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr qua&lt;T, Q&gt;&amp; operator-=(qua&lt;U, Q&gt; <span class="keyword">const</span>&amp; q);</div>
 <div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR qua&lt;T, Q&gt;&amp; operator*=(qua&lt;U, Q&gt; <span class="keyword">const</span>&amp; q);</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr qua&lt;T, Q&gt;&amp; operator*=(qua&lt;U, Q&gt; <span class="keyword">const</span>&amp; q);</div>
 <div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR qua&lt;T, Q&gt;&amp; operator*=(U s);</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr qua&lt;T, Q&gt;&amp; operator*=(U s);</div>
 <div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR qua&lt;T, Q&gt;&amp; operator/=(U s);</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr qua&lt;T, Q&gt;&amp; operator/=(U s);</div>
 <div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;        };</div>
 <div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160; </div>
 <div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="preprocessor">#               if GLM_SILENT_WARNINGS == GLM_ENABLE</span></div>
@@ -203,50 +203,50 @@ $(function() {
 <div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;        <span class="comment">// -- Unary bit operators --</span></div>
 <div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160; </div>
 <div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR qua&lt;T, Q&gt; operator+(qua&lt;T, Q&gt; <span class="keyword">const</span>&amp; q);</div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;        GLM_FUNC_DECL constexpr qua&lt;T, Q&gt; operator+(qua&lt;T, Q&gt; <span class="keyword">const</span>&amp; q);</div>
 <div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160; </div>
 <div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR qua&lt;T, Q&gt; operator-(qua&lt;T, Q&gt; <span class="keyword">const</span>&amp; q);</div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;        GLM_FUNC_DECL constexpr qua&lt;T, Q&gt; operator-(qua&lt;T, Q&gt; <span class="keyword">const</span>&amp; q);</div>
 <div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160; </div>
 <div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;        <span class="comment">// -- Binary operators --</span></div>
 <div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160; </div>
 <div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR qua&lt;T, Q&gt; operator+(qua&lt;T, Q&gt; <span class="keyword">const</span>&amp; q, qua&lt;T, Q&gt; <span class="keyword">const</span>&amp; p);</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;        GLM_FUNC_DECL constexpr qua&lt;T, Q&gt; operator+(qua&lt;T, Q&gt; <span class="keyword">const</span>&amp; q, qua&lt;T, Q&gt; <span class="keyword">const</span>&amp; p);</div>
 <div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160; </div>
 <div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR qua&lt;T, Q&gt; operator-(qua&lt;T, Q&gt; <span class="keyword">const</span>&amp; q, qua&lt;T, Q&gt; <span class="keyword">const</span>&amp; p);</div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;        GLM_FUNC_DECL constexpr qua&lt;T, Q&gt; operator-(qua&lt;T, Q&gt; <span class="keyword">const</span>&amp; q, qua&lt;T, Q&gt; <span class="keyword">const</span>&amp; p);</div>
 <div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160; </div>
 <div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR qua&lt;T, Q&gt; operator*(qua&lt;T, Q&gt; <span class="keyword">const</span>&amp; q, qua&lt;T, Q&gt; <span class="keyword">const</span>&amp; p);</div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;        GLM_FUNC_DECL constexpr qua&lt;T, Q&gt; operator*(qua&lt;T, Q&gt; <span class="keyword">const</span>&amp; q, qua&lt;T, Q&gt; <span class="keyword">const</span>&amp; p);</div>
 <div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160; </div>
 <div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; operator*(qua&lt;T, Q&gt; <span class="keyword">const</span>&amp; q, vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;3, T, Q&gt; operator*(qua&lt;T, Q&gt; <span class="keyword">const</span>&amp; q, vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160; </div>
 <div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; operator*(vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v, qua&lt;T, Q&gt; <span class="keyword">const</span>&amp; q);</div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;3, T, Q&gt; operator*(vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v, qua&lt;T, Q&gt; <span class="keyword">const</span>&amp; q);</div>
 <div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160; </div>
 <div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;4, T, Q&gt; operator*(qua&lt;T, Q&gt; <span class="keyword">const</span>&amp; q, vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;4, T, Q&gt; operator*(qua&lt;T, Q&gt; <span class="keyword">const</span>&amp; q, vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160; </div>
 <div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;4, T, Q&gt; operator*(vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v, qua&lt;T, Q&gt; <span class="keyword">const</span>&amp; q);</div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;4, T, Q&gt; operator*(vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v, qua&lt;T, Q&gt; <span class="keyword">const</span>&amp; q);</div>
 <div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160; </div>
 <div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR qua&lt;T, Q&gt; operator*(qua&lt;T, Q&gt; <span class="keyword">const</span>&amp; q, T <span class="keyword">const</span>&amp; s);</div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;        GLM_FUNC_DECL constexpr qua&lt;T, Q&gt; operator*(qua&lt;T, Q&gt; <span class="keyword">const</span>&amp; q, T <span class="keyword">const</span>&amp; s);</div>
 <div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160; </div>
 <div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR qua&lt;T, Q&gt; operator*(T <span class="keyword">const</span>&amp; s, qua&lt;T, Q&gt; <span class="keyword">const</span>&amp; q);</div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;        GLM_FUNC_DECL constexpr qua&lt;T, Q&gt; operator*(T <span class="keyword">const</span>&amp; s, qua&lt;T, Q&gt; <span class="keyword">const</span>&amp; q);</div>
 <div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160; </div>
 <div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR qua&lt;T, Q&gt; operator/(qua&lt;T, Q&gt; <span class="keyword">const</span>&amp; q, T <span class="keyword">const</span>&amp; s);</div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;        GLM_FUNC_DECL constexpr qua&lt;T, Q&gt; operator/(qua&lt;T, Q&gt; <span class="keyword">const</span>&amp; q, T <span class="keyword">const</span>&amp; s);</div>
 <div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160; </div>
 <div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;        <span class="comment">// -- Boolean operators --</span></div>
 <div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160; </div>
 <div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR <span class="keywordtype">bool</span> operator==(qua&lt;T, Q&gt; <span class="keyword">const</span>&amp; q1, qua&lt;T, Q&gt; <span class="keyword">const</span>&amp; q2);</div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;        GLM_FUNC_DECL constexpr <span class="keywordtype">bool</span> operator==(qua&lt;T, Q&gt; <span class="keyword">const</span>&amp; q1, qua&lt;T, Q&gt; <span class="keyword">const</span>&amp; q2);</div>
 <div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160; </div>
 <div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR <span class="keywordtype">bool</span> operator!=(qua&lt;T, Q&gt; <span class="keyword">const</span>&amp; q1, qua&lt;T, Q&gt; <span class="keyword">const</span>&amp; q2);</div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;        GLM_FUNC_DECL constexpr <span class="keywordtype">bool</span> operator!=(qua&lt;T, Q&gt; <span class="keyword">const</span>&amp; q1, qua&lt;T, Q&gt; <span class="keyword">const</span>&amp; q2);</div>
 <div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;} <span class="comment">//namespace glm</span></div>
 <div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160; </div>
 <div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;<span class="preprocessor">#ifndef GLM_EXTERNAL_TEMPLATE</span></div>

+ 69 - 69
doc/api/a00074_source.html

@@ -154,15 +154,15 @@ $(function() {
 <div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;                <span class="comment">// -- Component accesses --</span></div>
 <div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160; </div>
 <div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;                <span class="keyword">typedef</span> length_t length_type;</div>
-<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;                GLM_FUNC_DECL <span class="keyword">static</span> GLM_CONSTEXPR length_type <a class="code" href="a00862.html#gab703732449be6c7199369b3f9a91ed38">length</a>(){<span class="keywordflow">return</span> 1;}</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;                GLM_FUNC_DECL <span class="keyword">static</span> constexpr length_type <a class="code" href="a00862.html#gab703732449be6c7199369b3f9a91ed38">length</a>(){<span class="keywordflow">return</span> 1;}</div>
 <div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160; </div>
-<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;                GLM_FUNC_DECL GLM_CONSTEXPR T &amp; operator[](length_type i);</div>
-<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;                GLM_FUNC_DECL GLM_CONSTEXPR T <span class="keyword">const</span>&amp; operator[](length_type i) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;                GLM_FUNC_DECL constexpr T &amp; operator[](length_type i);</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;                GLM_FUNC_DECL constexpr T <span class="keyword">const</span>&amp; operator[](length_type i) <span class="keyword">const</span>;</div>
 <div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160; </div>
 <div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;                <span class="comment">// -- Implicit basic constructors --</span></div>
 <div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160; </div>
-<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;                GLM_DEFAULTED_DEFAULT_CTOR_DECL GLM_CONSTEXPR vec() GLM_DEFAULT_CTOR;</div>
-<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;                GLM_DEFAULTED_FUNC_DECL GLM_CONSTEXPR vec(vec const&amp; v) GLM_DEFAULT;</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;                GLM_DEFAULTED_DEFAULT_CTOR_DECL constexpr vec() GLM_DEFAULT_CTOR;</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;                GLM_DEFAULTED_FUNC_DECL constexpr vec(vec const&amp; v) GLM_DEFAULT;</div>
 <div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;                template&lt;qualifier P&gt;</div>
 <div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;                GLM_CTOR_DECL vec(vec&lt;1, T, P&gt; const&amp; v);</div>
 <div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160; </div>
@@ -186,7 +186,7 @@ $(function() {
 <div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;<span class="comment">/*</span></div>
 <div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;<span class="comment">#               if GLM_CONFIG_SWIZZLE == GLM_SWIZZLE_OPERATOR</span></div>
 <div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="comment">                        template&lt;int E0&gt;</span></div>
-<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;<span class="comment">                        GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec(detail::_swizzle&lt;1, T, Q, E0, -1,-2,-3&gt; const&amp; that)</span></div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;<span class="comment">                        GLM_FUNC_DISCARD_DECL constexpr vec(detail::_swizzle&lt;1, T, Q, E0, -1,-2,-3&gt; const&amp; that)</span></div>
 <div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;<span class="comment">                        {</span></div>
 <div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;<span class="comment">                                *this = that();</span></div>
 <div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;<span class="comment">                        }</span></div>
@@ -194,178 +194,178 @@ $(function() {
 <div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;<span class="comment">*/</span></div>
 <div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;                <span class="comment">// -- Unary arithmetic operators --</span></div>
 <div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160; </div>
-<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;                GLM_DEFAULTED_FUNC_DECL GLM_CONSTEXPR vec&lt;1, T, Q&gt; &amp; operator=(vec const&amp; v) GLM_DEFAULT;</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;                GLM_DEFAULTED_FUNC_DECL constexpr vec&lt;1, T, Q&gt; &amp; operator=(vec const&amp; v) GLM_DEFAULT;</div>
 <div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160; </div>
 <div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;                template&lt;typename U&gt;</div>
-<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;1, T, Q&gt; &amp; operator=(vec&lt;1, U, Q&gt; const&amp; v);</div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;1, T, Q&gt; &amp; operator=(vec&lt;1, U, Q&gt; const&amp; v);</div>
 <div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;                template&lt;typename U&gt;</div>
-<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;1, T, Q&gt; &amp; operator+=(U scalar);</div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;1, T, Q&gt; &amp; operator+=(U scalar);</div>
 <div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;                template&lt;typename U&gt;</div>
-<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;1, T, Q&gt; &amp; operator+=(vec&lt;1, U, Q&gt; const&amp; v);</div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;1, T, Q&gt; &amp; operator+=(vec&lt;1, U, Q&gt; const&amp; v);</div>
 <div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;                template&lt;typename U&gt;</div>
-<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;1, T, Q&gt; &amp; operator-=(U scalar);</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;1, T, Q&gt; &amp; operator-=(U scalar);</div>
 <div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;                template&lt;typename U&gt;</div>
-<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;1, T, Q&gt; &amp; operator-=(vec&lt;1, U, Q&gt; const&amp; v);</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;1, T, Q&gt; &amp; operator-=(vec&lt;1, U, Q&gt; const&amp; v);</div>
 <div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;                template&lt;typename U&gt;</div>
-<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;1, T, Q&gt; &amp; operator*=(U scalar);</div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;1, T, Q&gt; &amp; operator*=(U scalar);</div>
 <div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;                template&lt;typename U&gt;</div>
-<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;1, T, Q&gt; &amp; operator*=(vec&lt;1, U, Q&gt; const&amp; v);</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;1, T, Q&gt; &amp; operator*=(vec&lt;1, U, Q&gt; const&amp; v);</div>
 <div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;                template&lt;typename U&gt;</div>
-<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;1, T, Q&gt; &amp; operator/=(U scalar);</div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;1, T, Q&gt; &amp; operator/=(U scalar);</div>
 <div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;                template&lt;typename U&gt;</div>
-<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;1, T, Q&gt; &amp; operator/=(vec&lt;1, U, Q&gt; const&amp; v);</div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;1, T, Q&gt; &amp; operator/=(vec&lt;1, U, Q&gt; const&amp; v);</div>
 <div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160; </div>
 <div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;                <span class="comment">// -- Increment and decrement operators --</span></div>
 <div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160; </div>
-<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;1, T, Q&gt; &amp; operator++();</div>
-<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;1, T, Q&gt; &amp; operator--();</div>
-<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;                GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;1, T, Q&gt; operator++(<span class="keywordtype">int</span>);</div>
-<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;                GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;1, T, Q&gt; operator--(<span class="keywordtype">int</span>);</div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;1, T, Q&gt; &amp; operator++();</div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;1, T, Q&gt; &amp; operator--();</div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;                GLM_FUNC_DECL constexpr vec&lt;1, T, Q&gt; operator++(<span class="keywordtype">int</span>);</div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;                GLM_FUNC_DECL constexpr vec&lt;1, T, Q&gt; operator--(<span class="keywordtype">int</span>);</div>
 <div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160; </div>
 <div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;                <span class="comment">// -- Unary bit operators --</span></div>
 <div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160; </div>
 <div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;                template&lt;typename U&gt;</div>
-<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;1, T, Q&gt; &amp; operator%=(U scalar);</div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;1, T, Q&gt; &amp; operator%=(U scalar);</div>
 <div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;                template&lt;typename U&gt;</div>
-<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;1, T, Q&gt; &amp; operator%=(vec&lt;1, U, Q&gt; const&amp; v);</div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;1, T, Q&gt; &amp; operator%=(vec&lt;1, U, Q&gt; const&amp; v);</div>
 <div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;                template&lt;typename U&gt;</div>
-<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;1, T, Q&gt; &amp; operator&amp;=(U scalar);</div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;1, T, Q&gt; &amp; operator&amp;=(U scalar);</div>
 <div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;                template&lt;typename U&gt;</div>
-<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;1, T, Q&gt; &amp; operator&amp;=(vec&lt;1, U, Q&gt; const&amp; v);</div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;1, T, Q&gt; &amp; operator&amp;=(vec&lt;1, U, Q&gt; const&amp; v);</div>
 <div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;                template&lt;typename U&gt;</div>
-<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;1, T, Q&gt; &amp; operator|=(U scalar);</div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;1, T, Q&gt; &amp; operator|=(U scalar);</div>
 <div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;                template&lt;typename U&gt;</div>
-<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;1, T, Q&gt; &amp; operator|=(vec&lt;1, U, Q&gt; const&amp; v);</div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;1, T, Q&gt; &amp; operator|=(vec&lt;1, U, Q&gt; const&amp; v);</div>
 <div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;                template&lt;typename U&gt;</div>
-<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;1, T, Q&gt; &amp; operator^=(U scalar);</div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;1, T, Q&gt; &amp; operator^=(U scalar);</div>
 <div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;                template&lt;typename U&gt;</div>
-<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;1, T, Q&gt; &amp; operator^=(vec&lt;1, U, Q&gt; const&amp; v);</div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;1, T, Q&gt; &amp; operator^=(vec&lt;1, U, Q&gt; const&amp; v);</div>
 <div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;                template&lt;typename U&gt;</div>
-<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;1, T, Q&gt; &amp; operator&lt;&lt;=(U scalar);</div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;1, T, Q&gt; &amp; operator&lt;&lt;=(U scalar);</div>
 <div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;                template&lt;typename U&gt;</div>
-<div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;1, T, Q&gt; &amp; operator&lt;&lt;=(vec&lt;1, U, Q&gt; const&amp; v);</div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;1, T, Q&gt; &amp; operator&lt;&lt;=(vec&lt;1, U, Q&gt; const&amp; v);</div>
 <div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;                template&lt;typename U&gt;</div>
-<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;1, T, Q&gt; &amp; operator&gt;&gt;=(U scalar);</div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;1, T, Q&gt; &amp; operator&gt;&gt;=(U scalar);</div>
 <div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;                template&lt;typename U&gt;</div>
-<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;1, T, Q&gt; &amp; operator&gt;&gt;=(vec&lt;1, U, Q&gt; const&amp; v);</div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;1, T, Q&gt; &amp; operator&gt;&gt;=(vec&lt;1, U, Q&gt; const&amp; v);</div>
 <div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;        };</div>
 <div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160; </div>
 <div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;        <span class="comment">// -- Unary operators --</span></div>
 <div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160; </div>
 <div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;1, T, Q&gt; operator+(vec&lt;1, T, Q&gt; const&amp; v);</div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;1, T, Q&gt; operator+(vec&lt;1, T, Q&gt; const&amp; v);</div>
 <div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160; </div>
 <div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;1, T, Q&gt; operator-(vec&lt;1, T, Q&gt; const&amp; v);</div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;1, T, Q&gt; operator-(vec&lt;1, T, Q&gt; const&amp; v);</div>
 <div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160; </div>
 <div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;        <span class="comment">// -- Binary operators --</span></div>
 <div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160; </div>
 <div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;1, T, Q&gt; operator+(vec&lt;1, T, Q&gt; const&amp; v, T scalar);</div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;1, T, Q&gt; operator+(vec&lt;1, T, Q&gt; const&amp; v, T scalar);</div>
 <div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160; </div>
 <div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;1, T, Q&gt; operator+(T scalar, vec&lt;1, T, Q&gt; const&amp; v);</div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;1, T, Q&gt; operator+(T scalar, vec&lt;1, T, Q&gt; const&amp; v);</div>
 <div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160; </div>
 <div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;1, T, Q&gt; operator+(vec&lt;1, T, Q&gt; const&amp; v1, vec&lt;1, T, Q&gt; const&amp; v2);</div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;1, T, Q&gt; operator+(vec&lt;1, T, Q&gt; const&amp; v1, vec&lt;1, T, Q&gt; const&amp; v2);</div>
 <div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160; </div>
 <div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;1, T, Q&gt; operator-(vec&lt;1, T, Q&gt; const&amp; v, T scalar);</div>
+<div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;1, T, Q&gt; operator-(vec&lt;1, T, Q&gt; const&amp; v, T scalar);</div>
 <div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160; </div>
 <div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;1, T, Q&gt; operator-(T scalar, vec&lt;1, T, Q&gt; const&amp; v);</div>
+<div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;1, T, Q&gt; operator-(T scalar, vec&lt;1, T, Q&gt; const&amp; v);</div>
 <div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160; </div>
 <div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;1, T, Q&gt; operator-(vec&lt;1, T, Q&gt; const&amp; v1, vec&lt;1, T, Q&gt; const&amp; v2);</div>
+<div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;1, T, Q&gt; operator-(vec&lt;1, T, Q&gt; const&amp; v1, vec&lt;1, T, Q&gt; const&amp; v2);</div>
 <div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160; </div>
 <div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;1, T, Q&gt; operator*(vec&lt;1, T, Q&gt; const&amp; v, T scalar);</div>
+<div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;1, T, Q&gt; operator*(vec&lt;1, T, Q&gt; const&amp; v, T scalar);</div>
 <div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160; </div>
 <div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;1, T, Q&gt; operator*(T scalar, vec&lt;1, T, Q&gt; const&amp; v);</div>
+<div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;1, T, Q&gt; operator*(T scalar, vec&lt;1, T, Q&gt; const&amp; v);</div>
 <div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160; </div>
 <div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;1, T, Q&gt; operator*(vec&lt;1, T, Q&gt; const&amp; v1, vec&lt;1, T, Q&gt; const&amp; v2);</div>
+<div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;1, T, Q&gt; operator*(vec&lt;1, T, Q&gt; const&amp; v1, vec&lt;1, T, Q&gt; const&amp; v2);</div>
 <div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160; </div>
 <div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;1, T, Q&gt; operator/(vec&lt;1, T, Q&gt; const&amp; v, T scalar);</div>
+<div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;1, T, Q&gt; operator/(vec&lt;1, T, Q&gt; const&amp; v, T scalar);</div>
 <div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160; </div>
 <div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;1, T, Q&gt; operator/(T scalar, vec&lt;1, T, Q&gt; const&amp; v);</div>
+<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;1, T, Q&gt; operator/(T scalar, vec&lt;1, T, Q&gt; const&amp; v);</div>
 <div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160; </div>
 <div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;1, T, Q&gt; operator/(vec&lt;1, T, Q&gt; const&amp; v1, vec&lt;1, T, Q&gt; const&amp; v2);</div>
+<div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;1, T, Q&gt; operator/(vec&lt;1, T, Q&gt; const&amp; v1, vec&lt;1, T, Q&gt; const&amp; v2);</div>
 <div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160; </div>
 <div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;1, T, Q&gt; operator%(vec&lt;1, T, Q&gt; const&amp; v, T scalar);</div>
+<div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;1, T, Q&gt; operator%(vec&lt;1, T, Q&gt; const&amp; v, T scalar);</div>
 <div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160; </div>
 <div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;1, T, Q&gt; operator%(T scalar, vec&lt;1, T, Q&gt; const&amp; v);</div>
+<div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;1, T, Q&gt; operator%(T scalar, vec&lt;1, T, Q&gt; const&amp; v);</div>
 <div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160; </div>
 <div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;1, T, Q&gt; operator%(vec&lt;1, T, Q&gt; const&amp; v1, vec&lt;1, T, Q&gt; const&amp; v2);</div>
+<div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;1, T, Q&gt; operator%(vec&lt;1, T, Q&gt; const&amp; v1, vec&lt;1, T, Q&gt; const&amp; v2);</div>
 <div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160; </div>
 <div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;1, T, Q&gt; operator&amp;(vec&lt;1, T, Q&gt; const&amp; v, T scalar);</div>
+<div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;1, T, Q&gt; operator&amp;(vec&lt;1, T, Q&gt; const&amp; v, T scalar);</div>
 <div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160; </div>
 <div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;1, T, Q&gt; operator&amp;(T scalar, vec&lt;1, T, Q&gt; const&amp; v);</div>
+<div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;1, T, Q&gt; operator&amp;(T scalar, vec&lt;1, T, Q&gt; const&amp; v);</div>
 <div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160; </div>
 <div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;1, T, Q&gt; operator&amp;(vec&lt;1, T, Q&gt; const&amp; v1, vec&lt;1, T, Q&gt; const&amp; v2);</div>
+<div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;1, T, Q&gt; operator&amp;(vec&lt;1, T, Q&gt; const&amp; v1, vec&lt;1, T, Q&gt; const&amp; v2);</div>
 <div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160; </div>
 <div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;1, T, Q&gt; operator|(vec&lt;1, T, Q&gt; const&amp; v, T scalar);</div>
+<div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;1, T, Q&gt; operator|(vec&lt;1, T, Q&gt; const&amp; v, T scalar);</div>
 <div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160; </div>
 <div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;1, T, Q&gt; operator|(T scalar, vec&lt;1, T, Q&gt; const&amp; v);</div>
+<div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;1, T, Q&gt; operator|(T scalar, vec&lt;1, T, Q&gt; const&amp; v);</div>
 <div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160; </div>
 <div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;1, T, Q&gt; operator|(vec&lt;1, T, Q&gt; const&amp; v1, vec&lt;1, T, Q&gt; const&amp; v2);</div>
+<div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;1, T, Q&gt; operator|(vec&lt;1, T, Q&gt; const&amp; v1, vec&lt;1, T, Q&gt; const&amp; v2);</div>
 <div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160; </div>
 <div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;1, T, Q&gt; operator^(vec&lt;1, T, Q&gt; const&amp; v, T scalar);</div>
+<div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;1, T, Q&gt; operator^(vec&lt;1, T, Q&gt; const&amp; v, T scalar);</div>
 <div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160; </div>
 <div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;1, T, Q&gt; operator^(T scalar, vec&lt;1, T, Q&gt; const&amp; v);</div>
+<div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;1, T, Q&gt; operator^(T scalar, vec&lt;1, T, Q&gt; const&amp; v);</div>
 <div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160; </div>
 <div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;1, T, Q&gt; operator^(vec&lt;1, T, Q&gt; const&amp; v1, vec&lt;1, T, Q&gt; const&amp; v2);</div>
+<div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;1, T, Q&gt; operator^(vec&lt;1, T, Q&gt; const&amp; v1, vec&lt;1, T, Q&gt; const&amp; v2);</div>
 <div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160; </div>
 <div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;1, T, Q&gt; operator&lt;&lt;(vec&lt;1, T, Q&gt; const&amp; v, T scalar);</div>
+<div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;1, T, Q&gt; operator&lt;&lt;(vec&lt;1, T, Q&gt; const&amp; v, T scalar);</div>
 <div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160; </div>
 <div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;1, T, Q&gt; operator&lt;&lt;(T scalar, vec&lt;1, T, Q&gt; const&amp; v);</div>
+<div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;1, T, Q&gt; operator&lt;&lt;(T scalar, vec&lt;1, T, Q&gt; const&amp; v);</div>
 <div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160; </div>
 <div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;1, T, Q&gt; operator&lt;&lt;(vec&lt;1, T, Q&gt; const&amp; v1, vec&lt;1, T, Q&gt; const&amp; v2);</div>
+<div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;1, T, Q&gt; operator&lt;&lt;(vec&lt;1, T, Q&gt; const&amp; v1, vec&lt;1, T, Q&gt; const&amp; v2);</div>
 <div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160; </div>
 <div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;1, T, Q&gt; operator&gt;&gt;(vec&lt;1, T, Q&gt; const&amp; v, T scalar);</div>
+<div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;1, T, Q&gt; operator&gt;&gt;(vec&lt;1, T, Q&gt; const&amp; v, T scalar);</div>
 <div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160; </div>
 <div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;1, T, Q&gt; operator&gt;&gt;(T scalar, vec&lt;1, T, Q&gt; const&amp; v);</div>
+<div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;1, T, Q&gt; operator&gt;&gt;(T scalar, vec&lt;1, T, Q&gt; const&amp; v);</div>
 <div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160; </div>
 <div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;1, T, Q&gt; operator&gt;&gt;(vec&lt;1, T, Q&gt; const&amp; v1, vec&lt;1, T, Q&gt; const&amp; v2);</div>
+<div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;1, T, Q&gt; operator&gt;&gt;(vec&lt;1, T, Q&gt; const&amp; v1, vec&lt;1, T, Q&gt; const&amp; v2);</div>
 <div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160; </div>
 <div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;1, T, Q&gt; operator~(vec&lt;1, T, Q&gt; const&amp; v);</div>
+<div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;1, T, Q&gt; operator~(vec&lt;1, T, Q&gt; const&amp; v);</div>
 <div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160; </div>
 <div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;        <span class="comment">// -- Boolean operators --</span></div>
 <div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160; </div>
 <div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR <span class="keywordtype">bool</span> operator==(vec&lt;1, T, Q&gt; const&amp; v1, vec&lt;1, T, Q&gt; const&amp; v2);</div>
+<div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;        GLM_FUNC_DECL constexpr <span class="keywordtype">bool</span> operator==(vec&lt;1, T, Q&gt; const&amp; v1, vec&lt;1, T, Q&gt; const&amp; v2);</div>
 <div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160; </div>
 <div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;        template&lt;typename T, qualifier Q&gt;</div>
-<div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR <span class="keywordtype">bool</span> operator!=(vec&lt;1, T, Q&gt; const&amp; v1, vec&lt;1, T, Q&gt; const&amp; v2);</div>
+<div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;        GLM_FUNC_DECL constexpr <span class="keywordtype">bool</span> operator!=(vec&lt;1, T, Q&gt; const&amp; v1, vec&lt;1, T, Q&gt; const&amp; v2);</div>
 <div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160; </div>
 <div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;        template&lt;qualifier Q&gt;</div>
-<div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;1, <span class="keywordtype">bool</span>, Q&gt; operator&amp;&amp;(vec&lt;1, <span class="keywordtype">bool</span>, Q&gt; const&amp; v1, vec&lt;1, <span class="keywordtype">bool</span>, Q&gt; const&amp; v2);</div>
+<div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;1, <span class="keywordtype">bool</span>, Q&gt; operator&amp;&amp;(vec&lt;1, <span class="keywordtype">bool</span>, Q&gt; const&amp; v1, vec&lt;1, <span class="keywordtype">bool</span>, Q&gt; const&amp; v2);</div>
 <div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160; </div>
 <div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;        template&lt;qualifier Q&gt;</div>
-<div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;1, <span class="keywordtype">bool</span>, Q&gt; operator||(vec&lt;1, <span class="keywordtype">bool</span>, Q&gt; const&amp; v1, vec&lt;1, <span class="keywordtype">bool</span>, Q&gt; const&amp; v2);</div>
+<div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;1, <span class="keywordtype">bool</span>, Q&gt; operator||(vec&lt;1, <span class="keywordtype">bool</span>, Q&gt; const&amp; v1, vec&lt;1, <span class="keywordtype">bool</span>, Q&gt; const&amp; v2);</div>
 <div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;}<span class="comment">//namespace glm</span></div>
 <div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160; </div>
 <div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;<span class="preprocessor">#ifndef GLM_EXTERNAL_TEMPLATE</span></div>

+ 98 - 98
doc/api/a00077_source.html

@@ -160,15 +160,15 @@ $(function() {
 <div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;                <span class="comment">// -- Component accesses --</span></div>
 <div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160; </div>
 <div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;                <span class="keyword">typedef</span> length_t length_type;</div>
-<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;                GLM_FUNC_DECL <span class="keyword">static</span> GLM_CONSTEXPR length_type <a class="code" href="a00862.html#gab703732449be6c7199369b3f9a91ed38">length</a>(){<span class="keywordflow">return</span> 2;}</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;                GLM_FUNC_DECL <span class="keyword">static</span> constexpr length_type <a class="code" href="a00862.html#gab703732449be6c7199369b3f9a91ed38">length</a>(){<span class="keywordflow">return</span> 2;}</div>
 <div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160; </div>
-<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;                GLM_FUNC_DECL GLM_CONSTEXPR T&amp; operator[](length_type i);</div>
-<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;                GLM_FUNC_DECL GLM_CONSTEXPR T <span class="keyword">const</span>&amp; operator[](length_type i) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;                GLM_FUNC_DECL constexpr T&amp; operator[](length_type i);</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;                GLM_FUNC_DECL constexpr T <span class="keyword">const</span>&amp; operator[](length_type i) <span class="keyword">const</span>;</div>
 <div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160; </div>
 <div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;                <span class="comment">// -- Implicit basic constructors --</span></div>
 <div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160; </div>
-<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;                GLM_DEFAULTED_DEFAULT_CTOR_DECL GLM_CONSTEXPR vec() GLM_DEFAULT_CTOR;</div>
-<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;                GLM_DEFAULTED_FUNC_DECL GLM_CONSTEXPR vec(vec const&amp; v) GLM_DEFAULT;</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;                GLM_DEFAULTED_DEFAULT_CTOR_DECL constexpr vec() GLM_DEFAULT_CTOR;</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;                GLM_DEFAULTED_FUNC_DECL constexpr vec(vec const&amp; v) GLM_DEFAULT;</div>
 <div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;                template&lt;qualifier P&gt;</div>
 <div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;                GLM_CTOR_DECL vec(vec&lt;2, T, P&gt; const&amp; v);</div>
 <div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160; </div>
@@ -212,258 +212,258 @@ $(function() {
 <div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160; </div>
 <div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;                <span class="comment">// -- Unary arithmetic operators --</span></div>
 <div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160; </div>
-<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;                GLM_DEFAULTED_FUNC_DECL GLM_CONSTEXPR vec&lt;2, T, Q&gt; &amp; operator=(vec <span class="keyword">const</span>&amp; v) GLM_DEFAULT;</div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;                GLM_DEFAULTED_FUNC_DECL constexpr vec&lt;2, T, Q&gt; &amp; operator=(vec <span class="keyword">const</span>&amp; v) GLM_DEFAULT;</div>
 <div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160; </div>
 <div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;2, T, Q&gt; &amp; operator=(vec&lt;2, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;2, T, Q&gt; &amp; operator=(vec&lt;2, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;2, T, Q&gt; &amp; operator+=(U scalar);</div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;2, T, Q&gt; &amp; operator+=(U scalar);</div>
 <div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;2, T, Q&gt; &amp; operator+=(vec&lt;1, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;2, T, Q&gt; &amp; operator+=(vec&lt;1, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;2, T, Q&gt; &amp; operator+=(vec&lt;2, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;2, T, Q&gt; &amp; operator+=(vec&lt;2, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;2, T, Q&gt; &amp; operator-=(U scalar);</div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;2, T, Q&gt; &amp; operator-=(U scalar);</div>
 <div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;2, T, Q&gt; &amp; operator-=(vec&lt;1, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;2, T, Q&gt; &amp; operator-=(vec&lt;1, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;2, T, Q&gt; &amp; operator-=(vec&lt;2, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;2, T, Q&gt; &amp; operator-=(vec&lt;2, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;2, T, Q&gt; &amp; operator*=(U scalar);</div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;2, T, Q&gt; &amp; operator*=(U scalar);</div>
 <div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;2, T, Q&gt; &amp; operator*=(vec&lt;1, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;2, T, Q&gt; &amp; operator*=(vec&lt;1, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;2, T, Q&gt; &amp; operator*=(vec&lt;2, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;2, T, Q&gt; &amp; operator*=(vec&lt;2, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;2, T, Q&gt; &amp; operator/=(U scalar);</div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;2, T, Q&gt; &amp; operator/=(U scalar);</div>
 <div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;2, T, Q&gt; &amp; operator/=(vec&lt;1, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;2, T, Q&gt; &amp; operator/=(vec&lt;1, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;2, T, Q&gt; &amp; operator/=(vec&lt;2, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;2, T, Q&gt; &amp; operator/=(vec&lt;2, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160; </div>
 <div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;                <span class="comment">// -- Increment and decrement operators --</span></div>
 <div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160; </div>
-<div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;2, T, Q&gt; &amp; operator++();</div>
-<div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;2, T, Q&gt; &amp; operator--();</div>
-<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;                GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;2, T, Q&gt; operator++(<span class="keywordtype">int</span>);</div>
-<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;                GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;2, T, Q&gt; operator--(<span class="keywordtype">int</span>);</div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;2, T, Q&gt; &amp; operator++();</div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;2, T, Q&gt; &amp; operator--();</div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;                GLM_FUNC_DECL constexpr vec&lt;2, T, Q&gt; operator++(<span class="keywordtype">int</span>);</div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;                GLM_FUNC_DECL constexpr vec&lt;2, T, Q&gt; operator--(<span class="keywordtype">int</span>);</div>
 <div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160; </div>
 <div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;                <span class="comment">// -- Unary bit operators --</span></div>
 <div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160; </div>
 <div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;2, T, Q&gt; &amp; operator%=(U scalar);</div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;2, T, Q&gt; &amp; operator%=(U scalar);</div>
 <div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;2, T, Q&gt; &amp; operator%=(vec&lt;1, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;2, T, Q&gt; &amp; operator%=(vec&lt;1, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;2, T, Q&gt; &amp; operator%=(vec&lt;2, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;2, T, Q&gt; &amp; operator%=(vec&lt;2, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;2, T, Q&gt; &amp; operator&amp;=(U scalar);</div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;2, T, Q&gt; &amp; operator&amp;=(U scalar);</div>
 <div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;2, T, Q&gt; &amp; operator&amp;=(vec&lt;1, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;2, T, Q&gt; &amp; operator&amp;=(vec&lt;1, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;2, T, Q&gt; &amp; operator&amp;=(vec&lt;2, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;2, T, Q&gt; &amp; operator&amp;=(vec&lt;2, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;2, T, Q&gt; &amp; operator|=(U scalar);</div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;2, T, Q&gt; &amp; operator|=(U scalar);</div>
 <div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;2, T, Q&gt; &amp; operator|=(vec&lt;1, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;2, T, Q&gt; &amp; operator|=(vec&lt;1, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;2, T, Q&gt; &amp; operator|=(vec&lt;2, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;2, T, Q&gt; &amp; operator|=(vec&lt;2, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;2, T, Q&gt; &amp; operator^=(U scalar);</div>
+<div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;2, T, Q&gt; &amp; operator^=(U scalar);</div>
 <div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;2, T, Q&gt; &amp; operator^=(vec&lt;1, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;2, T, Q&gt; &amp; operator^=(vec&lt;1, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;2, T, Q&gt; &amp; operator^=(vec&lt;2, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;2, T, Q&gt; &amp; operator^=(vec&lt;2, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;2, T, Q&gt; &amp; operator&lt;&lt;=(U scalar);</div>
+<div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;2, T, Q&gt; &amp; operator&lt;&lt;=(U scalar);</div>
 <div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;2, T, Q&gt; &amp; operator&lt;&lt;=(vec&lt;1, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;2, T, Q&gt; &amp; operator&lt;&lt;=(vec&lt;1, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;2, T, Q&gt; &amp; operator&lt;&lt;=(vec&lt;2, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;2, T, Q&gt; &amp; operator&lt;&lt;=(vec&lt;2, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;2, T, Q&gt; &amp; operator&gt;&gt;=(U scalar);</div>
+<div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;2, T, Q&gt; &amp; operator&gt;&gt;=(U scalar);</div>
 <div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;2, T, Q&gt; &amp; operator&gt;&gt;=(vec&lt;1, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;2, T, Q&gt; &amp; operator&gt;&gt;=(vec&lt;1, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;2, T, Q&gt; &amp; operator&gt;&gt;=(vec&lt;2, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;2, T, Q&gt; &amp; operator&gt;&gt;=(vec&lt;2, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;        };</div>
 <div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160; </div>
 <div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;        <span class="comment">// -- Unary operators --</span></div>
 <div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160; </div>
 <div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;2, T, Q&gt; operator+(vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;2, T, Q&gt; operator+(vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160; </div>
 <div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;2, T, Q&gt; operator-(vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;2, T, Q&gt; operator-(vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160; </div>
 <div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;        <span class="comment">// -- Binary operators --</span></div>
 <div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160; </div>
 <div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;2, T, Q&gt; operator+(vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v, T scalar);</div>
+<div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;2, T, Q&gt; operator+(vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v, T scalar);</div>
 <div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160; </div>
 <div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;2, T, Q&gt; operator+(vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
+<div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;2, T, Q&gt; operator+(vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
 <div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160; </div>
 <div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;2, T, Q&gt; operator+(T scalar, vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;2, T, Q&gt; operator+(T scalar, vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160; </div>
 <div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;2, T, Q&gt; operator+(vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
+<div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;2, T, Q&gt; operator+(vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
 <div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160; </div>
 <div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;2, T, Q&gt; operator+(vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
+<div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;2, T, Q&gt; operator+(vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
 <div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160; </div>
 <div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;2, T, Q&gt; operator-(vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v, T scalar);</div>
+<div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;2, T, Q&gt; operator-(vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v, T scalar);</div>
 <div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160; </div>
 <div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;2, T, Q&gt; operator-(vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
+<div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;2, T, Q&gt; operator-(vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
 <div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160; </div>
 <div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;2, T, Q&gt; operator-(T scalar, vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;2, T, Q&gt; operator-(T scalar, vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160; </div>
 <div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;2, T, Q&gt; operator-(vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
+<div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;2, T, Q&gt; operator-(vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
 <div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160; </div>
 <div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;2, T, Q&gt; operator-(vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
+<div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;2, T, Q&gt; operator-(vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
 <div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160; </div>
 <div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;2, T, Q&gt; operator*(vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v, T scalar);</div>
+<div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;2, T, Q&gt; operator*(vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v, T scalar);</div>
 <div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160; </div>
 <div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;2, T, Q&gt; operator*(vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
+<div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;2, T, Q&gt; operator*(vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
 <div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160; </div>
 <div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;2, T, Q&gt; operator*(T scalar, vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;2, T, Q&gt; operator*(T scalar, vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160; </div>
 <div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;2, T, Q&gt; operator*(vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
+<div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;2, T, Q&gt; operator*(vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
 <div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160; </div>
 <div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;2, T, Q&gt; operator*(vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
+<div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;2, T, Q&gt; operator*(vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
 <div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160; </div>
 <div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;2, T, Q&gt; operator/(vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v, T scalar);</div>
+<div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;2, T, Q&gt; operator/(vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v, T scalar);</div>
 <div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160; </div>
 <div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;2, T, Q&gt; operator/(vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
+<div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;2, T, Q&gt; operator/(vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
 <div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160; </div>
 <div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;2, T, Q&gt; operator/(T scalar, vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;2, T, Q&gt; operator/(T scalar, vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160; </div>
 <div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;2, T, Q&gt; operator/(vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
+<div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;2, T, Q&gt; operator/(vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
 <div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160; </div>
 <div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;2, T, Q&gt; operator/(vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
+<div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;2, T, Q&gt; operator/(vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
 <div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160; </div>
 <div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;2, T, Q&gt; operator%(vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v, T scalar);</div>
+<div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;2, T, Q&gt; operator%(vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v, T scalar);</div>
 <div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160; </div>
 <div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;2, T, Q&gt; operator%(vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
+<div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;2, T, Q&gt; operator%(vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
 <div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160; </div>
 <div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;2, T, Q&gt; operator%(T scalar, vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;2, T, Q&gt; operator%(T scalar, vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160; </div>
 <div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;2, T, Q&gt; operator%(vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
+<div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;2, T, Q&gt; operator%(vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
 <div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160; </div>
 <div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;2, T, Q&gt; operator%(vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
+<div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;2, T, Q&gt; operator%(vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
 <div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160; </div>
 <div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;2, T, Q&gt; operator&amp;(vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v, T scalar);</div>
+<div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;2, T, Q&gt; operator&amp;(vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v, T scalar);</div>
 <div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160; </div>
 <div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;2, T, Q&gt; operator&amp;(vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
+<div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;2, T, Q&gt; operator&amp;(vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
 <div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160; </div>
 <div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;2, T, Q&gt; operator&amp;(T scalar, vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;2, T, Q&gt; operator&amp;(T scalar, vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160; </div>
 <div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;2, T, Q&gt; operator&amp;(vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
+<div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;2, T, Q&gt; operator&amp;(vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
 <div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160; </div>
 <div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;2, T, Q&gt; operator&amp;(vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
+<div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;2, T, Q&gt; operator&amp;(vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
 <div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160; </div>
 <div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;2, T, Q&gt; operator|(vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v, T scalar);</div>
+<div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;2, T, Q&gt; operator|(vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v, T scalar);</div>
 <div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160; </div>
 <div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;2, T, Q&gt; operator|(vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
+<div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;2, T, Q&gt; operator|(vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
 <div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160; </div>
 <div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;2, T, Q&gt; operator|(T scalar, vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;2, T, Q&gt; operator|(T scalar, vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160; </div>
 <div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;2, T, Q&gt; operator|(vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
+<div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;2, T, Q&gt; operator|(vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
 <div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160; </div>
 <div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;2, T, Q&gt; operator|(vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
+<div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;2, T, Q&gt; operator|(vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
 <div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160; </div>
 <div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;2, T, Q&gt; operator^(vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v, T scalar);</div>
+<div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;2, T, Q&gt; operator^(vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v, T scalar);</div>
 <div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160; </div>
 <div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;2, T, Q&gt; operator^(vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
+<div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;2, T, Q&gt; operator^(vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
 <div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160; </div>
 <div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;2, T, Q&gt; operator^(T scalar, vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;2, T, Q&gt; operator^(T scalar, vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160; </div>
 <div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;2, T, Q&gt; operator^(vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
+<div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;2, T, Q&gt; operator^(vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
 <div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160; </div>
 <div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;2, T, Q&gt; operator^(vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
+<div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;2, T, Q&gt; operator^(vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
 <div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160; </div>
 <div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;2, T, Q&gt; operator&lt;&lt;(vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v, T scalar);</div>
+<div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;2, T, Q&gt; operator&lt;&lt;(vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v, T scalar);</div>
 <div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160; </div>
 <div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;2, T, Q&gt; operator&lt;&lt;(vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
+<div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;2, T, Q&gt; operator&lt;&lt;(vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
 <div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160; </div>
 <div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;2, T, Q&gt; operator&lt;&lt;(T scalar, vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;2, T, Q&gt; operator&lt;&lt;(T scalar, vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160; </div>
 <div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;2, T, Q&gt; operator&lt;&lt;(vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
+<div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;2, T, Q&gt; operator&lt;&lt;(vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
 <div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160; </div>
 <div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;2, T, Q&gt; operator&lt;&lt;(vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
+<div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;2, T, Q&gt; operator&lt;&lt;(vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
 <div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160; </div>
 <div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;2, T, Q&gt; operator&gt;&gt;(vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v, T scalar);</div>
+<div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;2, T, Q&gt; operator&gt;&gt;(vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v, T scalar);</div>
 <div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160; </div>
 <div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;2, T, Q&gt; operator&gt;&gt;(vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
+<div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;2, T, Q&gt; operator&gt;&gt;(vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
 <div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160; </div>
 <div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;2, T, Q&gt; operator&gt;&gt;(T scalar, vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;2, T, Q&gt; operator&gt;&gt;(T scalar, vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160; </div>
 <div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;2, T, Q&gt; operator&gt;&gt;(vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
+<div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;2, T, Q&gt; operator&gt;&gt;(vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
 <div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160; </div>
 <div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;2, T, Q&gt; operator&gt;&gt;(vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
+<div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;2, T, Q&gt; operator&gt;&gt;(vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
 <div class="line"><a name="l00385"></a><span class="lineno">  385</span>&#160; </div>
 <div class="line"><a name="l00386"></a><span class="lineno">  386</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00387"></a><span class="lineno">  387</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;2, T, Q&gt; operator~(vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00387"></a><span class="lineno">  387</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;2, T, Q&gt; operator~(vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160; </div>
 <div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160;        <span class="comment">// -- Boolean operators --</span></div>
 <div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160; </div>
 <div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR <span class="keywordtype">bool</span> operator==(vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
+<div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160;        GLM_FUNC_DECL constexpr <span class="keywordtype">bool</span> operator==(vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
 <div class="line"><a name="l00393"></a><span class="lineno">  393</span>&#160; </div>
 <div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR <span class="keywordtype">bool</span> operator!=(vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
+<div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;        GLM_FUNC_DECL constexpr <span class="keywordtype">bool</span> operator!=(vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
 <div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160; </div>
 <div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;        <span class="keyword">template</span>&lt;qualifier Q&gt;</div>
-<div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;2, bool, Q&gt; operator&amp;&amp;(vec&lt;2, bool, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;2, bool, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
+<div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;2, bool, Q&gt; operator&amp;&amp;(vec&lt;2, bool, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;2, bool, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
 <div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160; </div>
 <div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160;        <span class="keyword">template</span>&lt;qualifier Q&gt;</div>
-<div class="line"><a name="l00401"></a><span class="lineno">  401</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;2, bool, Q&gt; operator||(vec&lt;2, bool, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;2, bool, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
+<div class="line"><a name="l00401"></a><span class="lineno">  401</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;2, bool, Q&gt; operator||(vec&lt;2, bool, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;2, bool, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
 <div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;}<span class="comment">//namespace glm</span></div>
 <div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160; </div>
 <div class="line"><a name="l00404"></a><span class="lineno">  404</span>&#160;<span class="preprocessor">#ifndef GLM_EXTERNAL_TEMPLATE</span></div>

+ 101 - 101
doc/api/a00080_source.html

@@ -166,15 +166,15 @@ $(function() {
 <div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;                <span class="comment">// -- Component accesses --</span></div>
 <div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160; </div>
 <div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;                <span class="keyword">typedef</span> length_t length_type;</div>
-<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;                GLM_FUNC_DECL <span class="keyword">static</span> GLM_CONSTEXPR length_type <a class="code" href="a00862.html#gab703732449be6c7199369b3f9a91ed38">length</a>(){<span class="keywordflow">return</span> 3;}</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;                GLM_FUNC_DECL <span class="keyword">static</span> constexpr length_type <a class="code" href="a00862.html#gab703732449be6c7199369b3f9a91ed38">length</a>(){<span class="keywordflow">return</span> 3;}</div>
 <div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160; </div>
-<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;                GLM_FUNC_DECL GLM_CONSTEXPR T &amp; operator[](length_type i);</div>
-<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;                GLM_FUNC_DECL GLM_CONSTEXPR T <span class="keyword">const</span>&amp; operator[](length_type i) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;                GLM_FUNC_DECL constexpr T &amp; operator[](length_type i);</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;                GLM_FUNC_DECL constexpr T <span class="keyword">const</span>&amp; operator[](length_type i) <span class="keyword">const</span>;</div>
 <div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160; </div>
 <div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;                <span class="comment">// -- Implicit basic constructors --</span></div>
 <div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160; </div>
-<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;                GLM_DEFAULTED_DEFAULT_CTOR_DECL GLM_CONSTEXPR vec() GLM_DEFAULT_CTOR;</div>
-<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;                GLM_DEFAULTED_FUNC_DECL GLM_CONSTEXPR vec(vec const&amp; v) GLM_DEFAULT;</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;                GLM_DEFAULTED_DEFAULT_CTOR_DECL constexpr vec() GLM_DEFAULT_CTOR;</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;                GLM_DEFAULTED_FUNC_DECL constexpr vec(vec const&amp; v) GLM_DEFAULT;</div>
 <div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;                template&lt;qualifier P&gt;</div>
 <div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;                GLM_CTOR_DECL vec(vec&lt;3, T, P&gt; const&amp; v);</div>
 <div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160; </div>
@@ -224,19 +224,19 @@ $(function() {
 <div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;                <span class="comment">// -- Swizzle constructors --</span></div>
 <div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;<span class="preprocessor">#               if GLM_CONFIG_SWIZZLE == GLM_SWIZZLE_OPERATOR</span></div>
 <div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;                        <span class="keyword">template</span>&lt;<span class="keywordtype">int</span> E0, <span class="keywordtype">int</span> E1, <span class="keywordtype">int</span> E2&gt;</div>
-<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;                        GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec(detail::_swizzle&lt;3, T, Q, E0, E1, E2, -1&gt; <span class="keyword">const</span>&amp; that)</div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;                        GLM_FUNC_DISCARD_DECL constexpr vec(detail::_swizzle&lt;3, T, Q, E0, E1, E2, -1&gt; <span class="keyword">const</span>&amp; that)</div>
 <div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;                        {</div>
 <div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;                                *<span class="keyword">this</span> = that();</div>
 <div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;                        }</div>
 <div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160; </div>
 <div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;                        <span class="keyword">template</span>&lt;<span class="keywordtype">int</span> E0, <span class="keywordtype">int</span> E1&gt;</div>
-<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;                        GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec(detail::_swizzle&lt;2, T, Q, E0, E1, -1, -2&gt; <span class="keyword">const</span>&amp; v, T <span class="keyword">const</span>&amp; scalar)</div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;                        GLM_FUNC_DISCARD_DECL constexpr vec(detail::_swizzle&lt;2, T, Q, E0, E1, -1, -2&gt; <span class="keyword">const</span>&amp; v, T <span class="keyword">const</span>&amp; scalar)</div>
 <div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;                        {</div>
 <div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;                                *<span class="keyword">this</span> = vec(v(), scalar);</div>
 <div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;                        }</div>
 <div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160; </div>
 <div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;                        <span class="keyword">template</span>&lt;<span class="keywordtype">int</span> E0, <span class="keywordtype">int</span> E1&gt;</div>
-<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;                        GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec(T <span class="keyword">const</span>&amp; scalar, detail::_swizzle&lt;2, T, Q, E0, E1, -1, -2&gt; <span class="keyword">const</span>&amp; v)</div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;                        GLM_FUNC_DISCARD_DECL constexpr vec(T <span class="keyword">const</span>&amp; scalar, detail::_swizzle&lt;2, T, Q, E0, E1, -1, -2&gt; <span class="keyword">const</span>&amp; v)</div>
 <div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;                        {</div>
 <div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;                                *<span class="keyword">this</span> = vec(scalar, v());</div>
 <div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;                        }</div>
@@ -244,80 +244,80 @@ $(function() {
 <div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160; </div>
 <div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;                <span class="comment">// -- Unary arithmetic operators --</span></div>
 <div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160; </div>
-<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;                GLM_DEFAULTED_FUNC_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt;&amp; operator=(vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v) GLM_DEFAULT;</div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;                GLM_DEFAULTED_FUNC_DECL constexpr vec&lt;3, T, Q&gt;&amp; operator=(vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v) GLM_DEFAULT;</div>
 <div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160; </div>
 <div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; &amp; operator=(vec&lt;3, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;3, T, Q&gt; &amp; operator=(vec&lt;3, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; &amp; operator+=(U scalar);</div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;3, T, Q&gt; &amp; operator+=(U scalar);</div>
 <div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; &amp; operator+=(vec&lt;1, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;3, T, Q&gt; &amp; operator+=(vec&lt;1, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; &amp; operator+=(vec&lt;3, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;3, T, Q&gt; &amp; operator+=(vec&lt;3, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; &amp; operator-=(U scalar);</div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;3, T, Q&gt; &amp; operator-=(U scalar);</div>
 <div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; &amp; operator-=(vec&lt;1, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;3, T, Q&gt; &amp; operator-=(vec&lt;1, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; &amp; operator-=(vec&lt;3, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;3, T, Q&gt; &amp; operator-=(vec&lt;3, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; &amp; operator*=(U scalar);</div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;3, T, Q&gt; &amp; operator*=(U scalar);</div>
 <div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; &amp; operator*=(vec&lt;1, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;3, T, Q&gt; &amp; operator*=(vec&lt;1, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; &amp; operator*=(vec&lt;3, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;3, T, Q&gt; &amp; operator*=(vec&lt;3, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; &amp; operator/=(U scalar);</div>
+<div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;3, T, Q&gt; &amp; operator/=(U scalar);</div>
 <div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; &amp; operator/=(vec&lt;1, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;3, T, Q&gt; &amp; operator/=(vec&lt;1, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; &amp; operator/=(vec&lt;3, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;3, T, Q&gt; &amp; operator/=(vec&lt;3, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160; </div>
 <div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;                <span class="comment">// -- Increment and decrement operators --</span></div>
 <div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160; </div>
-<div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; &amp; operator++();</div>
-<div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; &amp; operator--();</div>
-<div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;                GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; operator++(<span class="keywordtype">int</span>);</div>
-<div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;                GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; operator--(<span class="keywordtype">int</span>);</div>
+<div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;3, T, Q&gt; &amp; operator++();</div>
+<div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;3, T, Q&gt; &amp; operator--();</div>
+<div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;                GLM_FUNC_DECL constexpr vec&lt;3, T, Q&gt; operator++(<span class="keywordtype">int</span>);</div>
+<div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;                GLM_FUNC_DECL constexpr vec&lt;3, T, Q&gt; operator--(<span class="keywordtype">int</span>);</div>
 <div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160; </div>
 <div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;                <span class="comment">// -- Unary bit operators --</span></div>
 <div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160; </div>
 <div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; &amp; operator%=(U scalar);</div>
+<div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;3, T, Q&gt; &amp; operator%=(U scalar);</div>
 <div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; &amp; operator%=(vec&lt;1, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;3, T, Q&gt; &amp; operator%=(vec&lt;1, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; &amp; operator%=(vec&lt;3, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;3, T, Q&gt; &amp; operator%=(vec&lt;3, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; &amp; operator&amp;=(U scalar);</div>
+<div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;3, T, Q&gt; &amp; operator&amp;=(U scalar);</div>
 <div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; &amp; operator&amp;=(vec&lt;1, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;3, T, Q&gt; &amp; operator&amp;=(vec&lt;1, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; &amp; operator&amp;=(vec&lt;3, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;3, T, Q&gt; &amp; operator&amp;=(vec&lt;3, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; &amp; operator|=(U scalar);</div>
+<div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;3, T, Q&gt; &amp; operator|=(U scalar);</div>
 <div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; &amp; operator|=(vec&lt;1, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;3, T, Q&gt; &amp; operator|=(vec&lt;1, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; &amp; operator|=(vec&lt;3, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;3, T, Q&gt; &amp; operator|=(vec&lt;3, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; &amp; operator^=(U scalar);</div>
+<div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;3, T, Q&gt; &amp; operator^=(U scalar);</div>
 <div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; &amp; operator^=(vec&lt;1, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;3, T, Q&gt; &amp; operator^=(vec&lt;1, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; &amp; operator^=(vec&lt;3, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;3, T, Q&gt; &amp; operator^=(vec&lt;3, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; &amp; operator&lt;&lt;=(U scalar);</div>
+<div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;3, T, Q&gt; &amp; operator&lt;&lt;=(U scalar);</div>
 <div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; &amp; operator&lt;&lt;=(vec&lt;1, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;3, T, Q&gt; &amp; operator&lt;&lt;=(vec&lt;1, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; &amp; operator&lt;&lt;=(vec&lt;3, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;3, T, Q&gt; &amp; operator&lt;&lt;=(vec&lt;3, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; &amp; operator&gt;&gt;=(U scalar);</div>
+<div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;3, T, Q&gt; &amp; operator&gt;&gt;=(U scalar);</div>
 <div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; &amp; operator&gt;&gt;=(vec&lt;1, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;3, T, Q&gt; &amp; operator&gt;&gt;=(vec&lt;1, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; &amp; operator&gt;&gt;=(vec&lt;3, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;3, T, Q&gt; &amp; operator&gt;&gt;=(vec&lt;3, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;        };</div>
 <div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160; </div>
 <div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160; </div>
@@ -325,179 +325,179 @@ $(function() {
 <div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;        <span class="comment">// -- Unary operators --</span></div>
 <div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160; </div>
 <div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; operator+(vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;3, T, Q&gt; operator+(vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160; </div>
 <div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; operator-(vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;3, T, Q&gt; operator-(vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160; </div>
 <div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;        <span class="comment">// -- Binary operators --</span></div>
 <div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160; </div>
 <div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; operator+(vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v, T scalar);</div>
+<div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;3, T, Q&gt; operator+(vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v, T scalar);</div>
 <div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160; </div>
 <div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; operator+(vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v, vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; scalar);</div>
+<div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;3, T, Q&gt; operator+(vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v, vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; scalar);</div>
 <div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160; </div>
 <div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; operator+(T scalar, vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;3, T, Q&gt; operator+(T scalar, vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160; </div>
 <div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; operator+(vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
+<div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;3, T, Q&gt; operator+(vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
 <div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160; </div>
 <div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; operator+(vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
+<div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;3, T, Q&gt; operator+(vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
 <div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160; </div>
 <div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; operator-(vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v, T scalar);</div>
+<div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;3, T, Q&gt; operator-(vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v, T scalar);</div>
 <div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160; </div>
 <div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; operator-(vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
+<div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;3, T, Q&gt; operator-(vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
 <div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160; </div>
 <div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; operator-(T scalar, vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;3, T, Q&gt; operator-(T scalar, vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160; </div>
 <div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; operator-(vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
+<div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;3, T, Q&gt; operator-(vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
 <div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160; </div>
 <div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; operator-(vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
+<div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;3, T, Q&gt; operator-(vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
 <div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160; </div>
 <div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; operator*(vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v, T scalar);</div>
+<div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;3, T, Q&gt; operator*(vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v, T scalar);</div>
 <div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160; </div>
 <div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; operator*(vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
+<div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;3, T, Q&gt; operator*(vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
 <div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160; </div>
 <div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; operator*(T scalar, vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;3, T, Q&gt; operator*(T scalar, vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160; </div>
 <div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; operator*(vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
+<div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;3, T, Q&gt; operator*(vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
 <div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160; </div>
 <div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; operator*(vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
+<div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;3, T, Q&gt; operator*(vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
 <div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160; </div>
 <div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; operator/(vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v, T scalar);</div>
+<div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;3, T, Q&gt; operator/(vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v, T scalar);</div>
 <div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160; </div>
 <div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; operator/(vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
+<div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;3, T, Q&gt; operator/(vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
 <div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160; </div>
 <div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; operator/(T scalar, vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;3, T, Q&gt; operator/(T scalar, vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160; </div>
 <div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; operator/(vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
+<div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;3, T, Q&gt; operator/(vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
 <div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160; </div>
 <div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; operator/(vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
+<div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;3, T, Q&gt; operator/(vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
 <div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160; </div>
 <div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; operator%(vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v, T scalar);</div>
+<div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;3, T, Q&gt; operator%(vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v, T scalar);</div>
 <div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160; </div>
 <div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; operator%(vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
+<div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;3, T, Q&gt; operator%(vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
 <div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160; </div>
 <div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; operator%(T scalar, vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;3, T, Q&gt; operator%(T scalar, vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160; </div>
 <div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; operator%(vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
+<div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;3, T, Q&gt; operator%(vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
 <div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160; </div>
 <div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; operator%(vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
+<div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;3, T, Q&gt; operator%(vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
 <div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160; </div>
 <div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; operator&amp;(vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v1, T scalar);</div>
+<div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;3, T, Q&gt; operator&amp;(vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v1, T scalar);</div>
 <div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160; </div>
 <div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; operator&amp;(vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
+<div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;3, T, Q&gt; operator&amp;(vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
 <div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160; </div>
 <div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; operator&amp;(T scalar, vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;3, T, Q&gt; operator&amp;(T scalar, vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160; </div>
 <div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; operator&amp;(vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
+<div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;3, T, Q&gt; operator&amp;(vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
 <div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160; </div>
 <div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; operator&amp;(vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
+<div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;3, T, Q&gt; operator&amp;(vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
 <div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160; </div>
 <div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; operator|(vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v, T scalar);</div>
+<div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;3, T, Q&gt; operator|(vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v, T scalar);</div>
 <div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160; </div>
 <div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; operator|(vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
+<div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;3, T, Q&gt; operator|(vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
 <div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160; </div>
 <div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; operator|(T scalar, vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;3, T, Q&gt; operator|(T scalar, vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160; </div>
 <div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; operator|(vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
+<div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;3, T, Q&gt; operator|(vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
 <div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160; </div>
 <div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; operator|(vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
+<div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;3, T, Q&gt; operator|(vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
 <div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160; </div>
 <div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; operator^(vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v, T scalar);</div>
+<div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;3, T, Q&gt; operator^(vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v, T scalar);</div>
 <div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160; </div>
 <div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; operator^(vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
+<div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;3, T, Q&gt; operator^(vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
 <div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160; </div>
 <div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00385"></a><span class="lineno">  385</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; operator^(T scalar, vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00385"></a><span class="lineno">  385</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;3, T, Q&gt; operator^(T scalar, vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00386"></a><span class="lineno">  386</span>&#160; </div>
 <div class="line"><a name="l00387"></a><span class="lineno">  387</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; operator^(vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
+<div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;3, T, Q&gt; operator^(vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
 <div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160; </div>
 <div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; operator^(vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
+<div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;3, T, Q&gt; operator^(vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
 <div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160; </div>
 <div class="line"><a name="l00393"></a><span class="lineno">  393</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; operator&lt;&lt;(vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v, T scalar);</div>
+<div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;3, T, Q&gt; operator&lt;&lt;(vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v, T scalar);</div>
 <div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160; </div>
 <div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; operator&lt;&lt;(vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
+<div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;3, T, Q&gt; operator&lt;&lt;(vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
 <div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160; </div>
 <div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; operator&lt;&lt;(T scalar, vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;3, T, Q&gt; operator&lt;&lt;(T scalar, vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00401"></a><span class="lineno">  401</span>&#160; </div>
 <div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; operator&lt;&lt;(vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
+<div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;3, T, Q&gt; operator&lt;&lt;(vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
 <div class="line"><a name="l00404"></a><span class="lineno">  404</span>&#160; </div>
 <div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00406"></a><span class="lineno">  406</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; operator&lt;&lt;(vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
+<div class="line"><a name="l00406"></a><span class="lineno">  406</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;3, T, Q&gt; operator&lt;&lt;(vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
 <div class="line"><a name="l00407"></a><span class="lineno">  407</span>&#160; </div>
 <div class="line"><a name="l00408"></a><span class="lineno">  408</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00409"></a><span class="lineno">  409</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; operator&gt;&gt;(vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v, T scalar);</div>
+<div class="line"><a name="l00409"></a><span class="lineno">  409</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;3, T, Q&gt; operator&gt;&gt;(vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v, T scalar);</div>
 <div class="line"><a name="l00410"></a><span class="lineno">  410</span>&#160; </div>
 <div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00412"></a><span class="lineno">  412</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; operator&gt;&gt;(vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
+<div class="line"><a name="l00412"></a><span class="lineno">  412</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;3, T, Q&gt; operator&gt;&gt;(vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
 <div class="line"><a name="l00413"></a><span class="lineno">  413</span>&#160; </div>
 <div class="line"><a name="l00414"></a><span class="lineno">  414</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00415"></a><span class="lineno">  415</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; operator&gt;&gt;(T scalar, vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00415"></a><span class="lineno">  415</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;3, T, Q&gt; operator&gt;&gt;(T scalar, vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00416"></a><span class="lineno">  416</span>&#160; </div>
 <div class="line"><a name="l00417"></a><span class="lineno">  417</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00418"></a><span class="lineno">  418</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; operator&gt;&gt;(vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
+<div class="line"><a name="l00418"></a><span class="lineno">  418</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;3, T, Q&gt; operator&gt;&gt;(vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
 <div class="line"><a name="l00419"></a><span class="lineno">  419</span>&#160; </div>
 <div class="line"><a name="l00420"></a><span class="lineno">  420</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00421"></a><span class="lineno">  421</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; operator&gt;&gt;(vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
+<div class="line"><a name="l00421"></a><span class="lineno">  421</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;3, T, Q&gt; operator&gt;&gt;(vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
 <div class="line"><a name="l00422"></a><span class="lineno">  422</span>&#160; </div>
 <div class="line"><a name="l00423"></a><span class="lineno">  423</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00424"></a><span class="lineno">  424</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; operator~(vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00424"></a><span class="lineno">  424</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;3, T, Q&gt; operator~(vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00425"></a><span class="lineno">  425</span>&#160; </div>
 <div class="line"><a name="l00426"></a><span class="lineno">  426</span>&#160;        <span class="comment">// -- Boolean operators --</span></div>
 <div class="line"><a name="l00427"></a><span class="lineno">  427</span>&#160; </div>
 <div class="line"><a name="l00428"></a><span class="lineno">  428</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR <span class="keywordtype">bool</span> operator==(vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
+<div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160;        GLM_FUNC_DECL constexpr <span class="keywordtype">bool</span> operator==(vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
 <div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160; </div>
 <div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR <span class="keywordtype">bool</span> operator!=(vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
+<div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160;        GLM_FUNC_DECL constexpr <span class="keywordtype">bool</span> operator!=(vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
 <div class="line"><a name="l00433"></a><span class="lineno">  433</span>&#160; </div>
 <div class="line"><a name="l00434"></a><span class="lineno">  434</span>&#160;        <span class="keyword">template</span>&lt;qualifier Q&gt;</div>
-<div class="line"><a name="l00435"></a><span class="lineno">  435</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;3, bool, Q&gt; operator&amp;&amp;(vec&lt;3, bool, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;3, bool, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
+<div class="line"><a name="l00435"></a><span class="lineno">  435</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;3, bool, Q&gt; operator&amp;&amp;(vec&lt;3, bool, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;3, bool, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
 <div class="line"><a name="l00436"></a><span class="lineno">  436</span>&#160; </div>
 <div class="line"><a name="l00437"></a><span class="lineno">  437</span>&#160;        <span class="keyword">template</span>&lt;qualifier Q&gt;</div>
-<div class="line"><a name="l00438"></a><span class="lineno">  438</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;3, bool, Q&gt; operator||(vec&lt;3, bool, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;3, bool, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
+<div class="line"><a name="l00438"></a><span class="lineno">  438</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;3, bool, Q&gt; operator||(vec&lt;3, bool, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;3, bool, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
 <div class="line"><a name="l00439"></a><span class="lineno">  439</span>&#160; </div>
 <div class="line"><a name="l00440"></a><span class="lineno">  440</span>&#160; </div>
 <div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160; </div>

+ 98 - 98
doc/api/a00083_source.html

@@ -164,15 +164,15 @@ $(function() {
 <div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160; </div>
 <div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;                <span class="keyword">typedef</span> length_t length_type;</div>
 <div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160; </div>
-<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;                GLM_FUNC_DECL <span class="keyword">static</span> GLM_CONSTEXPR length_type <a class="code" href="a00862.html#gab703732449be6c7199369b3f9a91ed38">length</a>(){<span class="keywordflow">return</span> 4;}</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;                GLM_FUNC_DECL <span class="keyword">static</span> constexpr length_type <a class="code" href="a00862.html#gab703732449be6c7199369b3f9a91ed38">length</a>(){<span class="keywordflow">return</span> 4;}</div>
 <div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160; </div>
-<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;                GLM_FUNC_DECL GLM_CONSTEXPR T &amp; operator[](length_type i);</div>
-<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;                GLM_FUNC_DECL GLM_CONSTEXPR T <span class="keyword">const</span>&amp; operator[](length_type i) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;                GLM_FUNC_DECL constexpr T &amp; operator[](length_type i);</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;                GLM_FUNC_DECL constexpr T <span class="keyword">const</span>&amp; operator[](length_type i) <span class="keyword">const</span>;</div>
 <div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160; </div>
 <div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;                <span class="comment">// -- Implicit basic constructors --</span></div>
 <div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160; </div>
-<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;                GLM_DEFAULTED_DEFAULT_CTOR_DECL GLM_CONSTEXPR vec() GLM_DEFAULT_CTOR;</div>
-<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;                GLM_DEFAULTED_FUNC_DECL GLM_CONSTEXPR vec(vec&lt;4, T, Q&gt; const&amp; v) GLM_DEFAULT;</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;                GLM_DEFAULTED_DEFAULT_CTOR_DECL constexpr vec() GLM_DEFAULT_CTOR;</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;                GLM_DEFAULTED_FUNC_DECL constexpr vec(vec&lt;4, T, Q&gt; const&amp; v) GLM_DEFAULT;</div>
 <div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;                template&lt;qualifier P&gt;</div>
 <div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;                GLM_CTOR_DECL vec(vec&lt;4, T, P&gt; const&amp; v);</div>
 <div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160; </div>
@@ -304,259 +304,259 @@ $(function() {
 <div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160; </div>
 <div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;                <span class="comment">// -- Unary arithmetic operators --</span></div>
 <div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160; </div>
-<div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;                GLM_DEFAULTED_FUNC_DECL GLM_CONSTEXPR vec&lt;4, T, Q&gt;&amp; operator=(vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v) GLM_DEFAULT;</div>
+<div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;                GLM_DEFAULTED_FUNC_DECL constexpr vec&lt;4, T, Q&gt;&amp; operator=(vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v) GLM_DEFAULT;</div>
 <div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160; </div>
 <div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;4, T, Q&gt;&amp; operator=(vec&lt;4, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;4, T, Q&gt;&amp; operator=(vec&lt;4, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;4, T, Q&gt;&amp; operator+=(U scalar);</div>
+<div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;4, T, Q&gt;&amp; operator+=(U scalar);</div>
 <div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;4, T, Q&gt;&amp; operator+=(vec&lt;1, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;4, T, Q&gt;&amp; operator+=(vec&lt;1, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;4, T, Q&gt;&amp; operator+=(vec&lt;4, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;4, T, Q&gt;&amp; operator+=(vec&lt;4, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;4, T, Q&gt;&amp; operator-=(U scalar);</div>
+<div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;4, T, Q&gt;&amp; operator-=(U scalar);</div>
 <div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;4, T, Q&gt;&amp; operator-=(vec&lt;1, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;4, T, Q&gt;&amp; operator-=(vec&lt;1, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;4, T, Q&gt;&amp; operator-=(vec&lt;4, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;4, T, Q&gt;&amp; operator-=(vec&lt;4, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;4, T, Q&gt;&amp; operator*=(U scalar);</div>
+<div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;4, T, Q&gt;&amp; operator*=(U scalar);</div>
 <div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;4, T, Q&gt;&amp; operator*=(vec&lt;1, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;4, T, Q&gt;&amp; operator*=(vec&lt;1, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;4, T, Q&gt;&amp; operator*=(vec&lt;4, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;4, T, Q&gt;&amp; operator*=(vec&lt;4, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;4, T, Q&gt;&amp; operator/=(U scalar);</div>
+<div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;4, T, Q&gt;&amp; operator/=(U scalar);</div>
 <div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;4, T, Q&gt;&amp; operator/=(vec&lt;1, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;4, T, Q&gt;&amp; operator/=(vec&lt;1, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;4, T, Q&gt;&amp; operator/=(vec&lt;4, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;4, T, Q&gt;&amp; operator/=(vec&lt;4, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160; </div>
 <div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;                <span class="comment">// -- Increment and decrement operators --</span></div>
 <div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160; </div>
-<div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;4, T, Q&gt; &amp; operator++();</div>
-<div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;                GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR vec&lt;4, T, Q&gt; &amp; operator--();</div>
-<div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;                GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;4, T, Q&gt; operator++(<span class="keywordtype">int</span>);</div>
-<div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;                GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;4, T, Q&gt; operator--(<span class="keywordtype">int</span>);</div>
+<div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;4, T, Q&gt; &amp; operator++();</div>
+<div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;                GLM_FUNC_DISCARD_DECL constexpr vec&lt;4, T, Q&gt; &amp; operator--();</div>
+<div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;                GLM_FUNC_DECL constexpr vec&lt;4, T, Q&gt; operator++(<span class="keywordtype">int</span>);</div>
+<div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;                GLM_FUNC_DECL constexpr vec&lt;4, T, Q&gt; operator--(<span class="keywordtype">int</span>);</div>
 <div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160; </div>
 <div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;                <span class="comment">// -- Unary bit operators --</span></div>
 <div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160; </div>
 <div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;                GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;4, T, Q&gt; &amp; operator%=(U scalar);</div>
+<div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;                GLM_FUNC_DECL constexpr vec&lt;4, T, Q&gt; &amp; operator%=(U scalar);</div>
 <div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;                GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;4, T, Q&gt; &amp; operator%=(vec&lt;1, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;                GLM_FUNC_DECL constexpr vec&lt;4, T, Q&gt; &amp; operator%=(vec&lt;1, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;                GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;4, T, Q&gt; &amp; operator%=(vec&lt;4, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;                GLM_FUNC_DECL constexpr vec&lt;4, T, Q&gt; &amp; operator%=(vec&lt;4, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;                GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;4, T, Q&gt; &amp; operator&amp;=(U scalar);</div>
+<div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;                GLM_FUNC_DECL constexpr vec&lt;4, T, Q&gt; &amp; operator&amp;=(U scalar);</div>
 <div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;                GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;4, T, Q&gt; &amp; operator&amp;=(vec&lt;1, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;                GLM_FUNC_DECL constexpr vec&lt;4, T, Q&gt; &amp; operator&amp;=(vec&lt;1, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;                GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;4, T, Q&gt; &amp; operator&amp;=(vec&lt;4, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;                GLM_FUNC_DECL constexpr vec&lt;4, T, Q&gt; &amp; operator&amp;=(vec&lt;4, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;                GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;4, T, Q&gt; &amp; operator|=(U scalar);</div>
+<div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;                GLM_FUNC_DECL constexpr vec&lt;4, T, Q&gt; &amp; operator|=(U scalar);</div>
 <div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;                GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;4, T, Q&gt; &amp; operator|=(vec&lt;1, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;                GLM_FUNC_DECL constexpr vec&lt;4, T, Q&gt; &amp; operator|=(vec&lt;1, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;                GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;4, T, Q&gt; &amp; operator|=(vec&lt;4, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;                GLM_FUNC_DECL constexpr vec&lt;4, T, Q&gt; &amp; operator|=(vec&lt;4, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;                GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;4, T, Q&gt; &amp; operator^=(U scalar);</div>
+<div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;                GLM_FUNC_DECL constexpr vec&lt;4, T, Q&gt; &amp; operator^=(U scalar);</div>
 <div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;                GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;4, T, Q&gt; &amp; operator^=(vec&lt;1, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;                GLM_FUNC_DECL constexpr vec&lt;4, T, Q&gt; &amp; operator^=(vec&lt;1, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;                GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;4, T, Q&gt; &amp; operator^=(vec&lt;4, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;                GLM_FUNC_DECL constexpr vec&lt;4, T, Q&gt; &amp; operator^=(vec&lt;4, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;                GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;4, T, Q&gt; &amp; operator&lt;&lt;=(U scalar);</div>
+<div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;                GLM_FUNC_DECL constexpr vec&lt;4, T, Q&gt; &amp; operator&lt;&lt;=(U scalar);</div>
 <div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;                GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;4, T, Q&gt; &amp; operator&lt;&lt;=(vec&lt;1, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;                GLM_FUNC_DECL constexpr vec&lt;4, T, Q&gt; &amp; operator&lt;&lt;=(vec&lt;1, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;                GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;4, T, Q&gt; &amp; operator&lt;&lt;=(vec&lt;4, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;                GLM_FUNC_DECL constexpr vec&lt;4, T, Q&gt; &amp; operator&lt;&lt;=(vec&lt;4, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;                GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;4, T, Q&gt; &amp; operator&gt;&gt;=(U scalar);</div>
+<div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;                GLM_FUNC_DECL constexpr vec&lt;4, T, Q&gt; &amp; operator&gt;&gt;=(U scalar);</div>
 <div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;                GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;4, T, Q&gt; &amp; operator&gt;&gt;=(vec&lt;1, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;                GLM_FUNC_DECL constexpr vec&lt;4, T, Q&gt; &amp; operator&gt;&gt;=(vec&lt;1, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt;</div>
-<div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;                GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;4, T, Q&gt; &amp; operator&gt;&gt;=(vec&lt;4, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;                GLM_FUNC_DECL constexpr vec&lt;4, T, Q&gt; &amp; operator&gt;&gt;=(vec&lt;4, U, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;        };</div>
 <div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160; </div>
 <div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160; </div>
 <div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;        <span class="comment">// -- Unary operators --</span></div>
 <div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160; </div>
 <div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;4, T, Q&gt; operator+(vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;4, T, Q&gt; operator+(vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160; </div>
 <div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;4, T, Q&gt; operator-(vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;4, T, Q&gt; operator-(vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160; </div>
 <div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;        <span class="comment">// -- Binary operators --</span></div>
 <div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160; </div>
 <div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;4, T, Q&gt; operator+(vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v, T scalar);</div>
+<div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;4, T, Q&gt; operator+(vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v, T scalar);</div>
 <div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160; </div>
 <div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;4, T, Q&gt; operator+(vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
+<div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;4, T, Q&gt; operator+(vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
 <div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160; </div>
 <div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;4, T, Q&gt; operator+(T scalar, vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;4, T, Q&gt; operator+(T scalar, vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160; </div>
 <div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;4, T, Q&gt; operator+(vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
+<div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;4, T, Q&gt; operator+(vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
 <div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160; </div>
 <div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;4, T, Q&gt; operator+(vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
+<div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;4, T, Q&gt; operator+(vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
 <div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160; </div>
 <div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;4, T, Q&gt; operator-(vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v, T scalar);</div>
+<div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;4, T, Q&gt; operator-(vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v, T scalar);</div>
 <div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160; </div>
 <div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;4, T, Q&gt; operator-(vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
+<div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;4, T, Q&gt; operator-(vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
 <div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160; </div>
 <div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;4, T, Q&gt; operator-(T scalar, vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;4, T, Q&gt; operator-(T scalar, vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160; </div>
 <div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;4, T, Q&gt; operator-(vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
+<div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;4, T, Q&gt; operator-(vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
 <div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160; </div>
 <div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;4, T, Q&gt; operator-(vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
+<div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;4, T, Q&gt; operator-(vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
 <div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160; </div>
 <div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;4, T, Q&gt; operator*(vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v, T scalar);</div>
+<div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;4, T, Q&gt; operator*(vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v, T scalar);</div>
 <div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160; </div>
 <div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;4, T, Q&gt; operator*(vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
+<div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;4, T, Q&gt; operator*(vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
 <div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160; </div>
 <div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;4, T, Q&gt; operator*(T scalar, vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;4, T, Q&gt; operator*(T scalar, vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160; </div>
 <div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;4, T, Q&gt; operator*(vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
+<div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;4, T, Q&gt; operator*(vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
 <div class="line"><a name="l00385"></a><span class="lineno">  385</span>&#160; </div>
 <div class="line"><a name="l00386"></a><span class="lineno">  386</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00387"></a><span class="lineno">  387</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;4, T, Q&gt; operator*(vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
+<div class="line"><a name="l00387"></a><span class="lineno">  387</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;4, T, Q&gt; operator*(vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
 <div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160; </div>
 <div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;4, T, Q&gt; operator/(vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v, T scalar);</div>
+<div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;4, T, Q&gt; operator/(vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v, T scalar);</div>
 <div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160; </div>
 <div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00393"></a><span class="lineno">  393</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;4, T, Q&gt; operator/(vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
+<div class="line"><a name="l00393"></a><span class="lineno">  393</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;4, T, Q&gt; operator/(vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
 <div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160; </div>
 <div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;4, T, Q&gt; operator/(T scalar, vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;4, T, Q&gt; operator/(T scalar, vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160; </div>
 <div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;4, T, Q&gt; operator/(vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
+<div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;4, T, Q&gt; operator/(vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
 <div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160; </div>
 <div class="line"><a name="l00401"></a><span class="lineno">  401</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;4, T, Q&gt; operator/(vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
+<div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;4, T, Q&gt; operator/(vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
 <div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160; </div>
 <div class="line"><a name="l00404"></a><span class="lineno">  404</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;4, T, Q&gt; operator%(vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v, T scalar);</div>
+<div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;4, T, Q&gt; operator%(vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v, T scalar);</div>
 <div class="line"><a name="l00406"></a><span class="lineno">  406</span>&#160; </div>
 <div class="line"><a name="l00407"></a><span class="lineno">  407</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00408"></a><span class="lineno">  408</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;4, T, Q&gt; operator%(vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v, vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; scalar);</div>
+<div class="line"><a name="l00408"></a><span class="lineno">  408</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;4, T, Q&gt; operator%(vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v, vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; scalar);</div>
 <div class="line"><a name="l00409"></a><span class="lineno">  409</span>&#160; </div>
 <div class="line"><a name="l00410"></a><span class="lineno">  410</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;4, T, Q&gt; operator%(T scalar, vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;4, T, Q&gt; operator%(T scalar, vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00412"></a><span class="lineno">  412</span>&#160; </div>
 <div class="line"><a name="l00413"></a><span class="lineno">  413</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00414"></a><span class="lineno">  414</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;4, T, Q&gt; operator%(vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; scalar, vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00414"></a><span class="lineno">  414</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;4, T, Q&gt; operator%(vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; scalar, vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00415"></a><span class="lineno">  415</span>&#160; </div>
 <div class="line"><a name="l00416"></a><span class="lineno">  416</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00417"></a><span class="lineno">  417</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;4, T, Q&gt; operator%(vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
+<div class="line"><a name="l00417"></a><span class="lineno">  417</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;4, T, Q&gt; operator%(vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
 <div class="line"><a name="l00418"></a><span class="lineno">  418</span>&#160; </div>
 <div class="line"><a name="l00419"></a><span class="lineno">  419</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00420"></a><span class="lineno">  420</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;4, T, Q&gt; operator&amp;(vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v, T scalar);</div>
+<div class="line"><a name="l00420"></a><span class="lineno">  420</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;4, T, Q&gt; operator&amp;(vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v, T scalar);</div>
 <div class="line"><a name="l00421"></a><span class="lineno">  421</span>&#160; </div>
 <div class="line"><a name="l00422"></a><span class="lineno">  422</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00423"></a><span class="lineno">  423</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;4, T, Q&gt; operator&amp;(vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v, vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; scalar);</div>
+<div class="line"><a name="l00423"></a><span class="lineno">  423</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;4, T, Q&gt; operator&amp;(vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v, vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; scalar);</div>
 <div class="line"><a name="l00424"></a><span class="lineno">  424</span>&#160; </div>
 <div class="line"><a name="l00425"></a><span class="lineno">  425</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00426"></a><span class="lineno">  426</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;4, T, Q&gt; operator&amp;(T scalar, vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00426"></a><span class="lineno">  426</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;4, T, Q&gt; operator&amp;(T scalar, vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00427"></a><span class="lineno">  427</span>&#160; </div>
 <div class="line"><a name="l00428"></a><span class="lineno">  428</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;4, T, Q&gt; operator&amp;(vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; scalar, vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;4, T, Q&gt; operator&amp;(vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; scalar, vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160; </div>
 <div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;4, T, Q&gt; operator&amp;(vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
+<div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;4, T, Q&gt; operator&amp;(vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
 <div class="line"><a name="l00433"></a><span class="lineno">  433</span>&#160; </div>
 <div class="line"><a name="l00434"></a><span class="lineno">  434</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00435"></a><span class="lineno">  435</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;4, T, Q&gt; operator|(vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v, T scalar);</div>
+<div class="line"><a name="l00435"></a><span class="lineno">  435</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;4, T, Q&gt; operator|(vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v, T scalar);</div>
 <div class="line"><a name="l00436"></a><span class="lineno">  436</span>&#160; </div>
 <div class="line"><a name="l00437"></a><span class="lineno">  437</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00438"></a><span class="lineno">  438</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;4, T, Q&gt; operator|(vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v, vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; scalar);</div>
+<div class="line"><a name="l00438"></a><span class="lineno">  438</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;4, T, Q&gt; operator|(vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v, vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; scalar);</div>
 <div class="line"><a name="l00439"></a><span class="lineno">  439</span>&#160; </div>
 <div class="line"><a name="l00440"></a><span class="lineno">  440</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;4, T, Q&gt; operator|(T scalar, vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;4, T, Q&gt; operator|(T scalar, vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00442"></a><span class="lineno">  442</span>&#160; </div>
 <div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;4, T, Q&gt; operator|(vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; scalar, vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;4, T, Q&gt; operator|(vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; scalar, vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00445"></a><span class="lineno">  445</span>&#160; </div>
 <div class="line"><a name="l00446"></a><span class="lineno">  446</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00447"></a><span class="lineno">  447</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;4, T, Q&gt; operator|(vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
+<div class="line"><a name="l00447"></a><span class="lineno">  447</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;4, T, Q&gt; operator|(vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
 <div class="line"><a name="l00448"></a><span class="lineno">  448</span>&#160; </div>
 <div class="line"><a name="l00449"></a><span class="lineno">  449</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00450"></a><span class="lineno">  450</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;4, T, Q&gt; operator^(vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v, T scalar);</div>
+<div class="line"><a name="l00450"></a><span class="lineno">  450</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;4, T, Q&gt; operator^(vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v, T scalar);</div>
 <div class="line"><a name="l00451"></a><span class="lineno">  451</span>&#160; </div>
 <div class="line"><a name="l00452"></a><span class="lineno">  452</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00453"></a><span class="lineno">  453</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;4, T, Q&gt; operator^(vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v, vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; scalar);</div>
+<div class="line"><a name="l00453"></a><span class="lineno">  453</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;4, T, Q&gt; operator^(vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v, vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; scalar);</div>
 <div class="line"><a name="l00454"></a><span class="lineno">  454</span>&#160; </div>
 <div class="line"><a name="l00455"></a><span class="lineno">  455</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00456"></a><span class="lineno">  456</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;4, T, Q&gt; operator^(T scalar, vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00456"></a><span class="lineno">  456</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;4, T, Q&gt; operator^(T scalar, vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00457"></a><span class="lineno">  457</span>&#160; </div>
 <div class="line"><a name="l00458"></a><span class="lineno">  458</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00459"></a><span class="lineno">  459</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;4, T, Q&gt; operator^(vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; scalar, vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00459"></a><span class="lineno">  459</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;4, T, Q&gt; operator^(vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; scalar, vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00460"></a><span class="lineno">  460</span>&#160; </div>
 <div class="line"><a name="l00461"></a><span class="lineno">  461</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00462"></a><span class="lineno">  462</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;4, T, Q&gt; operator^(vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
+<div class="line"><a name="l00462"></a><span class="lineno">  462</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;4, T, Q&gt; operator^(vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
 <div class="line"><a name="l00463"></a><span class="lineno">  463</span>&#160; </div>
 <div class="line"><a name="l00464"></a><span class="lineno">  464</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00465"></a><span class="lineno">  465</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;4, T, Q&gt; operator&lt;&lt;(vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v, T scalar);</div>
+<div class="line"><a name="l00465"></a><span class="lineno">  465</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;4, T, Q&gt; operator&lt;&lt;(vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v, T scalar);</div>
 <div class="line"><a name="l00466"></a><span class="lineno">  466</span>&#160; </div>
 <div class="line"><a name="l00467"></a><span class="lineno">  467</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00468"></a><span class="lineno">  468</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;4, T, Q&gt; operator&lt;&lt;(vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v, vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; scalar);</div>
+<div class="line"><a name="l00468"></a><span class="lineno">  468</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;4, T, Q&gt; operator&lt;&lt;(vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v, vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; scalar);</div>
 <div class="line"><a name="l00469"></a><span class="lineno">  469</span>&#160; </div>
 <div class="line"><a name="l00470"></a><span class="lineno">  470</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00471"></a><span class="lineno">  471</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;4, T, Q&gt; operator&lt;&lt;(T scalar, vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00471"></a><span class="lineno">  471</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;4, T, Q&gt; operator&lt;&lt;(T scalar, vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00472"></a><span class="lineno">  472</span>&#160; </div>
 <div class="line"><a name="l00473"></a><span class="lineno">  473</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00474"></a><span class="lineno">  474</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;4, T, Q&gt; operator&lt;&lt;(vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; scalar, vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00474"></a><span class="lineno">  474</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;4, T, Q&gt; operator&lt;&lt;(vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; scalar, vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00475"></a><span class="lineno">  475</span>&#160; </div>
 <div class="line"><a name="l00476"></a><span class="lineno">  476</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00477"></a><span class="lineno">  477</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;4, T, Q&gt; operator&lt;&lt;(vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
+<div class="line"><a name="l00477"></a><span class="lineno">  477</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;4, T, Q&gt; operator&lt;&lt;(vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
 <div class="line"><a name="l00478"></a><span class="lineno">  478</span>&#160; </div>
 <div class="line"><a name="l00479"></a><span class="lineno">  479</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00480"></a><span class="lineno">  480</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;4, T, Q&gt; operator&gt;&gt;(vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v, T scalar);</div>
+<div class="line"><a name="l00480"></a><span class="lineno">  480</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;4, T, Q&gt; operator&gt;&gt;(vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v, T scalar);</div>
 <div class="line"><a name="l00481"></a><span class="lineno">  481</span>&#160; </div>
 <div class="line"><a name="l00482"></a><span class="lineno">  482</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00483"></a><span class="lineno">  483</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;4, T, Q&gt; operator&gt;&gt;(vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v, vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; scalar);</div>
+<div class="line"><a name="l00483"></a><span class="lineno">  483</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;4, T, Q&gt; operator&gt;&gt;(vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v, vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; scalar);</div>
 <div class="line"><a name="l00484"></a><span class="lineno">  484</span>&#160; </div>
 <div class="line"><a name="l00485"></a><span class="lineno">  485</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00486"></a><span class="lineno">  486</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;4, T, Q&gt; operator&gt;&gt;(T scalar, vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00486"></a><span class="lineno">  486</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;4, T, Q&gt; operator&gt;&gt;(T scalar, vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00487"></a><span class="lineno">  487</span>&#160; </div>
 <div class="line"><a name="l00488"></a><span class="lineno">  488</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00489"></a><span class="lineno">  489</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;4, T, Q&gt; operator&gt;&gt;(vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; scalar, vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00489"></a><span class="lineno">  489</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;4, T, Q&gt; operator&gt;&gt;(vec&lt;1, T, Q&gt; <span class="keyword">const</span>&amp; scalar, vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00490"></a><span class="lineno">  490</span>&#160; </div>
 <div class="line"><a name="l00491"></a><span class="lineno">  491</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00492"></a><span class="lineno">  492</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;4, T, Q&gt; operator&gt;&gt;(vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
+<div class="line"><a name="l00492"></a><span class="lineno">  492</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;4, T, Q&gt; operator&gt;&gt;(vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
 <div class="line"><a name="l00493"></a><span class="lineno">  493</span>&#160; </div>
 <div class="line"><a name="l00494"></a><span class="lineno">  494</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00495"></a><span class="lineno">  495</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;4, T, Q&gt; operator~(vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00495"></a><span class="lineno">  495</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;4, T, Q&gt; operator~(vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00496"></a><span class="lineno">  496</span>&#160; </div>
 <div class="line"><a name="l00497"></a><span class="lineno">  497</span>&#160;        <span class="comment">// -- Boolean operators --</span></div>
 <div class="line"><a name="l00498"></a><span class="lineno">  498</span>&#160; </div>
 <div class="line"><a name="l00499"></a><span class="lineno">  499</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00500"></a><span class="lineno">  500</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR <span class="keywordtype">bool</span> operator==(vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
+<div class="line"><a name="l00500"></a><span class="lineno">  500</span>&#160;        GLM_FUNC_DECL constexpr <span class="keywordtype">bool</span> operator==(vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
 <div class="line"><a name="l00501"></a><span class="lineno">  501</span>&#160; </div>
 <div class="line"><a name="l00502"></a><span class="lineno">  502</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00503"></a><span class="lineno">  503</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR <span class="keywordtype">bool</span> operator!=(vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
+<div class="line"><a name="l00503"></a><span class="lineno">  503</span>&#160;        GLM_FUNC_DECL constexpr <span class="keywordtype">bool</span> operator!=(vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;4, T, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
 <div class="line"><a name="l00504"></a><span class="lineno">  504</span>&#160; </div>
 <div class="line"><a name="l00505"></a><span class="lineno">  505</span>&#160;        <span class="keyword">template</span>&lt;qualifier Q&gt;</div>
-<div class="line"><a name="l00506"></a><span class="lineno">  506</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;4, bool, Q&gt; operator&amp;&amp;(vec&lt;4, bool, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;4, bool, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
+<div class="line"><a name="l00506"></a><span class="lineno">  506</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;4, bool, Q&gt; operator&amp;&amp;(vec&lt;4, bool, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;4, bool, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
 <div class="line"><a name="l00507"></a><span class="lineno">  507</span>&#160; </div>
 <div class="line"><a name="l00508"></a><span class="lineno">  508</span>&#160;        <span class="keyword">template</span>&lt;qualifier Q&gt;</div>
-<div class="line"><a name="l00509"></a><span class="lineno">  509</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;4, bool, Q&gt; operator||(vec&lt;4, bool, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;4, bool, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
+<div class="line"><a name="l00509"></a><span class="lineno">  509</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;4, bool, Q&gt; operator||(vec&lt;4, bool, Q&gt; <span class="keyword">const</span>&amp; v1, vec&lt;4, bool, Q&gt; <span class="keyword">const</span>&amp; v2);</div>
 <div class="line"><a name="l00510"></a><span class="lineno">  510</span>&#160;}<span class="comment">//namespace glm</span></div>
 <div class="line"><a name="l00511"></a><span class="lineno">  511</span>&#160; </div>
 <div class="line"><a name="l00512"></a><span class="lineno">  512</span>&#160;<span class="preprocessor">#ifndef GLM_EXTERNAL_TEMPLATE</span></div>

+ 9 - 9
doc/api/a00089_source.html

@@ -82,7 +82,7 @@ $(function() {
 <div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160; </div>
 <div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">template</span>&lt;length_t C, length_t R, <span class="keyword">typename</span> T, qualifier Q&gt; <span class="keyword">class </span>mat, <span class="keyword">typename</span> Ret, <span class="keyword">typename</span> T, qualifier Q&gt;</div>
 <div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;                <span class="keyword">struct </span>matrix_functor_1&lt;mat, 2, 2, Ret, T, Q&gt; {</div>
-<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;                        GLM_FUNC_QUALIFIER GLM_CONSTEXPR <span class="keyword">static</span> mat&lt;2, 2, T, Q&gt; call(Ret (*Func)(T x), mat&lt;2, 2, T, Q&gt; <span class="keyword">const</span> &amp;x) {</div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;                        GLM_FUNC_QUALIFIER constexpr <span class="keyword">static</span> mat&lt;2, 2, T, Q&gt; call(Ret (*Func)(T x), mat&lt;2, 2, T, Q&gt; <span class="keyword">const</span> &amp;x) {</div>
 <div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;                                <span class="keywordflow">return</span> mat&lt;2, 2, Ret, Q&gt;(</div>
 <div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;                                        Func(x[0][0]), Func(x[0][1]),</div>
 <div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;                                        Func(x[1][0]), Func(x[1][1])</div>
@@ -93,7 +93,7 @@ $(function() {
 <div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">template</span>&lt;length_t C, length_t R, <span class="keyword">typename</span> T, qualifier Q&gt; <span class="keyword">class </span>mat, <span class="keyword">typename</span> Ret, <span class="keyword">typename</span> T, qualifier Q&gt;</div>
 <div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;                <span class="keyword">struct </span>matrix_functor_1&lt;mat, 2, 3, Ret, T, Q&gt; {</div>
 <div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160; </div>
-<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;                        GLM_FUNC_QUALIFIER GLM_CONSTEXPR <span class="keyword">static</span> mat&lt;2, 3, T, Q&gt; call(Ret (*Func)(T x), mat&lt;2, 3, T, Q&gt; <span class="keyword">const</span> &amp;x) {</div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;                        GLM_FUNC_QUALIFIER constexpr <span class="keyword">static</span> mat&lt;2, 3, T, Q&gt; call(Ret (*Func)(T x), mat&lt;2, 3, T, Q&gt; <span class="keyword">const</span> &amp;x) {</div>
 <div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;                                <span class="keywordflow">return</span> mat&lt;2, 3, Ret, Q&gt;(</div>
 <div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;                                        Func(x[0][0]), Func(x[0][1]), Func(x[0][2]),</div>
 <div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;                                        Func(x[1][0]), Func(x[1][1]), Func(x[1][2])</div>
@@ -105,7 +105,7 @@ $(function() {
 <div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">template</span>&lt;length_t C, length_t R, <span class="keyword">typename</span> T, qualifier Q&gt; <span class="keyword">class </span>mat, <span class="keyword">typename</span> Ret, <span class="keyword">typename</span> T, qualifier Q&gt;</div>
 <div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;                <span class="keyword">struct </span>matrix_functor_1&lt;mat, 2, 4, Ret, T, Q&gt; {</div>
 <div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160; </div>
-<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;                        GLM_FUNC_QUALIFIER GLM_CONSTEXPR <span class="keyword">static</span> mat&lt;2, 4, T, Q&gt; call(Ret (*Func)(T x), mat&lt;2, 4, T, Q&gt; <span class="keyword">const</span> &amp;x) {</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;                        GLM_FUNC_QUALIFIER constexpr <span class="keyword">static</span> mat&lt;2, 4, T, Q&gt; call(Ret (*Func)(T x), mat&lt;2, 4, T, Q&gt; <span class="keyword">const</span> &amp;x) {</div>
 <div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;                                <span class="keywordflow">return</span> mat&lt;2, 4, Ret, Q&gt;(</div>
 <div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;                                        Func(x[0][0]), Func(x[0][1]), Func(x[0][2]), Func(x[0][3]),</div>
 <div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;                                        Func(x[1][0]), Func(x[1][1]), Func(x[1][2]), Func(x[1][3])</div>
@@ -117,7 +117,7 @@ $(function() {
 <div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">template</span>&lt;length_t C, length_t R, <span class="keyword">typename</span> T, qualifier Q&gt; <span class="keyword">class </span>mat, <span class="keyword">typename</span> Ret, <span class="keyword">typename</span> T, qualifier Q&gt;</div>
 <div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;                <span class="keyword">struct </span>matrix_functor_1&lt;mat, 3, 2, Ret, T, Q&gt; {</div>
 <div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160; </div>
-<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;                        GLM_FUNC_QUALIFIER GLM_CONSTEXPR <span class="keyword">static</span> mat&lt;3, 2, T, Q&gt; call(Ret (*Func)(T x), mat&lt;3, 2, T, Q&gt; <span class="keyword">const</span> &amp;x) {</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;                        GLM_FUNC_QUALIFIER constexpr <span class="keyword">static</span> mat&lt;3, 2, T, Q&gt; call(Ret (*Func)(T x), mat&lt;3, 2, T, Q&gt; <span class="keyword">const</span> &amp;x) {</div>
 <div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;                                <span class="keywordflow">return</span> mat&lt;3, 2, Ret, Q&gt;(</div>
 <div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;                                        Func(x[0][0]), Func(x[0][1]),</div>
 <div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;                                        Func(x[1][0]), Func(x[1][1]),</div>
@@ -130,7 +130,7 @@ $(function() {
 <div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">template</span>&lt;length_t C, length_t R, <span class="keyword">typename</span> T, qualifier Q&gt; <span class="keyword">class </span>mat, <span class="keyword">typename</span> Ret, <span class="keyword">typename</span> T, qualifier Q&gt;</div>
 <div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;                <span class="keyword">struct </span>matrix_functor_1&lt;mat, 3, 3, Ret, T, Q&gt; {</div>
 <div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160; </div>
-<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;                        GLM_FUNC_QUALIFIER GLM_CONSTEXPR <span class="keyword">static</span> mat&lt;3, 3, T, Q&gt; call(Ret (*Func)(T x), mat&lt;3, 3, T, Q&gt; <span class="keyword">const</span> &amp;x) {</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;                        GLM_FUNC_QUALIFIER constexpr <span class="keyword">static</span> mat&lt;3, 3, T, Q&gt; call(Ret (*Func)(T x), mat&lt;3, 3, T, Q&gt; <span class="keyword">const</span> &amp;x) {</div>
 <div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;                                <span class="keywordflow">return</span> mat&lt;3, 3, Ret, Q&gt;(</div>
 <div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;                                        Func(x[0][0]), Func(x[0][1]), Func(x[0][2]),</div>
 <div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;                                        Func(x[1][0]), Func(x[1][1]), Func(x[1][2]),</div>
@@ -143,7 +143,7 @@ $(function() {
 <div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">template</span>&lt;length_t C, length_t R, <span class="keyword">typename</span> T, qualifier Q&gt; <span class="keyword">class </span>mat, <span class="keyword">typename</span> Ret, <span class="keyword">typename</span> T, qualifier Q&gt;</div>
 <div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;                <span class="keyword">struct </span>matrix_functor_1&lt;mat, 3, 4, Ret, T, Q&gt; {</div>
 <div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160; </div>
-<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;                        GLM_FUNC_QUALIFIER GLM_CONSTEXPR <span class="keyword">static</span> mat&lt;3, 4, T, Q&gt; call(Ret (*Func)(T x), mat&lt;3, 4, T, Q&gt; <span class="keyword">const</span> &amp;x) {</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;                        GLM_FUNC_QUALIFIER constexpr <span class="keyword">static</span> mat&lt;3, 4, T, Q&gt; call(Ret (*Func)(T x), mat&lt;3, 4, T, Q&gt; <span class="keyword">const</span> &amp;x) {</div>
 <div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;                                <span class="keywordflow">return</span> mat&lt;3, 4, Ret, Q&gt;(</div>
 <div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;                                        Func(x[0][0]), Func(x[0][1]), Func(x[0][2]), Func(x[0][3]),</div>
 <div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;                                        Func(x[1][0]), Func(x[1][1]), Func(x[1][2]), Func(x[1][3]),</div>
@@ -156,7 +156,7 @@ $(function() {
 <div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">template</span>&lt;length_t C, length_t R, <span class="keyword">typename</span> T, qualifier Q&gt; <span class="keyword">class </span>mat, <span class="keyword">typename</span> Ret, <span class="keyword">typename</span> T, qualifier Q&gt;</div>
 <div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;                <span class="keyword">struct </span>matrix_functor_1&lt;mat, 4, 2, Ret, T, Q&gt; {</div>
 <div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160; </div>
-<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;                        GLM_FUNC_QUALIFIER GLM_CONSTEXPR <span class="keyword">static</span> mat&lt;4, 2, T, Q&gt; call(Ret (*Func)(T x), mat&lt;4, 2, T, Q&gt; <span class="keyword">const</span> &amp;x) {</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;                        GLM_FUNC_QUALIFIER constexpr <span class="keyword">static</span> mat&lt;4, 2, T, Q&gt; call(Ret (*Func)(T x), mat&lt;4, 2, T, Q&gt; <span class="keyword">const</span> &amp;x) {</div>
 <div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;                                <span class="keywordflow">return</span> mat&lt;4, 2, Ret, Q&gt;(</div>
 <div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;                                        Func(x[0][0]), Func(x[0][1]),</div>
 <div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;                                        Func(x[1][0]), Func(x[1][1]),</div>
@@ -170,7 +170,7 @@ $(function() {
 <div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">template</span>&lt;length_t C, length_t R, <span class="keyword">typename</span> T, qualifier Q&gt; <span class="keyword">class </span>mat, <span class="keyword">typename</span> Ret, <span class="keyword">typename</span> T, qualifier Q&gt;</div>
 <div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;                <span class="keyword">struct </span>matrix_functor_1&lt;mat, 4, 3, Ret, T, Q&gt; {</div>
 <div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160; </div>
-<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;                        GLM_FUNC_QUALIFIER GLM_CONSTEXPR <span class="keyword">static</span> mat&lt;4, 3, T, Q&gt; call(Ret (*Func)(T x), mat&lt;4, 3, T, Q&gt; <span class="keyword">const</span> &amp;x) {</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;                        GLM_FUNC_QUALIFIER constexpr <span class="keyword">static</span> mat&lt;4, 3, T, Q&gt; call(Ret (*Func)(T x), mat&lt;4, 3, T, Q&gt; <span class="keyword">const</span> &amp;x) {</div>
 <div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;                                <span class="keywordflow">return</span> mat&lt;4, 3, Ret, Q&gt;(</div>
 <div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;                                        Func(x[0][0]), Func(x[0][1]), Func(x[0][2]),</div>
 <div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;                                        Func(x[1][0]), Func(x[1][1]), Func(x[1][2]),</div>
@@ -184,7 +184,7 @@ $(function() {
 <div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;                <span class="keyword">template</span>&lt;<span class="keyword">template</span>&lt;length_t C, length_t R, <span class="keyword">typename</span> T, qualifier Q&gt; <span class="keyword">class </span>mat, <span class="keyword">typename</span> Ret, <span class="keyword">typename</span> T, qualifier Q&gt;</div>
 <div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;                <span class="keyword">struct </span>matrix_functor_1&lt;mat, 4, 4, Ret, T, Q&gt; {</div>
 <div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160; </div>
-<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;                        GLM_FUNC_QUALIFIER GLM_CONSTEXPR <span class="keyword">static</span> mat&lt;4, 4, T, Q&gt; call(Ret (*Func)(T x), mat&lt;4, 4, T, Q&gt; <span class="keyword">const</span> &amp;x) {</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;                        GLM_FUNC_QUALIFIER constexpr <span class="keyword">static</span> mat&lt;4, 4, T, Q&gt; call(Ret (*Func)(T x), mat&lt;4, 4, T, Q&gt; <span class="keyword">const</span> &amp;x) {</div>
 <div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;                                <span class="keywordflow">return</span> mat&lt;4, 4, Ret, Q&gt;(</div>
 <div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;                                        Func(x[0][0]), Func(x[0][1]), Func(x[0][2]), Func(x[0][3]),</div>
 <div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;                                        Func(x[1][0]), Func(x[1][1]), Func(x[1][2]), Func(x[1][3]),</div>

+ 3 - 3
doc/api/a00095_source.html

@@ -90,14 +90,14 @@ $(function() {
 <div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;        GLM_FUNC_DECL mat&lt;C, R, T, Q&gt; <a class="code" href="a00812.html#ga6b6e0c7ecb4a5b78f929566355bb7416">mix</a>(mat&lt;C, R, T, Q&gt; <span class="keyword">const</span>&amp; x, mat&lt;C, R, T, Q&gt; <span class="keyword">const</span>&amp; y, U a);</div>
 <div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160; </div>
 <div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;        <span class="keyword">template</span> &lt;length_t C, length_t R, <span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;C, R, T, Q&gt; <a class="code" href="a00812.html#ga439e60a72eadecfeda2df5449c613a64">abs</a>(mat&lt;C, R, T, Q&gt; <span class="keyword">const</span>&amp; x);</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;        GLM_FUNC_DECL constexpr mat&lt;C, R, T, Q&gt; <a class="code" href="a00812.html#ga439e60a72eadecfeda2df5449c613a64">abs</a>(mat&lt;C, R, T, Q&gt; <span class="keyword">const</span>&amp; x);</div>
 <div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160; </div>
 <div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;}<span class="comment">//namespace glm</span></div>
 <div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160; </div>
 <div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#include &quot;matrix_common.inl&quot;</span></div>
 </div><!-- fragment --></div><!-- contents -->
-<div class="ttc" id="aa00812_html_ga439e60a72eadecfeda2df5449c613a64"><div class="ttname"><a href="a00812.html#ga439e60a72eadecfeda2df5449c613a64">glm::abs</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType abs(genType x)</div><div class="ttdoc">Returns x if x &gt;= 0; otherwise, it returns -x.</div></div>
-<div class="ttc" id="aa00812_html_ga6b6e0c7ecb4a5b78f929566355bb7416"><div class="ttname"><a href="a00812.html#ga6b6e0c7ecb4a5b78f929566355bb7416">glm::mix</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genTypeT mix(genTypeT x, genTypeT y, genTypeU a)</div><div class="ttdoc">If genTypeU is a floating scalar or vector: Returns x * (1.0 - a) + y * a, i.e., the linear blend of ...</div></div>
+<div class="ttc" id="aa00812_html_ga439e60a72eadecfeda2df5449c613a64"><div class="ttname"><a href="a00812.html#ga439e60a72eadecfeda2df5449c613a64">glm::abs</a></div><div class="ttdeci">GLM_FUNC_DECL constexpr genType abs(genType x)</div><div class="ttdoc">Returns x if x &gt;= 0; otherwise, it returns -x.</div></div>
+<div class="ttc" id="aa00812_html_ga6b6e0c7ecb4a5b78f929566355bb7416"><div class="ttname"><a href="a00812.html#ga6b6e0c7ecb4a5b78f929566355bb7416">glm::mix</a></div><div class="ttdeci">GLM_FUNC_DECL constexpr genTypeT mix(genTypeT x, genTypeT y, genTypeU a)</div><div class="ttdoc">If genTypeU is a floating scalar or vector: Returns x * (1.0 - a) + y * a, i.e., the linear blend of ...</div></div>
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
 Generated by &#160;<a href="http://www.doxygen.org/index.html">

+ 10 - 10
doc/api/a00266.html

@@ -81,43 +81,43 @@ $(function() {
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
 Functions</h2></td></tr>
 <tr class="memitem:ga27e90dcb7941c9b70e295dc3f6f6369f"><td class="memTemplParams" colspan="2">template&lt;length_t C, length_t R, typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:ga27e90dcb7941c9b70e295dc3f6f6369f"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; C, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00836.html#ga27e90dcb7941c9b70e295dc3f6f6369f">equal</a> (mat&lt; C, R, T, Q &gt; const &amp;x, mat&lt; C, R, T, Q &gt; const &amp;y)</td></tr>
+<tr class="memitem:ga27e90dcb7941c9b70e295dc3f6f6369f"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr vec&lt; C, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00836.html#ga27e90dcb7941c9b70e295dc3f6f6369f">equal</a> (mat&lt; C, R, T, Q &gt; const &amp;x, mat&lt; C, R, T, Q &gt; const &amp;y)</td></tr>
 <tr class="memdesc:ga27e90dcb7941c9b70e295dc3f6f6369f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Perform a component-wise equal-to comparison of two matrices.  <a href="a00836.html#ga27e90dcb7941c9b70e295dc3f6f6369f">More...</a><br /></td></tr>
 <tr class="separator:ga27e90dcb7941c9b70e295dc3f6f6369f"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gab3a93f19e72e9141f50527c9de21d0c0"><td class="memTemplParams" colspan="2">template&lt;length_t C, length_t R, typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:gab3a93f19e72e9141f50527c9de21d0c0"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; C, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00836.html#gab3a93f19e72e9141f50527c9de21d0c0">equal</a> (mat&lt; C, R, T, Q &gt; const &amp;x, mat&lt; C, R, T, Q &gt; const &amp;y, int ULPs)</td></tr>
+<tr class="memitem:gab3a93f19e72e9141f50527c9de21d0c0"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr vec&lt; C, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00836.html#gab3a93f19e72e9141f50527c9de21d0c0">equal</a> (mat&lt; C, R, T, Q &gt; const &amp;x, mat&lt; C, R, T, Q &gt; const &amp;y, int ULPs)</td></tr>
 <tr class="memdesc:gab3a93f19e72e9141f50527c9de21d0c0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the component-wise comparison between two vectors in term of ULPs.  <a href="a00836.html#gab3a93f19e72e9141f50527c9de21d0c0">More...</a><br /></td></tr>
 <tr class="separator:gab3a93f19e72e9141f50527c9de21d0c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gaf5d687d70d11708b68c36c6db5777040"><td class="memTemplParams" colspan="2">template&lt;length_t C, length_t R, typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:gaf5d687d70d11708b68c36c6db5777040"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; C, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00836.html#gaf5d687d70d11708b68c36c6db5777040">equal</a> (mat&lt; C, R, T, Q &gt; const &amp;x, mat&lt; C, R, T, Q &gt; const &amp;y, T epsilon)</td></tr>
+<tr class="memitem:gaf5d687d70d11708b68c36c6db5777040"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr vec&lt; C, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00836.html#gaf5d687d70d11708b68c36c6db5777040">equal</a> (mat&lt; C, R, T, Q &gt; const &amp;x, mat&lt; C, R, T, Q &gt; const &amp;y, T epsilon)</td></tr>
 <tr class="memdesc:gaf5d687d70d11708b68c36c6db5777040"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the component-wise comparison of |x - y| &lt; epsilon.  <a href="a00836.html#gaf5d687d70d11708b68c36c6db5777040">More...</a><br /></td></tr>
 <tr class="separator:gaf5d687d70d11708b68c36c6db5777040"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga5305af376173f1902719fa309bbae671"><td class="memTemplParams" colspan="2">template&lt;length_t C, length_t R, typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:ga5305af376173f1902719fa309bbae671"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; C, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00836.html#ga5305af376173f1902719fa309bbae671">equal</a> (mat&lt; C, R, T, Q &gt; const &amp;x, mat&lt; C, R, T, Q &gt; const &amp;y, vec&lt; C, int, Q &gt; const &amp;ULPs)</td></tr>
+<tr class="memitem:ga5305af376173f1902719fa309bbae671"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr vec&lt; C, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00836.html#ga5305af376173f1902719fa309bbae671">equal</a> (mat&lt; C, R, T, Q &gt; const &amp;x, mat&lt; C, R, T, Q &gt; const &amp;y, vec&lt; C, int, Q &gt; const &amp;ULPs)</td></tr>
 <tr class="memdesc:ga5305af376173f1902719fa309bbae671"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the component-wise comparison between two vectors in term of ULPs.  <a href="a00836.html#ga5305af376173f1902719fa309bbae671">More...</a><br /></td></tr>
 <tr class="separator:ga5305af376173f1902719fa309bbae671"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gafa6a053e81179fa4292b35651c83c3fb"><td class="memTemplParams" colspan="2">template&lt;length_t C, length_t R, typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:gafa6a053e81179fa4292b35651c83c3fb"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; C, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00836.html#gafa6a053e81179fa4292b35651c83c3fb">equal</a> (mat&lt; C, R, T, Q &gt; const &amp;x, mat&lt; C, R, T, Q &gt; const &amp;y, vec&lt; C, T, Q &gt; const &amp;epsilon)</td></tr>
+<tr class="memitem:gafa6a053e81179fa4292b35651c83c3fb"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr vec&lt; C, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00836.html#gafa6a053e81179fa4292b35651c83c3fb">equal</a> (mat&lt; C, R, T, Q &gt; const &amp;x, mat&lt; C, R, T, Q &gt; const &amp;y, vec&lt; C, T, Q &gt; const &amp;epsilon)</td></tr>
 <tr class="memdesc:gafa6a053e81179fa4292b35651c83c3fb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the component-wise comparison of |x - y| &lt; epsilon.  <a href="a00836.html#gafa6a053e81179fa4292b35651c83c3fb">More...</a><br /></td></tr>
 <tr class="separator:gafa6a053e81179fa4292b35651c83c3fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga8504f18a7e2bf315393032c2137dad83"><td class="memTemplParams" colspan="2">template&lt;length_t C, length_t R, typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:ga8504f18a7e2bf315393032c2137dad83"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; C, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00836.html#ga8504f18a7e2bf315393032c2137dad83">notEqual</a> (mat&lt; C, R, T, Q &gt; const &amp;x, mat&lt; C, R, T, Q &gt; const &amp;y)</td></tr>
+<tr class="memitem:ga8504f18a7e2bf315393032c2137dad83"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr vec&lt; C, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00836.html#ga8504f18a7e2bf315393032c2137dad83">notEqual</a> (mat&lt; C, R, T, Q &gt; const &amp;x, mat&lt; C, R, T, Q &gt; const &amp;y)</td></tr>
 <tr class="memdesc:ga8504f18a7e2bf315393032c2137dad83"><td class="mdescLeft">&#160;</td><td class="mdescRight">Perform a component-wise not-equal-to comparison of two matrices.  <a href="a00836.html#ga8504f18a7e2bf315393032c2137dad83">More...</a><br /></td></tr>
 <tr class="separator:ga8504f18a7e2bf315393032c2137dad83"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gaa1cd7fc228ef6e26c73583fd0d9c6552"><td class="memTemplParams" colspan="2">template&lt;length_t C, length_t R, typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:gaa1cd7fc228ef6e26c73583fd0d9c6552"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; C, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00836.html#gaa1cd7fc228ef6e26c73583fd0d9c6552">notEqual</a> (mat&lt; C, R, T, Q &gt; const &amp;x, mat&lt; C, R, T, Q &gt; const &amp;y, int ULPs)</td></tr>
+<tr class="memitem:gaa1cd7fc228ef6e26c73583fd0d9c6552"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr vec&lt; C, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00836.html#gaa1cd7fc228ef6e26c73583fd0d9c6552">notEqual</a> (mat&lt; C, R, T, Q &gt; const &amp;x, mat&lt; C, R, T, Q &gt; const &amp;y, int ULPs)</td></tr>
 <tr class="memdesc:gaa1cd7fc228ef6e26c73583fd0d9c6552"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the component-wise comparison between two vectors in term of ULPs.  <a href="a00836.html#gaa1cd7fc228ef6e26c73583fd0d9c6552">More...</a><br /></td></tr>
 <tr class="separator:gaa1cd7fc228ef6e26c73583fd0d9c6552"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga29071147d118569344d10944b7d5c378"><td class="memTemplParams" colspan="2">template&lt;length_t C, length_t R, typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:ga29071147d118569344d10944b7d5c378"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; C, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00836.html#ga29071147d118569344d10944b7d5c378">notEqual</a> (mat&lt; C, R, T, Q &gt; const &amp;x, mat&lt; C, R, T, Q &gt; const &amp;y, T epsilon)</td></tr>
+<tr class="memitem:ga29071147d118569344d10944b7d5c378"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr vec&lt; C, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00836.html#ga29071147d118569344d10944b7d5c378">notEqual</a> (mat&lt; C, R, T, Q &gt; const &amp;x, mat&lt; C, R, T, Q &gt; const &amp;y, T epsilon)</td></tr>
 <tr class="memdesc:ga29071147d118569344d10944b7d5c378"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the component-wise comparison of |x - y| &lt; epsilon.  <a href="a00836.html#ga29071147d118569344d10944b7d5c378">More...</a><br /></td></tr>
 <tr class="separator:ga29071147d118569344d10944b7d5c378"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gaa5517341754149ffba742d230afd1f32"><td class="memTemplParams" colspan="2">template&lt;length_t C, length_t R, typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:gaa5517341754149ffba742d230afd1f32"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; C, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00836.html#gaa5517341754149ffba742d230afd1f32">notEqual</a> (mat&lt; C, R, T, Q &gt; const &amp;x, mat&lt; C, R, T, Q &gt; const &amp;y, vec&lt; C, int, Q &gt; const &amp;ULPs)</td></tr>
+<tr class="memitem:gaa5517341754149ffba742d230afd1f32"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr vec&lt; C, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00836.html#gaa5517341754149ffba742d230afd1f32">notEqual</a> (mat&lt; C, R, T, Q &gt; const &amp;x, mat&lt; C, R, T, Q &gt; const &amp;y, vec&lt; C, int, Q &gt; const &amp;ULPs)</td></tr>
 <tr class="memdesc:gaa5517341754149ffba742d230afd1f32"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the component-wise comparison between two vectors in term of ULPs.  <a href="a00836.html#gaa5517341754149ffba742d230afd1f32">More...</a><br /></td></tr>
 <tr class="separator:gaa5517341754149ffba742d230afd1f32"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gad7959e14fbc35b4ed2617daf4d67f6cd"><td class="memTemplParams" colspan="2">template&lt;length_t C, length_t R, typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:gad7959e14fbc35b4ed2617daf4d67f6cd"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; C, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00836.html#gad7959e14fbc35b4ed2617daf4d67f6cd">notEqual</a> (mat&lt; C, R, T, Q &gt; const &amp;x, mat&lt; C, R, T, Q &gt; const &amp;y, vec&lt; C, T, Q &gt; const &amp;epsilon)</td></tr>
+<tr class="memitem:gad7959e14fbc35b4ed2617daf4d67f6cd"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr vec&lt; C, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00836.html#gad7959e14fbc35b4ed2617daf4d67f6cd">notEqual</a> (mat&lt; C, R, T, Q &gt; const &amp;x, mat&lt; C, R, T, Q &gt; const &amp;y, vec&lt; C, T, Q &gt; const &amp;epsilon)</td></tr>
 <tr class="memdesc:gad7959e14fbc35b4ed2617daf4d67f6cd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the component-wise comparison of |x - y| &gt;= epsilon.  <a href="a00836.html#gad7959e14fbc35b4ed2617daf4d67f6cd">More...</a><br /></td></tr>
 <tr class="separator:gad7959e14fbc35b4ed2617daf4d67f6cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>

+ 13 - 13
doc/api/a00266_source.html

@@ -84,42 +84,42 @@ $(function() {
 <div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;{</div>
 <div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160; </div>
 <div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;        <span class="keyword">template</span>&lt;length_t C, length_t R, <span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="a00836.html#ga27e90dcb7941c9b70e295dc3f6f6369f">   37</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;C, bool, Q&gt; <a class="code" href="a00836.html#ga5305af376173f1902719fa309bbae671">equal</a>(mat&lt;C, R, T, Q&gt; <span class="keyword">const</span>&amp; x, mat&lt;C, R, T, Q&gt; <span class="keyword">const</span>&amp; y);</div>
+<div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="a00836.html#ga27e90dcb7941c9b70e295dc3f6f6369f">   37</a></span>&#160;        GLM_FUNC_DECL constexpr vec&lt;C, bool, Q&gt; <a class="code" href="a00836.html#ga5305af376173f1902719fa309bbae671">equal</a>(mat&lt;C, R, T, Q&gt; <span class="keyword">const</span>&amp; x, mat&lt;C, R, T, Q&gt; <span class="keyword">const</span>&amp; y);</div>
 <div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160; </div>
 <div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;        <span class="keyword">template</span>&lt;length_t C, length_t R, <span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="a00836.html#ga8504f18a7e2bf315393032c2137dad83">   47</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;C, bool, Q&gt; <a class="code" href="a00836.html#gaa5517341754149ffba742d230afd1f32">notEqual</a>(mat&lt;C, R, T, Q&gt; <span class="keyword">const</span>&amp; x, mat&lt;C, R, T, Q&gt; <span class="keyword">const</span>&amp; y);</div>
+<div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="a00836.html#ga8504f18a7e2bf315393032c2137dad83">   47</a></span>&#160;        GLM_FUNC_DECL constexpr vec&lt;C, bool, Q&gt; <a class="code" href="a00836.html#gaa5517341754149ffba742d230afd1f32">notEqual</a>(mat&lt;C, R, T, Q&gt; <span class="keyword">const</span>&amp; x, mat&lt;C, R, T, Q&gt; <span class="keyword">const</span>&amp; y);</div>
 <div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160; </div>
 <div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;        <span class="keyword">template</span>&lt;length_t C, length_t R, <span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="a00836.html#gaf5d687d70d11708b68c36c6db5777040">   57</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;C, bool, Q&gt; <a class="code" href="a00836.html#ga5305af376173f1902719fa309bbae671">equal</a>(mat&lt;C, R, T, Q&gt; <span class="keyword">const</span>&amp; x, mat&lt;C, R, T, Q&gt; <span class="keyword">const</span>&amp; y, T <a class="code" href="a00867.html#ga2a1e57fc5592b69cfae84174cbfc9429">epsilon</a>);</div>
+<div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="a00836.html#gaf5d687d70d11708b68c36c6db5777040">   57</a></span>&#160;        GLM_FUNC_DECL constexpr vec&lt;C, bool, Q&gt; <a class="code" href="a00836.html#ga5305af376173f1902719fa309bbae671">equal</a>(mat&lt;C, R, T, Q&gt; <span class="keyword">const</span>&amp; x, mat&lt;C, R, T, Q&gt; <span class="keyword">const</span>&amp; y, T <a class="code" href="a00867.html#ga2a1e57fc5592b69cfae84174cbfc9429">epsilon</a>);</div>
 <div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160; </div>
 <div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;        <span class="keyword">template</span>&lt;length_t C, length_t R, <span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="a00836.html#gafa6a053e81179fa4292b35651c83c3fb">   67</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;C, bool, Q&gt; <a class="code" href="a00836.html#ga5305af376173f1902719fa309bbae671">equal</a>(mat&lt;C, R, T, Q&gt; <span class="keyword">const</span>&amp; x, mat&lt;C, R, T, Q&gt; <span class="keyword">const</span>&amp; y, vec&lt;C, T, Q&gt; <span class="keyword">const</span>&amp; <a class="code" href="a00867.html#ga2a1e57fc5592b69cfae84174cbfc9429">epsilon</a>);</div>
+<div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="a00836.html#gafa6a053e81179fa4292b35651c83c3fb">   67</a></span>&#160;        GLM_FUNC_DECL constexpr vec&lt;C, bool, Q&gt; <a class="code" href="a00836.html#ga5305af376173f1902719fa309bbae671">equal</a>(mat&lt;C, R, T, Q&gt; <span class="keyword">const</span>&amp; x, mat&lt;C, R, T, Q&gt; <span class="keyword">const</span>&amp; y, vec&lt;C, T, Q&gt; <span class="keyword">const</span>&amp; <a class="code" href="a00867.html#ga2a1e57fc5592b69cfae84174cbfc9429">epsilon</a>);</div>
 <div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160; </div>
 <div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;        <span class="keyword">template</span>&lt;length_t C, length_t R, <span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="a00836.html#ga29071147d118569344d10944b7d5c378">   77</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;C, bool, Q&gt; <a class="code" href="a00836.html#gaa5517341754149ffba742d230afd1f32">notEqual</a>(mat&lt;C, R, T, Q&gt; <span class="keyword">const</span>&amp; x, mat&lt;C, R, T, Q&gt; <span class="keyword">const</span>&amp; y, T <a class="code" href="a00867.html#ga2a1e57fc5592b69cfae84174cbfc9429">epsilon</a>);</div>
+<div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="a00836.html#ga29071147d118569344d10944b7d5c378">   77</a></span>&#160;        GLM_FUNC_DECL constexpr vec&lt;C, bool, Q&gt; <a class="code" href="a00836.html#gaa5517341754149ffba742d230afd1f32">notEqual</a>(mat&lt;C, R, T, Q&gt; <span class="keyword">const</span>&amp; x, mat&lt;C, R, T, Q&gt; <span class="keyword">const</span>&amp; y, T <a class="code" href="a00867.html#ga2a1e57fc5592b69cfae84174cbfc9429">epsilon</a>);</div>
 <div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160; </div>
 <div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;        <span class="keyword">template</span>&lt;length_t C, length_t R, <span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="a00836.html#gad7959e14fbc35b4ed2617daf4d67f6cd">   87</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;C, bool, Q&gt; <a class="code" href="a00836.html#gaa5517341754149ffba742d230afd1f32">notEqual</a>(mat&lt;C, R, T, Q&gt; <span class="keyword">const</span>&amp; x, mat&lt;C, R, T, Q&gt; <span class="keyword">const</span>&amp; y, vec&lt;C, T, Q&gt; <span class="keyword">const</span>&amp; <a class="code" href="a00867.html#ga2a1e57fc5592b69cfae84174cbfc9429">epsilon</a>);</div>
+<div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="a00836.html#gad7959e14fbc35b4ed2617daf4d67f6cd">   87</a></span>&#160;        GLM_FUNC_DECL constexpr vec&lt;C, bool, Q&gt; <a class="code" href="a00836.html#gaa5517341754149ffba742d230afd1f32">notEqual</a>(mat&lt;C, R, T, Q&gt; <span class="keyword">const</span>&amp; x, mat&lt;C, R, T, Q&gt; <span class="keyword">const</span>&amp; y, vec&lt;C, T, Q&gt; <span class="keyword">const</span>&amp; <a class="code" href="a00867.html#ga2a1e57fc5592b69cfae84174cbfc9429">epsilon</a>);</div>
 <div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160; </div>
 <div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;        <span class="keyword">template</span>&lt;length_t C, length_t R, <span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00097"></a><span class="lineno"><a class="line" href="a00836.html#gab3a93f19e72e9141f50527c9de21d0c0">   97</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;C, bool, Q&gt; <a class="code" href="a00836.html#ga5305af376173f1902719fa309bbae671">equal</a>(mat&lt;C, R, T, Q&gt; <span class="keyword">const</span>&amp; x, mat&lt;C, R, T, Q&gt; <span class="keyword">const</span>&amp; y, <span class="keywordtype">int</span> ULPs);</div>
+<div class="line"><a name="l00097"></a><span class="lineno"><a class="line" href="a00836.html#gab3a93f19e72e9141f50527c9de21d0c0">   97</a></span>&#160;        GLM_FUNC_DECL constexpr vec&lt;C, bool, Q&gt; <a class="code" href="a00836.html#ga5305af376173f1902719fa309bbae671">equal</a>(mat&lt;C, R, T, Q&gt; <span class="keyword">const</span>&amp; x, mat&lt;C, R, T, Q&gt; <span class="keyword">const</span>&amp; y, <span class="keywordtype">int</span> ULPs);</div>
 <div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160; </div>
 <div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;        <span class="keyword">template</span>&lt;length_t C, length_t R, <span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="a00836.html#ga5305af376173f1902719fa309bbae671">  107</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;C, bool, Q&gt; <a class="code" href="a00836.html#ga5305af376173f1902719fa309bbae671">equal</a>(mat&lt;C, R, T, Q&gt; <span class="keyword">const</span>&amp; x, mat&lt;C, R, T, Q&gt; <span class="keyword">const</span>&amp; y, vec&lt;C, int, Q&gt; <span class="keyword">const</span>&amp; ULPs);</div>
+<div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="a00836.html#ga5305af376173f1902719fa309bbae671">  107</a></span>&#160;        GLM_FUNC_DECL constexpr vec&lt;C, bool, Q&gt; <a class="code" href="a00836.html#ga5305af376173f1902719fa309bbae671">equal</a>(mat&lt;C, R, T, Q&gt; <span class="keyword">const</span>&amp; x, mat&lt;C, R, T, Q&gt; <span class="keyword">const</span>&amp; y, vec&lt;C, int, Q&gt; <span class="keyword">const</span>&amp; ULPs);</div>
 <div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160; </div>
 <div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;        <span class="keyword">template</span>&lt;length_t C, length_t R, <span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00117"></a><span class="lineno"><a class="line" href="a00836.html#gaa1cd7fc228ef6e26c73583fd0d9c6552">  117</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;C, bool, Q&gt; <a class="code" href="a00836.html#gaa5517341754149ffba742d230afd1f32">notEqual</a>(mat&lt;C, R, T, Q&gt; <span class="keyword">const</span>&amp; x, mat&lt;C, R, T, Q&gt; <span class="keyword">const</span>&amp; y, <span class="keywordtype">int</span> ULPs);</div>
+<div class="line"><a name="l00117"></a><span class="lineno"><a class="line" href="a00836.html#gaa1cd7fc228ef6e26c73583fd0d9c6552">  117</a></span>&#160;        GLM_FUNC_DECL constexpr vec&lt;C, bool, Q&gt; <a class="code" href="a00836.html#gaa5517341754149ffba742d230afd1f32">notEqual</a>(mat&lt;C, R, T, Q&gt; <span class="keyword">const</span>&amp; x, mat&lt;C, R, T, Q&gt; <span class="keyword">const</span>&amp; y, <span class="keywordtype">int</span> ULPs);</div>
 <div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160; </div>
 <div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;        <span class="keyword">template</span>&lt;length_t C, length_t R, <span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00127"></a><span class="lineno"><a class="line" href="a00836.html#gaa5517341754149ffba742d230afd1f32">  127</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;C, bool, Q&gt; <a class="code" href="a00836.html#gaa5517341754149ffba742d230afd1f32">notEqual</a>(mat&lt;C, R, T, Q&gt; <span class="keyword">const</span>&amp; x, mat&lt;C, R, T, Q&gt; <span class="keyword">const</span>&amp; y, vec&lt;C, int, Q&gt; <span class="keyword">const</span>&amp; ULPs);</div>
+<div class="line"><a name="l00127"></a><span class="lineno"><a class="line" href="a00836.html#gaa5517341754149ffba742d230afd1f32">  127</a></span>&#160;        GLM_FUNC_DECL constexpr vec&lt;C, bool, Q&gt; <a class="code" href="a00836.html#gaa5517341754149ffba742d230afd1f32">notEqual</a>(mat&lt;C, R, T, Q&gt; <span class="keyword">const</span>&amp; x, mat&lt;C, R, T, Q&gt; <span class="keyword">const</span>&amp; y, vec&lt;C, int, Q&gt; <span class="keyword">const</span>&amp; ULPs);</div>
 <div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160; </div>
 <div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;}<span class="comment">//namespace glm</span></div>
 <div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160; </div>
 <div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="preprocessor">#include &quot;matrix_relational.inl&quot;</span></div>
 </div><!-- fragment --></div><!-- contents -->
-<div class="ttc" id="aa00836_html_ga5305af376173f1902719fa309bbae671"><div class="ttname"><a href="a00836.html#ga5305af376173f1902719fa309bbae671">glm::equal</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; C, bool, Q &gt; equal(mat&lt; C, R, T, Q &gt; const &amp;x, mat&lt; C, R, T, Q &gt; const &amp;y, vec&lt; C, int, Q &gt; const &amp;ULPs)</div><div class="ttdoc">Returns the component-wise comparison between two vectors in term of ULPs.</div></div>
-<div class="ttc" id="aa00836_html_gaa5517341754149ffba742d230afd1f32"><div class="ttname"><a href="a00836.html#gaa5517341754149ffba742d230afd1f32">glm::notEqual</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; C, bool, Q &gt; notEqual(mat&lt; C, R, T, Q &gt; const &amp;x, mat&lt; C, R, T, Q &gt; const &amp;y, vec&lt; C, int, Q &gt; const &amp;ULPs)</div><div class="ttdoc">Returns the component-wise comparison between two vectors in term of ULPs.</div></div>
-<div class="ttc" id="aa00867_html_ga2a1e57fc5592b69cfae84174cbfc9429"><div class="ttname"><a href="a00867.html#ga2a1e57fc5592b69cfae84174cbfc9429">glm::epsilon</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType epsilon()</div><div class="ttdoc">Return the epsilon constant for floating point types.</div></div>
+<div class="ttc" id="aa00836_html_ga5305af376173f1902719fa309bbae671"><div class="ttname"><a href="a00836.html#ga5305af376173f1902719fa309bbae671">glm::equal</a></div><div class="ttdeci">GLM_FUNC_DECL constexpr vec&lt; C, bool, Q &gt; equal(mat&lt; C, R, T, Q &gt; const &amp;x, mat&lt; C, R, T, Q &gt; const &amp;y, vec&lt; C, int, Q &gt; const &amp;ULPs)</div><div class="ttdoc">Returns the component-wise comparison between two vectors in term of ULPs.</div></div>
+<div class="ttc" id="aa00836_html_gaa5517341754149ffba742d230afd1f32"><div class="ttname"><a href="a00836.html#gaa5517341754149ffba742d230afd1f32">glm::notEqual</a></div><div class="ttdeci">GLM_FUNC_DECL constexpr vec&lt; C, bool, Q &gt; notEqual(mat&lt; C, R, T, Q &gt; const &amp;x, mat&lt; C, R, T, Q &gt; const &amp;y, vec&lt; C, int, Q &gt; const &amp;ULPs)</div><div class="ttdoc">Returns the component-wise comparison between two vectors in term of ULPs.</div></div>
+<div class="ttc" id="aa00867_html_ga2a1e57fc5592b69cfae84174cbfc9429"><div class="ttname"><a href="a00867.html#ga2a1e57fc5592b69cfae84174cbfc9429">glm::epsilon</a></div><div class="ttdeci">GLM_FUNC_DECL constexpr genType epsilon()</div><div class="ttdoc">Return the epsilon constant for floating point types.</div></div>
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
 Generated by &#160;<a href="http://www.doxygen.org/index.html">

+ 3 - 3
doc/api/a00326.html

@@ -81,11 +81,11 @@ $(function() {
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
 Functions</h2></td></tr>
 <tr class="memitem:ga5b646f1cd4422eb76ab90496bcd0b60a"><td class="memTemplParams" colspan="2">template&lt;typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:ga5b646f1cd4422eb76ab90496bcd0b60a"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR qua&lt; T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00856.html#ga5b646f1cd4422eb76ab90496bcd0b60a">conjugate</a> (qua&lt; T, Q &gt; const &amp;q)</td></tr>
+<tr class="memitem:ga5b646f1cd4422eb76ab90496bcd0b60a"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr qua&lt; T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00856.html#ga5b646f1cd4422eb76ab90496bcd0b60a">conjugate</a> (qua&lt; T, Q &gt; const &amp;q)</td></tr>
 <tr class="memdesc:ga5b646f1cd4422eb76ab90496bcd0b60a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the q conjugate.  <a href="a00856.html#ga5b646f1cd4422eb76ab90496bcd0b60a">More...</a><br /></td></tr>
 <tr class="separator:ga5b646f1cd4422eb76ab90496bcd0b60a"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga50db49335150de11562052667537e517"><td class="memTemplParams" colspan="2">template&lt;typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:ga50db49335150de11562052667537e517"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR qua&lt; T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00856.html#ga50db49335150de11562052667537e517">inverse</a> (qua&lt; T, Q &gt; const &amp;q)</td></tr>
+<tr class="memitem:ga50db49335150de11562052667537e517"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr qua&lt; T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00856.html#ga50db49335150de11562052667537e517">inverse</a> (qua&lt; T, Q &gt; const &amp;q)</td></tr>
 <tr class="memdesc:ga50db49335150de11562052667537e517"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the q inverse.  <a href="a00856.html#ga50db49335150de11562052667537e517">More...</a><br /></td></tr>
 <tr class="separator:ga50db49335150de11562052667537e517"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga45722741ea266b4e861938b365c5f362"><td class="memTemplParams" colspan="2">template&lt;typename T , qualifier Q&gt; </td></tr>
@@ -97,7 +97,7 @@ Functions</h2></td></tr>
 <tr class="memdesc:ga1bb55f8963616502e96dc564384d8a03"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if x holds a NaN (not a number) representation in the underlying implementation's set of floating point representations.  <a href="a00856.html#ga1bb55f8963616502e96dc564384d8a03">More...</a><br /></td></tr>
 <tr class="separator:ga1bb55f8963616502e96dc564384d8a03"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gaacd3d0591852faa4bc291b61da88ad44"><td class="memTemplParams" colspan="2">template&lt;typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:gaacd3d0591852faa4bc291b61da88ad44"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR qua&lt; T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00856.html#gaacd3d0591852faa4bc291b61da88ad44">lerp</a> (qua&lt; T, Q &gt; const &amp;x, qua&lt; T, Q &gt; const &amp;y, T a)</td></tr>
+<tr class="memitem:gaacd3d0591852faa4bc291b61da88ad44"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr qua&lt; T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00856.html#gaacd3d0591852faa4bc291b61da88ad44">lerp</a> (qua&lt; T, Q &gt; const &amp;x, qua&lt; T, Q &gt; const &amp;y, T a)</td></tr>
 <tr class="memdesc:gaacd3d0591852faa4bc291b61da88ad44"><td class="mdescLeft">&#160;</td><td class="mdescRight">Linear interpolation of two quaternions.  <a href="a00856.html#gaacd3d0591852faa4bc291b61da88ad44">More...</a><br /></td></tr>
 <tr class="separator:gaacd3d0591852faa4bc291b61da88ad44"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gafbfe587b8da11fb89a30c3d67dd5ccc2"><td class="memTemplParams" colspan="2">template&lt;typename T , qualifier Q&gt; </td></tr>

+ 6 - 6
doc/api/a00326_source.html

@@ -92,7 +92,7 @@ $(function() {
 <div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="a00856.html#gafbfe587b8da11fb89a30c3d67dd5ccc2">   53</a></span>&#160;        GLM_FUNC_DECL qua&lt;T, Q&gt; <a class="code" href="a00856.html#gafbfe587b8da11fb89a30c3d67dd5ccc2">mix</a>(qua&lt;T, Q&gt; <span class="keyword">const</span>&amp; x, qua&lt;T, Q&gt; <span class="keyword">const</span>&amp; y, T a);</div>
 <div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160; </div>
 <div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="a00856.html#gaacd3d0591852faa4bc291b61da88ad44">   65</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR qua&lt;T, Q&gt; <a class="code" href="a00856.html#gaacd3d0591852faa4bc291b61da88ad44">lerp</a>(qua&lt;T, Q&gt; <span class="keyword">const</span>&amp; x, qua&lt;T, Q&gt; <span class="keyword">const</span>&amp; y, T a);</div>
+<div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="a00856.html#gaacd3d0591852faa4bc291b61da88ad44">   65</a></span>&#160;        GLM_FUNC_DECL constexpr qua&lt;T, Q&gt; <a class="code" href="a00856.html#gaacd3d0591852faa4bc291b61da88ad44">lerp</a>(qua&lt;T, Q&gt; <span class="keyword">const</span>&amp; x, qua&lt;T, Q&gt; <span class="keyword">const</span>&amp; y, T a);</div>
 <div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160; </div>
 <div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
 <div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="a00856.html#gae7fc3c945be366b9942b842f55da428a">   77</a></span>&#160;        GLM_FUNC_DECL qua&lt;T, Q&gt; <a class="code" href="a00856.html#ga8514da9c52cfee86f716cc0933ce118a">slerp</a>(qua&lt;T, Q&gt; <span class="keyword">const</span>&amp; x, qua&lt;T, Q&gt; <span class="keyword">const</span>&amp; y, T a);</div>
@@ -101,10 +101,10 @@ $(function() {
 <div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="a00856.html#ga8514da9c52cfee86f716cc0933ce118a">   92</a></span>&#160;    GLM_FUNC_DECL qua&lt;T, Q&gt; <a class="code" href="a00856.html#ga8514da9c52cfee86f716cc0933ce118a">slerp</a>(qua&lt;T, Q&gt; <span class="keyword">const</span>&amp; x, qua&lt;T, Q&gt; <span class="keyword">const</span>&amp; y, T a, S k);</div>
 <div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160; </div>
 <div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="a00856.html#ga5b646f1cd4422eb76ab90496bcd0b60a">   99</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR qua&lt;T, Q&gt; <a class="code" href="a00856.html#ga5b646f1cd4422eb76ab90496bcd0b60a">conjugate</a>(qua&lt;T, Q&gt; <span class="keyword">const</span>&amp; q);</div>
+<div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="a00856.html#ga5b646f1cd4422eb76ab90496bcd0b60a">   99</a></span>&#160;        GLM_FUNC_DECL constexpr qua&lt;T, Q&gt; <a class="code" href="a00856.html#ga5b646f1cd4422eb76ab90496bcd0b60a">conjugate</a>(qua&lt;T, Q&gt; <span class="keyword">const</span>&amp; q);</div>
 <div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160; </div>
 <div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="a00856.html#ga50db49335150de11562052667537e517">  106</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR qua&lt;T, Q&gt; <a class="code" href="a00856.html#ga50db49335150de11562052667537e517">inverse</a>(qua&lt;T, Q&gt; <span class="keyword">const</span>&amp; q);</div>
+<div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="a00856.html#ga50db49335150de11562052667537e517">  106</a></span>&#160;        GLM_FUNC_DECL constexpr qua&lt;T, Q&gt; <a class="code" href="a00856.html#ga50db49335150de11562052667537e517">inverse</a>(qua&lt;T, Q&gt; <span class="keyword">const</span>&amp; q);</div>
 <div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160; </div>
 <div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
 <div class="line"><a name="l00119"></a><span class="lineno"><a class="line" href="a00856.html#ga1bb55f8963616502e96dc564384d8a03">  119</a></span>&#160;        GLM_FUNC_DECL vec&lt;4, bool, Q&gt; <a class="code" href="a00856.html#ga1bb55f8963616502e96dc564384d8a03">isnan</a>(qua&lt;T, Q&gt; <span class="keyword">const</span>&amp; x);</div>
@@ -118,11 +118,11 @@ $(function() {
 </div><!-- fragment --></div><!-- contents -->
 <div class="ttc" id="aa00856_html_ga45722741ea266b4e861938b365c5f362"><div class="ttname"><a href="a00856.html#ga45722741ea266b4e861938b365c5f362">glm::isinf</a></div><div class="ttdeci">GLM_FUNC_DECL vec&lt; 4, bool, Q &gt; isinf(qua&lt; T, Q &gt; const &amp;x)</div><div class="ttdoc">Returns true if x holds a positive infinity or negative infinity representation in the underlying imp...</div></div>
 <div class="ttc" id="aa00856_html_ga8514da9c52cfee86f716cc0933ce118a"><div class="ttname"><a href="a00856.html#ga8514da9c52cfee86f716cc0933ce118a">glm::slerp</a></div><div class="ttdeci">GLM_FUNC_DECL qua&lt; T, Q &gt; slerp(qua&lt; T, Q &gt; const &amp;x, qua&lt; T, Q &gt; const &amp;y, T a, S k)</div><div class="ttdoc">Spherical linear interpolation of two quaternions with multiple spins over rotation axis.</div></div>
-<div class="ttc" id="aa00856_html_ga50db49335150de11562052667537e517"><div class="ttname"><a href="a00856.html#ga50db49335150de11562052667537e517">glm::inverse</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR qua&lt; T, Q &gt; inverse(qua&lt; T, Q &gt; const &amp;q)</div><div class="ttdoc">Returns the q inverse.</div></div>
+<div class="ttc" id="aa00856_html_ga50db49335150de11562052667537e517"><div class="ttname"><a href="a00856.html#ga50db49335150de11562052667537e517">glm::inverse</a></div><div class="ttdeci">GLM_FUNC_DECL constexpr qua&lt; T, Q &gt; inverse(qua&lt; T, Q &gt; const &amp;q)</div><div class="ttdoc">Returns the q inverse.</div></div>
 <div class="ttc" id="aa00856_html_ga1bb55f8963616502e96dc564384d8a03"><div class="ttname"><a href="a00856.html#ga1bb55f8963616502e96dc564384d8a03">glm::isnan</a></div><div class="ttdeci">GLM_FUNC_DECL vec&lt; 4, bool, Q &gt; isnan(qua&lt; T, Q &gt; const &amp;x)</div><div class="ttdoc">Returns true if x holds a NaN (not a number) representation in the underlying implementation's set of...</div></div>
 <div class="ttc" id="aa00856_html_gafbfe587b8da11fb89a30c3d67dd5ccc2"><div class="ttname"><a href="a00856.html#gafbfe587b8da11fb89a30c3d67dd5ccc2">glm::mix</a></div><div class="ttdeci">GLM_FUNC_DECL qua&lt; T, Q &gt; mix(qua&lt; T, Q &gt; const &amp;x, qua&lt; T, Q &gt; const &amp;y, T a)</div><div class="ttdoc">Spherical linear interpolation of two quaternions.</div></div>
-<div class="ttc" id="aa00856_html_ga5b646f1cd4422eb76ab90496bcd0b60a"><div class="ttname"><a href="a00856.html#ga5b646f1cd4422eb76ab90496bcd0b60a">glm::conjugate</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR qua&lt; T, Q &gt; conjugate(qua&lt; T, Q &gt; const &amp;q)</div><div class="ttdoc">Returns the q conjugate.</div></div>
-<div class="ttc" id="aa00856_html_gaacd3d0591852faa4bc291b61da88ad44"><div class="ttname"><a href="a00856.html#gaacd3d0591852faa4bc291b61da88ad44">glm::lerp</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR qua&lt; T, Q &gt; lerp(qua&lt; T, Q &gt; const &amp;x, qua&lt; T, Q &gt; const &amp;y, T a)</div><div class="ttdoc">Linear interpolation of two quaternions.</div></div>
+<div class="ttc" id="aa00856_html_ga5b646f1cd4422eb76ab90496bcd0b60a"><div class="ttname"><a href="a00856.html#ga5b646f1cd4422eb76ab90496bcd0b60a">glm::conjugate</a></div><div class="ttdeci">GLM_FUNC_DECL constexpr qua&lt; T, Q &gt; conjugate(qua&lt; T, Q &gt; const &amp;q)</div><div class="ttdoc">Returns the q conjugate.</div></div>
+<div class="ttc" id="aa00856_html_gaacd3d0591852faa4bc291b61da88ad44"><div class="ttname"><a href="a00856.html#gaacd3d0591852faa4bc291b61da88ad44">glm::lerp</a></div><div class="ttdeci">GLM_FUNC_DECL constexpr qua&lt; T, Q &gt; lerp(qua&lt; T, Q &gt; const &amp;x, qua&lt; T, Q &gt; const &amp;y, T a)</div><div class="ttdoc">Linear interpolation of two quaternions.</div></div>
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
 Generated by &#160;<a href="http://www.doxygen.org/index.html">

+ 3 - 3
doc/api/a00344.html

@@ -81,11 +81,11 @@ $(function() {
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
 Functions</h2></td></tr>
 <tr class="memitem:ga9a47ad9ca44bc04eeaac260d42105134"><td class="memTemplParams" colspan="2">template&lt;typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:ga9a47ad9ca44bc04eeaac260d42105134"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_QUALIFIER GLM_CONSTEXPR qua&lt; T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00862.html#ga9a47ad9ca44bc04eeaac260d42105134">cross</a> (qua&lt; T, Q &gt; const &amp;q1, qua&lt; T, Q &gt; const &amp;q2)</td></tr>
+<tr class="memitem:ga9a47ad9ca44bc04eeaac260d42105134"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_QUALIFIER constexpr qua&lt; T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00862.html#ga9a47ad9ca44bc04eeaac260d42105134">cross</a> (qua&lt; T, Q &gt; const &amp;q1, qua&lt; T, Q &gt; const &amp;q2)</td></tr>
 <tr class="memdesc:ga9a47ad9ca44bc04eeaac260d42105134"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute a cross product.  <a href="a00862.html#ga9a47ad9ca44bc04eeaac260d42105134">More...</a><br /></td></tr>
 <tr class="separator:ga9a47ad9ca44bc04eeaac260d42105134"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gadaab7b4495755b4102838d7834cd9544"><td class="memTemplParams" colspan="2">template&lt;typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:gadaab7b4495755b4102838d7834cd9544"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00862.html#gadaab7b4495755b4102838d7834cd9544">dot</a> (qua&lt; T, Q &gt; const &amp;x, qua&lt; T, Q &gt; const &amp;y)</td></tr>
+<tr class="memitem:gadaab7b4495755b4102838d7834cd9544"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00862.html#gadaab7b4495755b4102838d7834cd9544">dot</a> (qua&lt; T, Q &gt; const &amp;x, qua&lt; T, Q &gt; const &amp;y)</td></tr>
 <tr class="memdesc:gadaab7b4495755b4102838d7834cd9544"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns dot product of q1 and q2, i.e., q1[0] * q2[0] + q1[1] * q2[1] + ...  <a href="a00862.html#gadaab7b4495755b4102838d7834cd9544">More...</a><br /></td></tr>
 <tr class="separator:gadaab7b4495755b4102838d7834cd9544"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gab703732449be6c7199369b3f9a91ed38"><td class="memTemplParams" colspan="2">template&lt;typename T , qualifier Q&gt; </td></tr>
@@ -93,7 +93,7 @@ Functions</h2></td></tr>
 <tr class="memdesc:gab703732449be6c7199369b3f9a91ed38"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the norm of a quaternions.  <a href="a00862.html#gab703732449be6c7199369b3f9a91ed38">More...</a><br /></td></tr>
 <tr class="separator:gab703732449be6c7199369b3f9a91ed38"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gad815f4de07f2fe6502cdd2cd86c3dabd"><td class="memTemplParams" colspan="2">template&lt;typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:gad815f4de07f2fe6502cdd2cd86c3dabd"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR qua&lt; T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00862.html#gad815f4de07f2fe6502cdd2cd86c3dabd">normalize</a> (qua&lt; T, Q &gt; const &amp;q)</td></tr>
+<tr class="memitem:gad815f4de07f2fe6502cdd2cd86c3dabd"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr qua&lt; T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00862.html#gad815f4de07f2fe6502cdd2cd86c3dabd">normalize</a> (qua&lt; T, Q &gt; const &amp;q)</td></tr>
 <tr class="memdesc:gad815f4de07f2fe6502cdd2cd86c3dabd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the normalized quaternion.  <a href="a00862.html#gad815f4de07f2fe6502cdd2cd86c3dabd">More...</a><br /></td></tr>
 <tr class="separator:gad815f4de07f2fe6502cdd2cd86c3dabd"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>

+ 6 - 6
doc/api/a00344_source.html

@@ -89,22 +89,22 @@ $(function() {
 <div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="a00862.html#gab703732449be6c7199369b3f9a91ed38">   38</a></span>&#160;        GLM_FUNC_DECL T <a class="code" href="a00862.html#gab703732449be6c7199369b3f9a91ed38">length</a>(qua&lt;T, Q&gt; <span class="keyword">const</span>&amp; q);</div>
 <div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160; </div>
 <div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="a00862.html#gad815f4de07f2fe6502cdd2cd86c3dabd">   47</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR qua&lt;T, Q&gt; <a class="code" href="a00862.html#gad815f4de07f2fe6502cdd2cd86c3dabd">normalize</a>(qua&lt;T, Q&gt; <span class="keyword">const</span>&amp; q);</div>
+<div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="a00862.html#gad815f4de07f2fe6502cdd2cd86c3dabd">   47</a></span>&#160;        GLM_FUNC_DECL constexpr qua&lt;T, Q&gt; <a class="code" href="a00862.html#gad815f4de07f2fe6502cdd2cd86c3dabd">normalize</a>(qua&lt;T, Q&gt; <span class="keyword">const</span>&amp; q);</div>
 <div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160; </div>
 <div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="a00862.html#gadaab7b4495755b4102838d7834cd9544">   56</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR T <a class="code" href="a00862.html#gadaab7b4495755b4102838d7834cd9544">dot</a>(qua&lt;T, Q&gt; <span class="keyword">const</span>&amp; x, qua&lt;T, Q&gt; <span class="keyword">const</span>&amp; y);</div>
+<div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="a00862.html#gadaab7b4495755b4102838d7834cd9544">   56</a></span>&#160;        GLM_FUNC_DECL constexpr T <a class="code" href="a00862.html#gadaab7b4495755b4102838d7834cd9544">dot</a>(qua&lt;T, Q&gt; <span class="keyword">const</span>&amp; x, qua&lt;T, Q&gt; <span class="keyword">const</span>&amp; y);</div>
 <div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160; </div>
 <div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="a00862.html#ga9a47ad9ca44bc04eeaac260d42105134">   65</a></span>&#160;        GLM_FUNC_QUALIFIER GLM_CONSTEXPR qua&lt;T, Q&gt; <a class="code" href="a00862.html#ga9a47ad9ca44bc04eeaac260d42105134">cross</a>(qua&lt;T, Q&gt; <span class="keyword">const</span>&amp; q1, qua&lt;T, Q&gt; <span class="keyword">const</span>&amp; q2);</div>
+<div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="a00862.html#ga9a47ad9ca44bc04eeaac260d42105134">   65</a></span>&#160;        GLM_FUNC_QUALIFIER constexpr qua&lt;T, Q&gt; <a class="code" href="a00862.html#ga9a47ad9ca44bc04eeaac260d42105134">cross</a>(qua&lt;T, Q&gt; <span class="keyword">const</span>&amp; q1, qua&lt;T, Q&gt; <span class="keyword">const</span>&amp; q2);</div>
 <div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160; </div>
 <div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;} <span class="comment">//namespace glm</span></div>
 <div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160; </div>
 <div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="preprocessor">#include &quot;quaternion_geometric.inl&quot;</span></div>
 </div><!-- fragment --></div><!-- contents -->
-<div class="ttc" id="aa00862_html_gadaab7b4495755b4102838d7834cd9544"><div class="ttname"><a href="a00862.html#gadaab7b4495755b4102838d7834cd9544">glm::dot</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR T dot(qua&lt; T, Q &gt; const &amp;x, qua&lt; T, Q &gt; const &amp;y)</div><div class="ttdoc">Returns dot product of q1 and q2, i.e., q1[0] * q2[0] + q1[1] * q2[1] + ...</div></div>
+<div class="ttc" id="aa00862_html_gadaab7b4495755b4102838d7834cd9544"><div class="ttname"><a href="a00862.html#gadaab7b4495755b4102838d7834cd9544">glm::dot</a></div><div class="ttdeci">GLM_FUNC_DECL constexpr T dot(qua&lt; T, Q &gt; const &amp;x, qua&lt; T, Q &gt; const &amp;y)</div><div class="ttdoc">Returns dot product of q1 and q2, i.e., q1[0] * q2[0] + q1[1] * q2[1] + ...</div></div>
 <div class="ttc" id="aa00862_html_gab703732449be6c7199369b3f9a91ed38"><div class="ttname"><a href="a00862.html#gab703732449be6c7199369b3f9a91ed38">glm::length</a></div><div class="ttdeci">GLM_FUNC_DECL T length(qua&lt; T, Q &gt; const &amp;q)</div><div class="ttdoc">Returns the norm of a quaternions.</div></div>
-<div class="ttc" id="aa00862_html_gad815f4de07f2fe6502cdd2cd86c3dabd"><div class="ttname"><a href="a00862.html#gad815f4de07f2fe6502cdd2cd86c3dabd">glm::normalize</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR qua&lt; T, Q &gt; normalize(qua&lt; T, Q &gt; const &amp;q)</div><div class="ttdoc">Returns the normalized quaternion.</div></div>
-<div class="ttc" id="aa00862_html_ga9a47ad9ca44bc04eeaac260d42105134"><div class="ttname"><a href="a00862.html#ga9a47ad9ca44bc04eeaac260d42105134">glm::cross</a></div><div class="ttdeci">GLM_FUNC_QUALIFIER GLM_CONSTEXPR qua&lt; T, Q &gt; cross(qua&lt; T, Q &gt; const &amp;q1, qua&lt; T, Q &gt; const &amp;q2)</div><div class="ttdoc">Compute a cross product.</div></div>
+<div class="ttc" id="aa00862_html_gad815f4de07f2fe6502cdd2cd86c3dabd"><div class="ttname"><a href="a00862.html#gad815f4de07f2fe6502cdd2cd86c3dabd">glm::normalize</a></div><div class="ttdeci">GLM_FUNC_DECL constexpr qua&lt; T, Q &gt; normalize(qua&lt; T, Q &gt; const &amp;q)</div><div class="ttdoc">Returns the normalized quaternion.</div></div>
+<div class="ttc" id="aa00862_html_ga9a47ad9ca44bc04eeaac260d42105134"><div class="ttname"><a href="a00862.html#ga9a47ad9ca44bc04eeaac260d42105134">glm::cross</a></div><div class="ttdeci">GLM_FUNC_QUALIFIER constexpr qua&lt; T, Q &gt; cross(qua&lt; T, Q &gt; const &amp;q1, qua&lt; T, Q &gt; const &amp;q2)</div><div class="ttdoc">Compute a cross product.</div></div>
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
 Generated by &#160;<a href="http://www.doxygen.org/index.html">

+ 1 - 1
doc/api/a00347_source.html

@@ -101,7 +101,7 @@ $(function() {
 </div><!-- fragment --></div><!-- contents -->
 <div class="ttc" id="aa00863_html_ga5117a44c1bf21af857cd23e44a96d313"><div class="ttname"><a href="a00863.html#ga5117a44c1bf21af857cd23e44a96d313">glm::notEqual</a></div><div class="ttdeci">GLM_FUNC_DECL vec&lt; 4, bool, Q &gt; notEqual(qua&lt; T, Q &gt; const &amp;x, qua&lt; T, Q &gt; const &amp;y, T epsilon)</div><div class="ttdoc">Returns the component-wise comparison of |x - y| &gt;= epsilon.</div></div>
 <div class="ttc" id="aa00863_html_gaa001eecb91106463169a8e5ef1577b39"><div class="ttname"><a href="a00863.html#gaa001eecb91106463169a8e5ef1577b39">glm::equal</a></div><div class="ttdeci">GLM_FUNC_DECL vec&lt; 4, bool, Q &gt; equal(qua&lt; T, Q &gt; const &amp;x, qua&lt; T, Q &gt; const &amp;y, T epsilon)</div><div class="ttdoc">Returns the component-wise comparison of |x - y| &lt; epsilon.</div></div>
-<div class="ttc" id="aa00867_html_ga2a1e57fc5592b69cfae84174cbfc9429"><div class="ttname"><a href="a00867.html#ga2a1e57fc5592b69cfae84174cbfc9429">glm::epsilon</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType epsilon()</div><div class="ttdoc">Return the epsilon constant for floating point types.</div></div>
+<div class="ttc" id="aa00867_html_ga2a1e57fc5592b69cfae84174cbfc9429"><div class="ttname"><a href="a00867.html#ga2a1e57fc5592b69cfae84174cbfc9429">glm::epsilon</a></div><div class="ttdeci">GLM_FUNC_DECL constexpr genType epsilon()</div><div class="ttdoc">Return the epsilon constant for floating point types.</div></div>
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
 Generated by &#160;<a href="http://www.doxygen.org/index.html">

+ 3 - 3
doc/api/a00359.html

@@ -82,17 +82,17 @@ $(function() {
 Functions</h2></td></tr>
 <tr class="memitem:gae8d1938913da2e5b2e102b9076cd0389"><td class="memTemplParams" colspan="2">
 template&lt;typename genType &gt; </td></tr>
-<tr class="memitem:gae8d1938913da2e5b2e102b9076cd0389"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00867.html#gae8d1938913da2e5b2e102b9076cd0389">cos_one_over_two</a> ()</td></tr>
+<tr class="memitem:gae8d1938913da2e5b2e102b9076cd0389"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00867.html#gae8d1938913da2e5b2e102b9076cd0389">cos_one_over_two</a> ()</td></tr>
 <tr class="memdesc:gae8d1938913da2e5b2e102b9076cd0389"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the value of cos(1 / 2) for floating point types. <br /></td></tr>
 <tr class="separator:gae8d1938913da2e5b2e102b9076cd0389"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga2a1e57fc5592b69cfae84174cbfc9429"><td class="memTemplParams" colspan="2">
 template&lt;typename genType &gt; </td></tr>
-<tr class="memitem:ga2a1e57fc5592b69cfae84174cbfc9429"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00867.html#ga2a1e57fc5592b69cfae84174cbfc9429">epsilon</a> ()</td></tr>
+<tr class="memitem:ga2a1e57fc5592b69cfae84174cbfc9429"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00867.html#ga2a1e57fc5592b69cfae84174cbfc9429">epsilon</a> ()</td></tr>
 <tr class="memdesc:ga2a1e57fc5592b69cfae84174cbfc9429"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the epsilon constant for floating point types. <br /></td></tr>
 <tr class="separator:ga2a1e57fc5592b69cfae84174cbfc9429"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga94bafeb2a0f23ab6450fed1f98ee4e45"><td class="memTemplParams" colspan="2">
 template&lt;typename genType &gt; </td></tr>
-<tr class="memitem:ga94bafeb2a0f23ab6450fed1f98ee4e45"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00867.html#ga94bafeb2a0f23ab6450fed1f98ee4e45">pi</a> ()</td></tr>
+<tr class="memitem:ga94bafeb2a0f23ab6450fed1f98ee4e45"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00867.html#ga94bafeb2a0f23ab6450fed1f98ee4e45">pi</a> ()</td></tr>
 <tr class="memdesc:ga94bafeb2a0f23ab6450fed1f98ee4e45"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the pi constant for floating point types. <br /></td></tr>
 <tr class="separator:ga94bafeb2a0f23ab6450fed1f98ee4e45"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>

+ 6 - 6
doc/api/a00359_source.html

@@ -84,21 +84,21 @@ $(function() {
 <div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;{</div>
 <div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160; </div>
 <div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> genType&gt;</div>
-<div class="line"><a name="l00027"></a><span class="lineno"><a class="line" href="a00867.html#ga2a1e57fc5592b69cfae84174cbfc9429">   27</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00867.html#ga2a1e57fc5592b69cfae84174cbfc9429">epsilon</a>();</div>
+<div class="line"><a name="l00027"></a><span class="lineno"><a class="line" href="a00867.html#ga2a1e57fc5592b69cfae84174cbfc9429">   27</a></span>&#160;        GLM_FUNC_DECL constexpr genType <a class="code" href="a00867.html#ga2a1e57fc5592b69cfae84174cbfc9429">epsilon</a>();</div>
 <div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160; </div>
 <div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> genType&gt;</div>
-<div class="line"><a name="l00031"></a><span class="lineno"><a class="line" href="a00867.html#ga94bafeb2a0f23ab6450fed1f98ee4e45">   31</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00867.html#ga94bafeb2a0f23ab6450fed1f98ee4e45">pi</a>();</div>
+<div class="line"><a name="l00031"></a><span class="lineno"><a class="line" href="a00867.html#ga94bafeb2a0f23ab6450fed1f98ee4e45">   31</a></span>&#160;        GLM_FUNC_DECL constexpr genType <a class="code" href="a00867.html#ga94bafeb2a0f23ab6450fed1f98ee4e45">pi</a>();</div>
 <div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160; </div>
 <div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> genType&gt;</div>
-<div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="a00867.html#gae8d1938913da2e5b2e102b9076cd0389">   35</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00867.html#gae8d1938913da2e5b2e102b9076cd0389">cos_one_over_two</a>();</div>
+<div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="a00867.html#gae8d1938913da2e5b2e102b9076cd0389">   35</a></span>&#160;        GLM_FUNC_DECL constexpr genType <a class="code" href="a00867.html#gae8d1938913da2e5b2e102b9076cd0389">cos_one_over_two</a>();</div>
 <div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160; </div>
 <div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;} <span class="comment">//namespace glm</span></div>
 <div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160; </div>
 <div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="preprocessor">#include &quot;scalar_constants.inl&quot;</span></div>
 </div><!-- fragment --></div><!-- contents -->
-<div class="ttc" id="aa00867_html_gae8d1938913da2e5b2e102b9076cd0389"><div class="ttname"><a href="a00867.html#gae8d1938913da2e5b2e102b9076cd0389">glm::cos_one_over_two</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType cos_one_over_two()</div><div class="ttdoc">Return the value of cos(1 / 2) for floating point types.</div></div>
-<div class="ttc" id="aa00867_html_ga94bafeb2a0f23ab6450fed1f98ee4e45"><div class="ttname"><a href="a00867.html#ga94bafeb2a0f23ab6450fed1f98ee4e45">glm::pi</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType pi()</div><div class="ttdoc">Return the pi constant for floating point types.</div></div>
-<div class="ttc" id="aa00867_html_ga2a1e57fc5592b69cfae84174cbfc9429"><div class="ttname"><a href="a00867.html#ga2a1e57fc5592b69cfae84174cbfc9429">glm::epsilon</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType epsilon()</div><div class="ttdoc">Return the epsilon constant for floating point types.</div></div>
+<div class="ttc" id="aa00867_html_gae8d1938913da2e5b2e102b9076cd0389"><div class="ttname"><a href="a00867.html#gae8d1938913da2e5b2e102b9076cd0389">glm::cos_one_over_two</a></div><div class="ttdeci">GLM_FUNC_DECL constexpr genType cos_one_over_two()</div><div class="ttdoc">Return the value of cos(1 / 2) for floating point types.</div></div>
+<div class="ttc" id="aa00867_html_ga94bafeb2a0f23ab6450fed1f98ee4e45"><div class="ttname"><a href="a00867.html#ga94bafeb2a0f23ab6450fed1f98ee4e45">glm::pi</a></div><div class="ttdeci">GLM_FUNC_DECL constexpr genType pi()</div><div class="ttdoc">Return the pi constant for floating point types.</div></div>
+<div class="ttc" id="aa00867_html_ga2a1e57fc5592b69cfae84174cbfc9429"><div class="ttname"><a href="a00867.html#ga2a1e57fc5592b69cfae84174cbfc9429">glm::epsilon</a></div><div class="ttdeci">GLM_FUNC_DECL constexpr genType epsilon()</div><div class="ttdoc">Return the epsilon constant for floating point types.</div></div>
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
 Generated by &#160;<a href="http://www.doxygen.org/index.html">

+ 4 - 4
doc/api/a00407.html

@@ -129,19 +129,19 @@ Functions</h2></td></tr>
 <tr class="memdesc:ga57824268ebe13a922f1d69a5d37f637f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a value equal to the nearest integer to x.  <a href="a00877.html#ga57824268ebe13a922f1d69a5d37f637f">More...</a><br /></td></tr>
 <tr class="separator:ga57824268ebe13a922f1d69a5d37f637f"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gaa45d34f6a2906f8bf58ab2ba5429234d"><td class="memTemplParams" colspan="2">template&lt;length_t L, typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:gaa45d34f6a2906f8bf58ab2ba5429234d"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; L, T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00877.html#gaa45d34f6a2906f8bf58ab2ba5429234d">max</a> (vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y, vec&lt; L, T, Q &gt; const &amp;z)</td></tr>
+<tr class="memitem:gaa45d34f6a2906f8bf58ab2ba5429234d"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr vec&lt; L, T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00877.html#gaa45d34f6a2906f8bf58ab2ba5429234d">max</a> (vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y, vec&lt; L, T, Q &gt; const &amp;z)</td></tr>
 <tr class="memdesc:gaa45d34f6a2906f8bf58ab2ba5429234d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the maximum component-wise values of 3 inputs.  <a href="a00877.html#gaa45d34f6a2906f8bf58ab2ba5429234d">More...</a><br /></td></tr>
 <tr class="separator:gaa45d34f6a2906f8bf58ab2ba5429234d"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga94d42b8da2b4ded5ddf7504fbdc6bf10"><td class="memTemplParams" colspan="2">template&lt;length_t L, typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:ga94d42b8da2b4ded5ddf7504fbdc6bf10"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; L, T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00877.html#ga94d42b8da2b4ded5ddf7504fbdc6bf10">max</a> (vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y, vec&lt; L, T, Q &gt; const &amp;z, vec&lt; L, T, Q &gt; const &amp;w)</td></tr>
+<tr class="memitem:ga94d42b8da2b4ded5ddf7504fbdc6bf10"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr vec&lt; L, T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00877.html#ga94d42b8da2b4ded5ddf7504fbdc6bf10">max</a> (vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y, vec&lt; L, T, Q &gt; const &amp;z, vec&lt; L, T, Q &gt; const &amp;w)</td></tr>
 <tr class="memdesc:ga94d42b8da2b4ded5ddf7504fbdc6bf10"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the maximum component-wise values of 4 inputs.  <a href="a00877.html#ga94d42b8da2b4ded5ddf7504fbdc6bf10">More...</a><br /></td></tr>
 <tr class="separator:ga94d42b8da2b4ded5ddf7504fbdc6bf10"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga3cd83d80fd4f433d8e333593ec56dddf"><td class="memTemplParams" colspan="2">template&lt;length_t L, typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:ga3cd83d80fd4f433d8e333593ec56dddf"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; L, T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00877.html#ga3cd83d80fd4f433d8e333593ec56dddf">min</a> (vec&lt; L, T, Q &gt; const &amp;a, vec&lt; L, T, Q &gt; const &amp;b, vec&lt; L, T, Q &gt; const &amp;c)</td></tr>
+<tr class="memitem:ga3cd83d80fd4f433d8e333593ec56dddf"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr vec&lt; L, T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00877.html#ga3cd83d80fd4f433d8e333593ec56dddf">min</a> (vec&lt; L, T, Q &gt; const &amp;a, vec&lt; L, T, Q &gt; const &amp;b, vec&lt; L, T, Q &gt; const &amp;c)</td></tr>
 <tr class="memdesc:ga3cd83d80fd4f433d8e333593ec56dddf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the minimum component-wise values of 3 inputs.  <a href="a00877.html#ga3cd83d80fd4f433d8e333593ec56dddf">More...</a><br /></td></tr>
 <tr class="separator:ga3cd83d80fd4f433d8e333593ec56dddf"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gab66920ed064ab518d6859c5a889c4be4"><td class="memTemplParams" colspan="2">template&lt;length_t L, typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:gab66920ed064ab518d6859c5a889c4be4"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; L, T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00877.html#gab66920ed064ab518d6859c5a889c4be4">min</a> (vec&lt; L, T, Q &gt; const &amp;a, vec&lt; L, T, Q &gt; const &amp;b, vec&lt; L, T, Q &gt; const &amp;c, vec&lt; L, T, Q &gt; const &amp;d)</td></tr>
+<tr class="memitem:gab66920ed064ab518d6859c5a889c4be4"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr vec&lt; L, T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00877.html#gab66920ed064ab518d6859c5a889c4be4">min</a> (vec&lt; L, T, Q &gt; const &amp;a, vec&lt; L, T, Q &gt; const &amp;b, vec&lt; L, T, Q &gt; const &amp;c, vec&lt; L, T, Q &gt; const &amp;d)</td></tr>
 <tr class="memdesc:gab66920ed064ab518d6859c5a889c4be4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the minimum component-wise values of 4 inputs.  <a href="a00877.html#gab66920ed064ab518d6859c5a889c4be4">More...</a><br /></td></tr>
 <tr class="separator:gab66920ed064ab518d6859c5a889c4be4"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gaf72b0749a21162aebcd47d9acd22e0df"><td class="memTemplParams" colspan="2">template&lt;length_t L, typename T , qualifier Q&gt; </td></tr>

+ 6 - 6
doc/api/a00407_source.html

@@ -85,16 +85,16 @@ $(function() {
 <div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;{</div>
 <div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160; </div>
 <div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;        <span class="keyword">template</span>&lt;length_t L, <span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="a00877.html#ga3cd83d80fd4f433d8e333593ec56dddf">   35</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;L, T, Q&gt; <a class="code" href="a00877.html#gab66920ed064ab518d6859c5a889c4be4">min</a>(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; a, vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; b, vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; c);</div>
+<div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="a00877.html#ga3cd83d80fd4f433d8e333593ec56dddf">   35</a></span>&#160;        GLM_FUNC_DECL constexpr vec&lt;L, T, Q&gt; <a class="code" href="a00877.html#gab66920ed064ab518d6859c5a889c4be4">min</a>(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; a, vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; b, vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; c);</div>
 <div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160; </div>
 <div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;        <span class="keyword">template</span>&lt;length_t L, <span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="a00877.html#gab66920ed064ab518d6859c5a889c4be4">   43</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;L, T, Q&gt; <a class="code" href="a00877.html#gab66920ed064ab518d6859c5a889c4be4">min</a>(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; a, vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; b, vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; c, vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; d);</div>
+<div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="a00877.html#gab66920ed064ab518d6859c5a889c4be4">   43</a></span>&#160;        GLM_FUNC_DECL constexpr vec&lt;L, T, Q&gt; <a class="code" href="a00877.html#gab66920ed064ab518d6859c5a889c4be4">min</a>(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; a, vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; b, vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; c, vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; d);</div>
 <div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160; </div>
 <div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;        <span class="keyword">template</span>&lt;length_t L, <span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="a00877.html#gaa45d34f6a2906f8bf58ab2ba5429234d">   51</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;L, T, Q&gt; <a class="code" href="a00877.html#ga94d42b8da2b4ded5ddf7504fbdc6bf10">max</a>(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; x, vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; y, vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; z);</div>
+<div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="a00877.html#gaa45d34f6a2906f8bf58ab2ba5429234d">   51</a></span>&#160;        GLM_FUNC_DECL constexpr vec&lt;L, T, Q&gt; <a class="code" href="a00877.html#ga94d42b8da2b4ded5ddf7504fbdc6bf10">max</a>(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; x, vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; y, vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; z);</div>
 <div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160; </div>
 <div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;        <span class="keyword">template</span>&lt;length_t L, <span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="a00877.html#ga94d42b8da2b4ded5ddf7504fbdc6bf10">   59</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;L, T, Q&gt; <a class="code" href="a00877.html#ga94d42b8da2b4ded5ddf7504fbdc6bf10">max</a>( vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; x, vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; y, vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; z, vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; w);</div>
+<div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="a00877.html#ga94d42b8da2b4ded5ddf7504fbdc6bf10">   59</a></span>&#160;        GLM_FUNC_DECL constexpr vec&lt;L, T, Q&gt; <a class="code" href="a00877.html#ga94d42b8da2b4ded5ddf7504fbdc6bf10">max</a>( vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; x, vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; y, vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; z, vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; w);</div>
 <div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160; </div>
 <div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;        <span class="keyword">template</span>&lt;length_t L, <span class="keyword">typename</span> T, qualifier Q&gt;</div>
 <div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="a00877.html#gae989203363cff9eab5093630df4fe071">   69</a></span>&#160;        GLM_FUNC_DECL vec&lt;L, T, Q&gt; <a class="code" href="a00877.html#ga4a543dd7d22ad1f3b8b839f808a9d93c">fmin</a>(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; x, T y);</div>
@@ -148,8 +148,8 @@ $(function() {
 <div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160; </div>
 <div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;<span class="preprocessor">#include &quot;vector_common.inl&quot;</span></div>
 </div><!-- fragment --></div><!-- contents -->
-<div class="ttc" id="aa00877_html_gab66920ed064ab518d6859c5a889c4be4"><div class="ttname"><a href="a00877.html#gab66920ed064ab518d6859c5a889c4be4">glm::min</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; L, T, Q &gt; min(vec&lt; L, T, Q &gt; const &amp;a, vec&lt; L, T, Q &gt; const &amp;b, vec&lt; L, T, Q &gt; const &amp;c, vec&lt; L, T, Q &gt; const &amp;d)</div><div class="ttdoc">Return the minimum component-wise values of 4 inputs.</div></div>
-<div class="ttc" id="aa00877_html_ga94d42b8da2b4ded5ddf7504fbdc6bf10"><div class="ttname"><a href="a00877.html#ga94d42b8da2b4ded5ddf7504fbdc6bf10">glm::max</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; L, T, Q &gt; max(vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y, vec&lt; L, T, Q &gt; const &amp;z, vec&lt; L, T, Q &gt; const &amp;w)</div><div class="ttdoc">Return the maximum component-wise values of 4 inputs.</div></div>
+<div class="ttc" id="aa00877_html_gab66920ed064ab518d6859c5a889c4be4"><div class="ttname"><a href="a00877.html#gab66920ed064ab518d6859c5a889c4be4">glm::min</a></div><div class="ttdeci">GLM_FUNC_DECL constexpr vec&lt; L, T, Q &gt; min(vec&lt; L, T, Q &gt; const &amp;a, vec&lt; L, T, Q &gt; const &amp;b, vec&lt; L, T, Q &gt; const &amp;c, vec&lt; L, T, Q &gt; const &amp;d)</div><div class="ttdoc">Return the minimum component-wise values of 4 inputs.</div></div>
+<div class="ttc" id="aa00877_html_ga94d42b8da2b4ded5ddf7504fbdc6bf10"><div class="ttname"><a href="a00877.html#ga94d42b8da2b4ded5ddf7504fbdc6bf10">glm::max</a></div><div class="ttdeci">GLM_FUNC_DECL constexpr vec&lt; L, T, Q &gt; max(vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y, vec&lt; L, T, Q &gt; const &amp;z, vec&lt; L, T, Q &gt; const &amp;w)</div><div class="ttdoc">Return the maximum component-wise values of 4 inputs.</div></div>
 <div class="ttc" id="aa00877_html_ga3025883ad3d8b69a8a1ec65368268be7"><div class="ttname"><a href="a00877.html#ga3025883ad3d8b69a8a1ec65368268be7">glm::repeat</a></div><div class="ttdeci">GLM_FUNC_DECL vec&lt; L, T, Q &gt; repeat(vec&lt; L, T, Q &gt; const &amp;Texcoord)</div><div class="ttdoc">Simulate GL_REPEAT OpenGL wrap mode.</div></div>
 <div class="ttc" id="aa00877_html_ga6715b9d573972a0f7763d30d45bcaec4"><div class="ttname"><a href="a00877.html#ga6715b9d573972a0f7763d30d45bcaec4">glm::uround</a></div><div class="ttdeci">GLM_FUNC_DECL vec&lt; L, uint, Q &gt; uround(vec&lt; L, T, Q &gt; const &amp;x)</div><div class="ttdoc">Returns a value equal to the nearest integer to x.</div></div>
 <div class="ttc" id="aa00877_html_ga4ed3eb250ccbe17bfe8ded8a6b72d230"><div class="ttname"><a href="a00877.html#ga4ed3eb250ccbe17bfe8ded8a6b72d230">glm::fmax</a></div><div class="ttdeci">GLM_FUNC_DECL vec&lt; L, T, Q &gt; fmax(vec&lt; L, T, Q &gt; const &amp;a, vec&lt; L, T, Q &gt; const &amp;b, vec&lt; L, T, Q &gt; const &amp;c, vec&lt; L, T, Q &gt; const &amp;d)</div><div class="ttdoc">Returns y if x &lt; y; otherwise, it returns x.</div></div>

+ 9 - 9
doc/api/a00491.html

@@ -81,39 +81,39 @@ $(function() {
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
 Functions</h2></td></tr>
 <tr class="memitem:ga87e53f50b679f5f95c5cb4780311b3dd"><td class="memTemplParams" colspan="2">template&lt;length_t L, qualifier Q&gt; </td></tr>
-<tr class="memitem:ga87e53f50b679f5f95c5cb4780311b3dd"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00996.html#ga87e53f50b679f5f95c5cb4780311b3dd">all</a> (vec&lt; L, bool, Q &gt; const &amp;v)</td></tr>
+<tr class="memitem:ga87e53f50b679f5f95c5cb4780311b3dd"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00996.html#ga87e53f50b679f5f95c5cb4780311b3dd">all</a> (vec&lt; L, bool, Q &gt; const &amp;v)</td></tr>
 <tr class="memdesc:ga87e53f50b679f5f95c5cb4780311b3dd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if all components of x are true.  <a href="a00996.html#ga87e53f50b679f5f95c5cb4780311b3dd">More...</a><br /></td></tr>
 <tr class="separator:ga87e53f50b679f5f95c5cb4780311b3dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga911b3f8e41459dd551ccb6d385d91061"><td class="memTemplParams" colspan="2">template&lt;length_t L, qualifier Q&gt; </td></tr>
-<tr class="memitem:ga911b3f8e41459dd551ccb6d385d91061"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00996.html#ga911b3f8e41459dd551ccb6d385d91061">any</a> (vec&lt; L, bool, Q &gt; const &amp;v)</td></tr>
+<tr class="memitem:ga911b3f8e41459dd551ccb6d385d91061"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00996.html#ga911b3f8e41459dd551ccb6d385d91061">any</a> (vec&lt; L, bool, Q &gt; const &amp;v)</td></tr>
 <tr class="memdesc:ga911b3f8e41459dd551ccb6d385d91061"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if any component of x is true.  <a href="a00996.html#ga911b3f8e41459dd551ccb6d385d91061">More...</a><br /></td></tr>
 <tr class="separator:ga911b3f8e41459dd551ccb6d385d91061"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gab4c5cfdaa70834421397a85aa83ad946"><td class="memTemplParams" colspan="2">template&lt;length_t L, typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:gab4c5cfdaa70834421397a85aa83ad946"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; L, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00996.html#gab4c5cfdaa70834421397a85aa83ad946">equal</a> (vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y)</td></tr>
+<tr class="memitem:gab4c5cfdaa70834421397a85aa83ad946"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr vec&lt; L, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00996.html#gab4c5cfdaa70834421397a85aa83ad946">equal</a> (vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y)</td></tr>
 <tr class="memdesc:gab4c5cfdaa70834421397a85aa83ad946"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the component-wise comparison of result x == y.  <a href="a00996.html#gab4c5cfdaa70834421397a85aa83ad946">More...</a><br /></td></tr>
 <tr class="separator:gab4c5cfdaa70834421397a85aa83ad946"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gadfdb8ea82deca869ddc7e63ea5a63ae4"><td class="memTemplParams" colspan="2">template&lt;length_t L, typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:gadfdb8ea82deca869ddc7e63ea5a63ae4"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; L, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00996.html#gadfdb8ea82deca869ddc7e63ea5a63ae4">greaterThan</a> (vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y)</td></tr>
+<tr class="memitem:gadfdb8ea82deca869ddc7e63ea5a63ae4"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr vec&lt; L, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00996.html#gadfdb8ea82deca869ddc7e63ea5a63ae4">greaterThan</a> (vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y)</td></tr>
 <tr class="memdesc:gadfdb8ea82deca869ddc7e63ea5a63ae4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the component-wise comparison of result x &gt; y.  <a href="a00996.html#gadfdb8ea82deca869ddc7e63ea5a63ae4">More...</a><br /></td></tr>
 <tr class="separator:gadfdb8ea82deca869ddc7e63ea5a63ae4"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga859975f538940f8d18fe62f916b9abd7"><td class="memTemplParams" colspan="2">template&lt;length_t L, typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:ga859975f538940f8d18fe62f916b9abd7"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; L, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00996.html#ga859975f538940f8d18fe62f916b9abd7">greaterThanEqual</a> (vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y)</td></tr>
+<tr class="memitem:ga859975f538940f8d18fe62f916b9abd7"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr vec&lt; L, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00996.html#ga859975f538940f8d18fe62f916b9abd7">greaterThanEqual</a> (vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y)</td></tr>
 <tr class="memdesc:ga859975f538940f8d18fe62f916b9abd7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the component-wise comparison of result x &gt;= y.  <a href="a00996.html#ga859975f538940f8d18fe62f916b9abd7">More...</a><br /></td></tr>
 <tr class="separator:ga859975f538940f8d18fe62f916b9abd7"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gae90ed1592c395f93e3f3dfce6b2f39c6"><td class="memTemplParams" colspan="2">template&lt;length_t L, typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:gae90ed1592c395f93e3f3dfce6b2f39c6"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; L, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00996.html#gae90ed1592c395f93e3f3dfce6b2f39c6">lessThan</a> (vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y)</td></tr>
+<tr class="memitem:gae90ed1592c395f93e3f3dfce6b2f39c6"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr vec&lt; L, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00996.html#gae90ed1592c395f93e3f3dfce6b2f39c6">lessThan</a> (vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y)</td></tr>
 <tr class="memdesc:gae90ed1592c395f93e3f3dfce6b2f39c6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the component-wise comparison result of x &lt; y.  <a href="a00996.html#gae90ed1592c395f93e3f3dfce6b2f39c6">More...</a><br /></td></tr>
 <tr class="separator:gae90ed1592c395f93e3f3dfce6b2f39c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gab0bdafc019d227257ff73fb5bcca1718"><td class="memTemplParams" colspan="2">template&lt;length_t L, typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:gab0bdafc019d227257ff73fb5bcca1718"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; L, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00996.html#gab0bdafc019d227257ff73fb5bcca1718">lessThanEqual</a> (vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y)</td></tr>
+<tr class="memitem:gab0bdafc019d227257ff73fb5bcca1718"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr vec&lt; L, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00996.html#gab0bdafc019d227257ff73fb5bcca1718">lessThanEqual</a> (vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y)</td></tr>
 <tr class="memdesc:gab0bdafc019d227257ff73fb5bcca1718"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the component-wise comparison of result x &lt;= y.  <a href="a00996.html#gab0bdafc019d227257ff73fb5bcca1718">More...</a><br /></td></tr>
 <tr class="separator:gab0bdafc019d227257ff73fb5bcca1718"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga610fcd175791fd246e328ffee10dbf1e"><td class="memTemplParams" colspan="2">template&lt;length_t L, qualifier Q&gt; </td></tr>
-<tr class="memitem:ga610fcd175791fd246e328ffee10dbf1e"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; L, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00996.html#ga610fcd175791fd246e328ffee10dbf1e">not_</a> (vec&lt; L, bool, Q &gt; const &amp;v)</td></tr>
+<tr class="memitem:ga610fcd175791fd246e328ffee10dbf1e"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr vec&lt; L, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00996.html#ga610fcd175791fd246e328ffee10dbf1e">not_</a> (vec&lt; L, bool, Q &gt; const &amp;v)</td></tr>
 <tr class="memdesc:ga610fcd175791fd246e328ffee10dbf1e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the component-wise logical complement of x.  <a href="a00996.html#ga610fcd175791fd246e328ffee10dbf1e">More...</a><br /></td></tr>
 <tr class="separator:ga610fcd175791fd246e328ffee10dbf1e"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga17c19dc1b76cd5aef63e9e7ff3aa3c27"><td class="memTemplParams" colspan="2">template&lt;length_t L, typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:ga17c19dc1b76cd5aef63e9e7ff3aa3c27"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; L, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00996.html#ga17c19dc1b76cd5aef63e9e7ff3aa3c27">notEqual</a> (vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y)</td></tr>
+<tr class="memitem:ga17c19dc1b76cd5aef63e9e7ff3aa3c27"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr vec&lt; L, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00996.html#ga17c19dc1b76cd5aef63e9e7ff3aa3c27">notEqual</a> (vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y)</td></tr>
 <tr class="memdesc:ga17c19dc1b76cd5aef63e9e7ff3aa3c27"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the component-wise comparison of result x != y.  <a href="a00996.html#ga17c19dc1b76cd5aef63e9e7ff3aa3c27">More...</a><br /></td></tr>
 <tr class="separator:ga17c19dc1b76cd5aef63e9e7ff3aa3c27"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>

+ 18 - 18
doc/api/a00491_source.html

@@ -80,45 +80,45 @@ $(function() {
 <div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;{</div>
 <div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160; </div>
 <div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;        <span class="keyword">template</span>&lt;length_t L, <span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="a00996.html#gae90ed1592c395f93e3f3dfce6b2f39c6">   38</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;L, bool, Q&gt; <a class="code" href="a00996.html#gae90ed1592c395f93e3f3dfce6b2f39c6">lessThan</a>(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; x, vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; y);</div>
+<div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="a00996.html#gae90ed1592c395f93e3f3dfce6b2f39c6">   38</a></span>&#160;        GLM_FUNC_DECL constexpr vec&lt;L, bool, Q&gt; <a class="code" href="a00996.html#gae90ed1592c395f93e3f3dfce6b2f39c6">lessThan</a>(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; x, vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; y);</div>
 <div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160; </div>
 <div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;        <span class="keyword">template</span>&lt;length_t L, <span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="a00996.html#gab0bdafc019d227257ff73fb5bcca1718">   48</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;L, bool, Q&gt; <a class="code" href="a00996.html#gab0bdafc019d227257ff73fb5bcca1718">lessThanEqual</a>(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; x, vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; y);</div>
+<div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="a00996.html#gab0bdafc019d227257ff73fb5bcca1718">   48</a></span>&#160;        GLM_FUNC_DECL constexpr vec&lt;L, bool, Q&gt; <a class="code" href="a00996.html#gab0bdafc019d227257ff73fb5bcca1718">lessThanEqual</a>(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; x, vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; y);</div>
 <div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160; </div>
 <div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;        <span class="keyword">template</span>&lt;length_t L, <span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="a00996.html#gadfdb8ea82deca869ddc7e63ea5a63ae4">   58</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;L, bool, Q&gt; <a class="code" href="a00996.html#gadfdb8ea82deca869ddc7e63ea5a63ae4">greaterThan</a>(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; x, vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; y);</div>
+<div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="a00996.html#gadfdb8ea82deca869ddc7e63ea5a63ae4">   58</a></span>&#160;        GLM_FUNC_DECL constexpr vec&lt;L, bool, Q&gt; <a class="code" href="a00996.html#gadfdb8ea82deca869ddc7e63ea5a63ae4">greaterThan</a>(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; x, vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; y);</div>
 <div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160; </div>
 <div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;        <span class="keyword">template</span>&lt;length_t L, <span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00068"></a><span class="lineno"><a class="line" href="a00996.html#ga859975f538940f8d18fe62f916b9abd7">   68</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;L, bool, Q&gt; <a class="code" href="a00996.html#ga859975f538940f8d18fe62f916b9abd7">greaterThanEqual</a>(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; x, vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; y);</div>
+<div class="line"><a name="l00068"></a><span class="lineno"><a class="line" href="a00996.html#ga859975f538940f8d18fe62f916b9abd7">   68</a></span>&#160;        GLM_FUNC_DECL constexpr vec&lt;L, bool, Q&gt; <a class="code" href="a00996.html#ga859975f538940f8d18fe62f916b9abd7">greaterThanEqual</a>(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; x, vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; y);</div>
 <div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160; </div>
 <div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;        <span class="keyword">template</span>&lt;length_t L, <span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00078"></a><span class="lineno"><a class="line" href="a00996.html#gab4c5cfdaa70834421397a85aa83ad946">   78</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;L, bool, Q&gt; <a class="code" href="a00996.html#gab4c5cfdaa70834421397a85aa83ad946">equal</a>(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; x, vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; y);</div>
+<div class="line"><a name="l00078"></a><span class="lineno"><a class="line" href="a00996.html#gab4c5cfdaa70834421397a85aa83ad946">   78</a></span>&#160;        GLM_FUNC_DECL constexpr vec&lt;L, bool, Q&gt; <a class="code" href="a00996.html#gab4c5cfdaa70834421397a85aa83ad946">equal</a>(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; x, vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; y);</div>
 <div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160; </div>
 <div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;        <span class="keyword">template</span>&lt;length_t L, <span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="a00996.html#ga17c19dc1b76cd5aef63e9e7ff3aa3c27">   88</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;L, bool, Q&gt; <a class="code" href="a00996.html#ga17c19dc1b76cd5aef63e9e7ff3aa3c27">notEqual</a>(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; x, vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; y);</div>
+<div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="a00996.html#ga17c19dc1b76cd5aef63e9e7ff3aa3c27">   88</a></span>&#160;        GLM_FUNC_DECL constexpr vec&lt;L, bool, Q&gt; <a class="code" href="a00996.html#ga17c19dc1b76cd5aef63e9e7ff3aa3c27">notEqual</a>(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; x, vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; y);</div>
 <div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160; </div>
 <div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;        <span class="keyword">template</span>&lt;length_t L, qualifier Q&gt;</div>
-<div class="line"><a name="l00097"></a><span class="lineno"><a class="line" href="a00996.html#ga911b3f8e41459dd551ccb6d385d91061">   97</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR <span class="keywordtype">bool</span> <a class="code" href="a00996.html#ga911b3f8e41459dd551ccb6d385d91061">any</a>(vec&lt;L, bool, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00097"></a><span class="lineno"><a class="line" href="a00996.html#ga911b3f8e41459dd551ccb6d385d91061">   97</a></span>&#160;        GLM_FUNC_DECL constexpr <span class="keywordtype">bool</span> <a class="code" href="a00996.html#ga911b3f8e41459dd551ccb6d385d91061">any</a>(vec&lt;L, bool, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160; </div>
 <div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;        <span class="keyword">template</span>&lt;length_t L, qualifier Q&gt;</div>
-<div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="a00996.html#ga87e53f50b679f5f95c5cb4780311b3dd">  106</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR <span class="keywordtype">bool</span> <a class="code" href="a00996.html#ga87e53f50b679f5f95c5cb4780311b3dd">all</a>(vec&lt;L, bool, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="a00996.html#ga87e53f50b679f5f95c5cb4780311b3dd">  106</a></span>&#160;        GLM_FUNC_DECL constexpr <span class="keywordtype">bool</span> <a class="code" href="a00996.html#ga87e53f50b679f5f95c5cb4780311b3dd">all</a>(vec&lt;L, bool, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160; </div>
 <div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;        <span class="keyword">template</span>&lt;length_t L, qualifier Q&gt;</div>
-<div class="line"><a name="l00116"></a><span class="lineno"><a class="line" href="a00996.html#ga610fcd175791fd246e328ffee10dbf1e">  116</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;L, bool, Q&gt; <a class="code" href="a00996.html#ga610fcd175791fd246e328ffee10dbf1e">not_</a>(vec&lt;L, bool, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00116"></a><span class="lineno"><a class="line" href="a00996.html#ga610fcd175791fd246e328ffee10dbf1e">  116</a></span>&#160;        GLM_FUNC_DECL constexpr vec&lt;L, bool, Q&gt; <a class="code" href="a00996.html#ga610fcd175791fd246e328ffee10dbf1e">not_</a>(vec&lt;L, bool, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160; </div>
 <div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;}<span class="comment">//namespace glm</span></div>
 <div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160; </div>
 <div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;<span class="preprocessor">#include &quot;detail/func_vector_relational.inl&quot;</span></div>
 </div><!-- fragment --></div><!-- contents -->
-<div class="ttc" id="aa00996_html_gab0bdafc019d227257ff73fb5bcca1718"><div class="ttname"><a href="a00996.html#gab0bdafc019d227257ff73fb5bcca1718">glm::lessThanEqual</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; L, bool, Q &gt; lessThanEqual(vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y)</div><div class="ttdoc">Returns the component-wise comparison of result x &lt;= y.</div></div>
-<div class="ttc" id="aa00996_html_gadfdb8ea82deca869ddc7e63ea5a63ae4"><div class="ttname"><a href="a00996.html#gadfdb8ea82deca869ddc7e63ea5a63ae4">glm::greaterThan</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; L, bool, Q &gt; greaterThan(vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y)</div><div class="ttdoc">Returns the component-wise comparison of result x &gt; y.</div></div>
-<div class="ttc" id="aa00996_html_gab4c5cfdaa70834421397a85aa83ad946"><div class="ttname"><a href="a00996.html#gab4c5cfdaa70834421397a85aa83ad946">glm::equal</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; L, bool, Q &gt; equal(vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y)</div><div class="ttdoc">Returns the component-wise comparison of result x == y.</div></div>
-<div class="ttc" id="aa00996_html_gae90ed1592c395f93e3f3dfce6b2f39c6"><div class="ttname"><a href="a00996.html#gae90ed1592c395f93e3f3dfce6b2f39c6">glm::lessThan</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; L, bool, Q &gt; lessThan(vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y)</div><div class="ttdoc">Returns the component-wise comparison result of x &lt; y.</div></div>
-<div class="ttc" id="aa00996_html_ga17c19dc1b76cd5aef63e9e7ff3aa3c27"><div class="ttname"><a href="a00996.html#ga17c19dc1b76cd5aef63e9e7ff3aa3c27">glm::notEqual</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; L, bool, Q &gt; notEqual(vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y)</div><div class="ttdoc">Returns the component-wise comparison of result x != y.</div></div>
-<div class="ttc" id="aa00996_html_ga911b3f8e41459dd551ccb6d385d91061"><div class="ttname"><a href="a00996.html#ga911b3f8e41459dd551ccb6d385d91061">glm::any</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR bool any(vec&lt; L, bool, Q &gt; const &amp;v)</div><div class="ttdoc">Returns true if any component of x is true.</div></div>
-<div class="ttc" id="aa00996_html_ga87e53f50b679f5f95c5cb4780311b3dd"><div class="ttname"><a href="a00996.html#ga87e53f50b679f5f95c5cb4780311b3dd">glm::all</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR bool all(vec&lt; L, bool, Q &gt; const &amp;v)</div><div class="ttdoc">Returns true if all components of x are true.</div></div>
-<div class="ttc" id="aa00996_html_ga610fcd175791fd246e328ffee10dbf1e"><div class="ttname"><a href="a00996.html#ga610fcd175791fd246e328ffee10dbf1e">glm::not_</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; L, bool, Q &gt; not_(vec&lt; L, bool, Q &gt; const &amp;v)</div><div class="ttdoc">Returns the component-wise logical complement of x.</div></div>
-<div class="ttc" id="aa00996_html_ga859975f538940f8d18fe62f916b9abd7"><div class="ttname"><a href="a00996.html#ga859975f538940f8d18fe62f916b9abd7">glm::greaterThanEqual</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; L, bool, Q &gt; greaterThanEqual(vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y)</div><div class="ttdoc">Returns the component-wise comparison of result x &gt;= y.</div></div>
+<div class="ttc" id="aa00996_html_gab0bdafc019d227257ff73fb5bcca1718"><div class="ttname"><a href="a00996.html#gab0bdafc019d227257ff73fb5bcca1718">glm::lessThanEqual</a></div><div class="ttdeci">GLM_FUNC_DECL constexpr vec&lt; L, bool, Q &gt; lessThanEqual(vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y)</div><div class="ttdoc">Returns the component-wise comparison of result x &lt;= y.</div></div>
+<div class="ttc" id="aa00996_html_gadfdb8ea82deca869ddc7e63ea5a63ae4"><div class="ttname"><a href="a00996.html#gadfdb8ea82deca869ddc7e63ea5a63ae4">glm::greaterThan</a></div><div class="ttdeci">GLM_FUNC_DECL constexpr vec&lt; L, bool, Q &gt; greaterThan(vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y)</div><div class="ttdoc">Returns the component-wise comparison of result x &gt; y.</div></div>
+<div class="ttc" id="aa00996_html_gab4c5cfdaa70834421397a85aa83ad946"><div class="ttname"><a href="a00996.html#gab4c5cfdaa70834421397a85aa83ad946">glm::equal</a></div><div class="ttdeci">GLM_FUNC_DECL constexpr vec&lt; L, bool, Q &gt; equal(vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y)</div><div class="ttdoc">Returns the component-wise comparison of result x == y.</div></div>
+<div class="ttc" id="aa00996_html_gae90ed1592c395f93e3f3dfce6b2f39c6"><div class="ttname"><a href="a00996.html#gae90ed1592c395f93e3f3dfce6b2f39c6">glm::lessThan</a></div><div class="ttdeci">GLM_FUNC_DECL constexpr vec&lt; L, bool, Q &gt; lessThan(vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y)</div><div class="ttdoc">Returns the component-wise comparison result of x &lt; y.</div></div>
+<div class="ttc" id="aa00996_html_ga17c19dc1b76cd5aef63e9e7ff3aa3c27"><div class="ttname"><a href="a00996.html#ga17c19dc1b76cd5aef63e9e7ff3aa3c27">glm::notEqual</a></div><div class="ttdeci">GLM_FUNC_DECL constexpr vec&lt; L, bool, Q &gt; notEqual(vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y)</div><div class="ttdoc">Returns the component-wise comparison of result x != y.</div></div>
+<div class="ttc" id="aa00996_html_ga911b3f8e41459dd551ccb6d385d91061"><div class="ttname"><a href="a00996.html#ga911b3f8e41459dd551ccb6d385d91061">glm::any</a></div><div class="ttdeci">GLM_FUNC_DECL constexpr bool any(vec&lt; L, bool, Q &gt; const &amp;v)</div><div class="ttdoc">Returns true if any component of x is true.</div></div>
+<div class="ttc" id="aa00996_html_ga87e53f50b679f5f95c5cb4780311b3dd"><div class="ttname"><a href="a00996.html#ga87e53f50b679f5f95c5cb4780311b3dd">glm::all</a></div><div class="ttdeci">GLM_FUNC_DECL constexpr bool all(vec&lt; L, bool, Q &gt; const &amp;v)</div><div class="ttdoc">Returns true if all components of x are true.</div></div>
+<div class="ttc" id="aa00996_html_ga610fcd175791fd246e328ffee10dbf1e"><div class="ttname"><a href="a00996.html#ga610fcd175791fd246e328ffee10dbf1e">glm::not_</a></div><div class="ttdeci">GLM_FUNC_DECL constexpr vec&lt; L, bool, Q &gt; not_(vec&lt; L, bool, Q &gt; const &amp;v)</div><div class="ttdoc">Returns the component-wise logical complement of x.</div></div>
+<div class="ttc" id="aa00996_html_ga859975f538940f8d18fe62f916b9abd7"><div class="ttname"><a href="a00996.html#ga859975f538940f8d18fe62f916b9abd7">glm::greaterThanEqual</a></div><div class="ttdeci">GLM_FUNC_DECL constexpr vec&lt; L, bool, Q &gt; greaterThanEqual(vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y)</div><div class="ttdoc">Returns the component-wise comparison of result x &gt;= y.</div></div>
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
 Generated by &#160;<a href="http://www.doxygen.org/index.html">

+ 2 - 2
doc/api/a00527.html

@@ -81,7 +81,7 @@ $(function() {
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
 Functions</h2></td></tr>
 <tr class="memitem:gaefe60743d7f415a33cbdddbe3bcf0258"><td class="memTemplParams" colspan="2">template&lt;typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:gaefe60743d7f415a33cbdddbe3bcf0258"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; 3, T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00897.html#gaefe60743d7f415a33cbdddbe3bcf0258">cross</a> (vec&lt; 3, T, Q &gt; const &amp;x, vec&lt; 3, T, Q &gt; const &amp;y)</td></tr>
+<tr class="memitem:gaefe60743d7f415a33cbdddbe3bcf0258"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr vec&lt; 3, T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00897.html#gaefe60743d7f415a33cbdddbe3bcf0258">cross</a> (vec&lt; 3, T, Q &gt; const &amp;x, vec&lt; 3, T, Q &gt; const &amp;y)</td></tr>
 <tr class="memdesc:gaefe60743d7f415a33cbdddbe3bcf0258"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the cross product of x and y.  <a href="a00897.html#gaefe60743d7f415a33cbdddbe3bcf0258">More...</a><br /></td></tr>
 <tr class="separator:gaefe60743d7f415a33cbdddbe3bcf0258"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gaa68de6c53e20dfb2dac2d20197562e3f"><td class="memTemplParams" colspan="2">template&lt;length_t L, typename T , qualifier Q&gt; </td></tr>
@@ -89,7 +89,7 @@ Functions</h2></td></tr>
 <tr class="memdesc:gaa68de6c53e20dfb2dac2d20197562e3f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the distance between p0 and p1, i.e., length(p0 - p1).  <a href="a00897.html#gaa68de6c53e20dfb2dac2d20197562e3f">More...</a><br /></td></tr>
 <tr class="separator:gaa68de6c53e20dfb2dac2d20197562e3f"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gaec50c25dd3b13834af0bf6fd2ce3931c"><td class="memTemplParams" colspan="2">template&lt;length_t L, typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:gaec50c25dd3b13834af0bf6fd2ce3931c"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00897.html#gaec50c25dd3b13834af0bf6fd2ce3931c">dot</a> (vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y)</td></tr>
+<tr class="memitem:gaec50c25dd3b13834af0bf6fd2ce3931c"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00897.html#gaec50c25dd3b13834af0bf6fd2ce3931c">dot</a> (vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y)</td></tr>
 <tr class="memdesc:gaec50c25dd3b13834af0bf6fd2ce3931c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the dot product of x and y, i.e., result = x * y.  <a href="a00897.html#gaec50c25dd3b13834af0bf6fd2ce3931c">More...</a><br /></td></tr>
 <tr class="separator:gaec50c25dd3b13834af0bf6fd2ce3931c"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga7aed0a36c738169402404a3a5d54e43b"><td class="memTemplParams" colspan="2">template&lt;length_t L, typename T , qualifier Q&gt; </td></tr>

+ 4 - 4
doc/api/a00527_source.html

@@ -85,10 +85,10 @@ $(function() {
 <div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="a00897.html#gaa68de6c53e20dfb2dac2d20197562e3f">   40</a></span>&#160;        GLM_FUNC_DECL T <a class="code" href="a00897.html#gaa68de6c53e20dfb2dac2d20197562e3f">distance</a>(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; p0, vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; p1);</div>
 <div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160; </div>
 <div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;        <span class="keyword">template</span>&lt;length_t L, <span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="a00897.html#gaec50c25dd3b13834af0bf6fd2ce3931c">   50</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR T <a class="code" href="a00897.html#gaec50c25dd3b13834af0bf6fd2ce3931c">dot</a>(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; x, vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; y);</div>
+<div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="a00897.html#gaec50c25dd3b13834af0bf6fd2ce3931c">   50</a></span>&#160;        GLM_FUNC_DECL constexpr T <a class="code" href="a00897.html#gaec50c25dd3b13834af0bf6fd2ce3931c">dot</a>(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; x, vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; y);</div>
 <div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160; </div>
 <div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="a00897.html#gaefe60743d7f415a33cbdddbe3bcf0258">   59</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; <a class="code" href="a00897.html#gaefe60743d7f415a33cbdddbe3bcf0258">cross</a>(vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; x, vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; y);</div>
+<div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="a00897.html#gaefe60743d7f415a33cbdddbe3bcf0258">   59</a></span>&#160;        GLM_FUNC_DECL constexpr vec&lt;3, T, Q&gt; <a class="code" href="a00897.html#gaefe60743d7f415a33cbdddbe3bcf0258">cross</a>(vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; x, vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; y);</div>
 <div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160; </div>
 <div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;        <span class="keyword">template</span>&lt;length_t L, <span class="keyword">typename</span> T, qualifier Q&gt;</div>
 <div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="a00897.html#ga3b8d3dcae77870781392ed2902cce597">   70</a></span>&#160;        GLM_FUNC_DECL vec&lt;L, T, Q&gt; <a class="code" href="a00897.html#ga3b8d3dcae77870781392ed2902cce597">normalize</a>(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; x);</div>
@@ -121,8 +121,8 @@ $(function() {
 <div class="ttc" id="aa00897_html_ga01da3dff9e2ef6b9d4915c3047e22b74"><div class="ttname"><a href="a00897.html#ga01da3dff9e2ef6b9d4915c3047e22b74">glm::refract</a></div><div class="ttdeci">GLM_FUNC_DECL vec&lt; L, T, Q &gt; refract(vec&lt; L, T, Q &gt; const &amp;I, vec&lt; L, T, Q &gt; const &amp;N, T eta)</div><div class="ttdoc">For the incident vector I and surface normal N, and the ratio of indices of refraction eta,...</div></div>
 <div class="ttc" id="aa00897_html_ga5631dd1d5618de5450b1ea3cf3e94905"><div class="ttname"><a href="a00897.html#ga5631dd1d5618de5450b1ea3cf3e94905">glm::reflect</a></div><div class="ttdeci">GLM_FUNC_DECL vec&lt; L, T, Q &gt; reflect(vec&lt; L, T, Q &gt; const &amp;I, vec&lt; L, T, Q &gt; const &amp;N)</div><div class="ttdoc">For the incident vector I and surface orientation N, returns the reflection direction : result = I - ...</div></div>
 <div class="ttc" id="aa00897_html_ga7aed0a36c738169402404a3a5d54e43b"><div class="ttname"><a href="a00897.html#ga7aed0a36c738169402404a3a5d54e43b">glm::faceforward</a></div><div class="ttdeci">GLM_FUNC_DECL vec&lt; L, T, Q &gt; faceforward(vec&lt; L, T, Q &gt; const &amp;N, vec&lt; L, T, Q &gt; const &amp;I, vec&lt; L, T, Q &gt; const &amp;Nref)</div><div class="ttdoc">If dot(Nref, I) &lt; 0.0, return N, otherwise, return -N.</div></div>
-<div class="ttc" id="aa00897_html_gaefe60743d7f415a33cbdddbe3bcf0258"><div class="ttname"><a href="a00897.html#gaefe60743d7f415a33cbdddbe3bcf0258">glm::cross</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; 3, T, Q &gt; cross(vec&lt; 3, T, Q &gt; const &amp;x, vec&lt; 3, T, Q &gt; const &amp;y)</div><div class="ttdoc">Returns the cross product of x and y.</div></div>
-<div class="ttc" id="aa00897_html_gaec50c25dd3b13834af0bf6fd2ce3931c"><div class="ttname"><a href="a00897.html#gaec50c25dd3b13834af0bf6fd2ce3931c">glm::dot</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR T dot(vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y)</div><div class="ttdoc">Returns the dot product of x and y, i.e., result = x * y.</div></div>
+<div class="ttc" id="aa00897_html_gaefe60743d7f415a33cbdddbe3bcf0258"><div class="ttname"><a href="a00897.html#gaefe60743d7f415a33cbdddbe3bcf0258">glm::cross</a></div><div class="ttdeci">GLM_FUNC_DECL constexpr vec&lt; 3, T, Q &gt; cross(vec&lt; 3, T, Q &gt; const &amp;x, vec&lt; 3, T, Q &gt; const &amp;y)</div><div class="ttdoc">Returns the cross product of x and y.</div></div>
+<div class="ttc" id="aa00897_html_gaec50c25dd3b13834af0bf6fd2ce3931c"><div class="ttname"><a href="a00897.html#gaec50c25dd3b13834af0bf6fd2ce3931c">glm::dot</a></div><div class="ttdeci">GLM_FUNC_DECL constexpr T dot(vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y)</div><div class="ttdoc">Returns the dot product of x and y, i.e., result = x * y.</div></div>
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
 Generated by &#160;<a href="http://www.doxygen.org/index.html">

+ 28 - 28
doc/api/a00539.html

@@ -81,115 +81,115 @@ $(function() {
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
 Functions</h2></td></tr>
 <tr class="memitem:ga4b7956eb6e2fbedfc7cf2e46e85c5139"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
-<tr class="memitem:ga4b7956eb6e2fbedfc7cf2e46e85c5139"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#ga4b7956eb6e2fbedfc7cf2e46e85c5139">e</a> ()</td></tr>
+<tr class="memitem:ga4b7956eb6e2fbedfc7cf2e46e85c5139"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#ga4b7956eb6e2fbedfc7cf2e46e85c5139">e</a> ()</td></tr>
 <tr class="memdesc:ga4b7956eb6e2fbedfc7cf2e46e85c5139"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return e constant.  <a href="a00908.html#ga4b7956eb6e2fbedfc7cf2e46e85c5139">More...</a><br /></td></tr>
 <tr class="separator:ga4b7956eb6e2fbedfc7cf2e46e85c5139"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gad8fe2e6f90bce9d829e9723b649fbd42"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
-<tr class="memitem:gad8fe2e6f90bce9d829e9723b649fbd42"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#gad8fe2e6f90bce9d829e9723b649fbd42">euler</a> ()</td></tr>
+<tr class="memitem:gad8fe2e6f90bce9d829e9723b649fbd42"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#gad8fe2e6f90bce9d829e9723b649fbd42">euler</a> ()</td></tr>
 <tr class="memdesc:gad8fe2e6f90bce9d829e9723b649fbd42"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return Euler's constant.  <a href="a00908.html#gad8fe2e6f90bce9d829e9723b649fbd42">More...</a><br /></td></tr>
 <tr class="separator:gad8fe2e6f90bce9d829e9723b649fbd42"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga753950e5140e4ea6a88e4a18ba61dc09"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
-<tr class="memitem:ga753950e5140e4ea6a88e4a18ba61dc09"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#ga753950e5140e4ea6a88e4a18ba61dc09">four_over_pi</a> ()</td></tr>
+<tr class="memitem:ga753950e5140e4ea6a88e4a18ba61dc09"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#ga753950e5140e4ea6a88e4a18ba61dc09">four_over_pi</a> ()</td></tr>
 <tr class="memdesc:ga753950e5140e4ea6a88e4a18ba61dc09"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return 4 / pi.  <a href="a00908.html#ga753950e5140e4ea6a88e4a18ba61dc09">More...</a><br /></td></tr>
 <tr class="separator:ga753950e5140e4ea6a88e4a18ba61dc09"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga748cf8642830657c5b7eae04d0a80899"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
-<tr class="memitem:ga748cf8642830657c5b7eae04d0a80899"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#ga748cf8642830657c5b7eae04d0a80899">golden_ratio</a> ()</td></tr>
+<tr class="memitem:ga748cf8642830657c5b7eae04d0a80899"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#ga748cf8642830657c5b7eae04d0a80899">golden_ratio</a> ()</td></tr>
 <tr class="memdesc:ga748cf8642830657c5b7eae04d0a80899"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the golden ratio constant.  <a href="a00908.html#ga748cf8642830657c5b7eae04d0a80899">More...</a><br /></td></tr>
 <tr class="separator:ga748cf8642830657c5b7eae04d0a80899"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga0c36b41d462e45641faf7d7938948bac"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
-<tr class="memitem:ga0c36b41d462e45641faf7d7938948bac"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#ga0c36b41d462e45641faf7d7938948bac">half_pi</a> ()</td></tr>
+<tr class="memitem:ga0c36b41d462e45641faf7d7938948bac"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#ga0c36b41d462e45641faf7d7938948bac">half_pi</a> ()</td></tr>
 <tr class="memdesc:ga0c36b41d462e45641faf7d7938948bac"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return pi / 2.  <a href="a00908.html#ga0c36b41d462e45641faf7d7938948bac">More...</a><br /></td></tr>
 <tr class="separator:ga0c36b41d462e45641faf7d7938948bac"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gaca94292c839ed31a405ab7a81ae7e850"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
-<tr class="memitem:gaca94292c839ed31a405ab7a81ae7e850"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#gaca94292c839ed31a405ab7a81ae7e850">ln_ln_two</a> ()</td></tr>
+<tr class="memitem:gaca94292c839ed31a405ab7a81ae7e850"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#gaca94292c839ed31a405ab7a81ae7e850">ln_ln_two</a> ()</td></tr>
 <tr class="memdesc:gaca94292c839ed31a405ab7a81ae7e850"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return ln(ln(2)).  <a href="a00908.html#gaca94292c839ed31a405ab7a81ae7e850">More...</a><br /></td></tr>
 <tr class="separator:gaca94292c839ed31a405ab7a81ae7e850"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gaf97ebc6c059ffd788e6c4946f71ef66c"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
-<tr class="memitem:gaf97ebc6c059ffd788e6c4946f71ef66c"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#gaf97ebc6c059ffd788e6c4946f71ef66c">ln_ten</a> ()</td></tr>
+<tr class="memitem:gaf97ebc6c059ffd788e6c4946f71ef66c"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#gaf97ebc6c059ffd788e6c4946f71ef66c">ln_ten</a> ()</td></tr>
 <tr class="memdesc:gaf97ebc6c059ffd788e6c4946f71ef66c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return ln(10).  <a href="a00908.html#gaf97ebc6c059ffd788e6c4946f71ef66c">More...</a><br /></td></tr>
 <tr class="separator:gaf97ebc6c059ffd788e6c4946f71ef66c"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga24f4d27765678116f41a2f336ab7975c"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
-<tr class="memitem:ga24f4d27765678116f41a2f336ab7975c"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#ga24f4d27765678116f41a2f336ab7975c">ln_two</a> ()</td></tr>
+<tr class="memitem:ga24f4d27765678116f41a2f336ab7975c"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#ga24f4d27765678116f41a2f336ab7975c">ln_two</a> ()</td></tr>
 <tr class="memdesc:ga24f4d27765678116f41a2f336ab7975c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return ln(2).  <a href="a00908.html#ga24f4d27765678116f41a2f336ab7975c">More...</a><br /></td></tr>
 <tr class="separator:ga24f4d27765678116f41a2f336ab7975c"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga39c2fb227631ca25894326529bdd1ee5"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
-<tr class="memitem:ga39c2fb227631ca25894326529bdd1ee5"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#ga39c2fb227631ca25894326529bdd1ee5">one</a> ()</td></tr>
+<tr class="memitem:ga39c2fb227631ca25894326529bdd1ee5"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#ga39c2fb227631ca25894326529bdd1ee5">one</a> ()</td></tr>
 <tr class="memdesc:ga39c2fb227631ca25894326529bdd1ee5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return 1.  <a href="a00908.html#ga39c2fb227631ca25894326529bdd1ee5">More...</a><br /></td></tr>
 <tr class="separator:ga39c2fb227631ca25894326529bdd1ee5"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga555150da2b06d23c8738981d5013e0eb"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
-<tr class="memitem:ga555150da2b06d23c8738981d5013e0eb"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#ga555150da2b06d23c8738981d5013e0eb">one_over_pi</a> ()</td></tr>
+<tr class="memitem:ga555150da2b06d23c8738981d5013e0eb"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#ga555150da2b06d23c8738981d5013e0eb">one_over_pi</a> ()</td></tr>
 <tr class="memdesc:ga555150da2b06d23c8738981d5013e0eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return 1 / pi.  <a href="a00908.html#ga555150da2b06d23c8738981d5013e0eb">More...</a><br /></td></tr>
 <tr class="separator:ga555150da2b06d23c8738981d5013e0eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga788fa23a0939bac4d1d0205fb4f35818"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
-<tr class="memitem:ga788fa23a0939bac4d1d0205fb4f35818"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#ga788fa23a0939bac4d1d0205fb4f35818">one_over_root_two</a> ()</td></tr>
+<tr class="memitem:ga788fa23a0939bac4d1d0205fb4f35818"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#ga788fa23a0939bac4d1d0205fb4f35818">one_over_root_two</a> ()</td></tr>
 <tr class="memdesc:ga788fa23a0939bac4d1d0205fb4f35818"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return 1 / sqrt(2).  <a href="a00908.html#ga788fa23a0939bac4d1d0205fb4f35818">More...</a><br /></td></tr>
 <tr class="separator:ga788fa23a0939bac4d1d0205fb4f35818"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga7c922b427986cbb2e4c6ac69874eefbc"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
-<tr class="memitem:ga7c922b427986cbb2e4c6ac69874eefbc"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#ga7c922b427986cbb2e4c6ac69874eefbc">one_over_two_pi</a> ()</td></tr>
+<tr class="memitem:ga7c922b427986cbb2e4c6ac69874eefbc"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#ga7c922b427986cbb2e4c6ac69874eefbc">one_over_two_pi</a> ()</td></tr>
 <tr class="memdesc:ga7c922b427986cbb2e4c6ac69874eefbc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return 1 / (pi * 2).  <a href="a00908.html#ga7c922b427986cbb2e4c6ac69874eefbc">More...</a><br /></td></tr>
 <tr class="separator:ga7c922b427986cbb2e4c6ac69874eefbc"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga3c9df42bd73c519a995c43f0f99e77e0"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
-<tr class="memitem:ga3c9df42bd73c519a995c43f0f99e77e0"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#ga3c9df42bd73c519a995c43f0f99e77e0">quarter_pi</a> ()</td></tr>
+<tr class="memitem:ga3c9df42bd73c519a995c43f0f99e77e0"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#ga3c9df42bd73c519a995c43f0f99e77e0">quarter_pi</a> ()</td></tr>
 <tr class="memdesc:ga3c9df42bd73c519a995c43f0f99e77e0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return pi / 4.  <a href="a00908.html#ga3c9df42bd73c519a995c43f0f99e77e0">More...</a><br /></td></tr>
 <tr class="separator:ga3c9df42bd73c519a995c43f0f99e77e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gae9ebbded75b53d4faeb1e4ef8b3347a2"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
-<tr class="memitem:gae9ebbded75b53d4faeb1e4ef8b3347a2"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#gae9ebbded75b53d4faeb1e4ef8b3347a2">root_five</a> ()</td></tr>
+<tr class="memitem:gae9ebbded75b53d4faeb1e4ef8b3347a2"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#gae9ebbded75b53d4faeb1e4ef8b3347a2">root_five</a> ()</td></tr>
 <tr class="memdesc:gae9ebbded75b53d4faeb1e4ef8b3347a2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return sqrt(5).  <a href="a00908.html#gae9ebbded75b53d4faeb1e4ef8b3347a2">More...</a><br /></td></tr>
 <tr class="separator:gae9ebbded75b53d4faeb1e4ef8b3347a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga4e276cb823cc5e612d4f89ed99c75039"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
-<tr class="memitem:ga4e276cb823cc5e612d4f89ed99c75039"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#ga4e276cb823cc5e612d4f89ed99c75039">root_half_pi</a> ()</td></tr>
+<tr class="memitem:ga4e276cb823cc5e612d4f89ed99c75039"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#ga4e276cb823cc5e612d4f89ed99c75039">root_half_pi</a> ()</td></tr>
 <tr class="memdesc:ga4e276cb823cc5e612d4f89ed99c75039"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return sqrt(pi / 2).  <a href="a00908.html#ga4e276cb823cc5e612d4f89ed99c75039">More...</a><br /></td></tr>
 <tr class="separator:ga4e276cb823cc5e612d4f89ed99c75039"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga4129412e96b33707a77c1a07652e23e2"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
-<tr class="memitem:ga4129412e96b33707a77c1a07652e23e2"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#ga4129412e96b33707a77c1a07652e23e2">root_ln_four</a> ()</td></tr>
+<tr class="memitem:ga4129412e96b33707a77c1a07652e23e2"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#ga4129412e96b33707a77c1a07652e23e2">root_ln_four</a> ()</td></tr>
 <tr class="memdesc:ga4129412e96b33707a77c1a07652e23e2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return sqrt(ln(4)).  <a href="a00908.html#ga4129412e96b33707a77c1a07652e23e2">More...</a><br /></td></tr>
 <tr class="separator:ga4129412e96b33707a77c1a07652e23e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga261380796b2cd496f68d2cf1d08b8eb9"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
-<tr class="memitem:ga261380796b2cd496f68d2cf1d08b8eb9"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#ga261380796b2cd496f68d2cf1d08b8eb9">root_pi</a> ()</td></tr>
+<tr class="memitem:ga261380796b2cd496f68d2cf1d08b8eb9"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#ga261380796b2cd496f68d2cf1d08b8eb9">root_pi</a> ()</td></tr>
 <tr class="memdesc:ga261380796b2cd496f68d2cf1d08b8eb9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return square root of pi.  <a href="a00908.html#ga261380796b2cd496f68d2cf1d08b8eb9">More...</a><br /></td></tr>
 <tr class="separator:ga261380796b2cd496f68d2cf1d08b8eb9"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga4f286be4abe88be1eed7d2a9f6cb193e"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
-<tr class="memitem:ga4f286be4abe88be1eed7d2a9f6cb193e"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#ga4f286be4abe88be1eed7d2a9f6cb193e">root_three</a> ()</td></tr>
+<tr class="memitem:ga4f286be4abe88be1eed7d2a9f6cb193e"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#ga4f286be4abe88be1eed7d2a9f6cb193e">root_three</a> ()</td></tr>
 <tr class="memdesc:ga4f286be4abe88be1eed7d2a9f6cb193e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return sqrt(3).  <a href="a00908.html#ga4f286be4abe88be1eed7d2a9f6cb193e">More...</a><br /></td></tr>
 <tr class="separator:ga4f286be4abe88be1eed7d2a9f6cb193e"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga74e607d29020f100c0d0dc46ce2ca950"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
-<tr class="memitem:ga74e607d29020f100c0d0dc46ce2ca950"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#ga74e607d29020f100c0d0dc46ce2ca950">root_two</a> ()</td></tr>
+<tr class="memitem:ga74e607d29020f100c0d0dc46ce2ca950"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#ga74e607d29020f100c0d0dc46ce2ca950">root_two</a> ()</td></tr>
 <tr class="memdesc:ga74e607d29020f100c0d0dc46ce2ca950"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return sqrt(2).  <a href="a00908.html#ga74e607d29020f100c0d0dc46ce2ca950">More...</a><br /></td></tr>
 <tr class="separator:ga74e607d29020f100c0d0dc46ce2ca950"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga2bcedc575039fe0cd765742f8bbb0bd3"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
-<tr class="memitem:ga2bcedc575039fe0cd765742f8bbb0bd3"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#ga2bcedc575039fe0cd765742f8bbb0bd3">root_two_pi</a> ()</td></tr>
+<tr class="memitem:ga2bcedc575039fe0cd765742f8bbb0bd3"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#ga2bcedc575039fe0cd765742f8bbb0bd3">root_two_pi</a> ()</td></tr>
 <tr class="memdesc:ga2bcedc575039fe0cd765742f8bbb0bd3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return sqrt(2 * pi).  <a href="a00908.html#ga2bcedc575039fe0cd765742f8bbb0bd3">More...</a><br /></td></tr>
 <tr class="separator:ga2bcedc575039fe0cd765742f8bbb0bd3"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gae645d3bb4076df6976b3c0821831b422"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
-<tr class="memitem:gae645d3bb4076df6976b3c0821831b422"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#gae645d3bb4076df6976b3c0821831b422">tau</a> ()</td></tr>
+<tr class="memitem:gae645d3bb4076df6976b3c0821831b422"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#gae645d3bb4076df6976b3c0821831b422">tau</a> ()</td></tr>
 <tr class="memdesc:gae645d3bb4076df6976b3c0821831b422"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return unit-circle circumference, or pi * 2.  <a href="a00908.html#gae645d3bb4076df6976b3c0821831b422">More...</a><br /></td></tr>
 <tr class="separator:gae645d3bb4076df6976b3c0821831b422"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga3077c6311010a214b69ddc8214ec13b5"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
-<tr class="memitem:ga3077c6311010a214b69ddc8214ec13b5"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#ga3077c6311010a214b69ddc8214ec13b5">third</a> ()</td></tr>
+<tr class="memitem:ga3077c6311010a214b69ddc8214ec13b5"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#ga3077c6311010a214b69ddc8214ec13b5">third</a> ()</td></tr>
 <tr class="memdesc:ga3077c6311010a214b69ddc8214ec13b5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return 1 / 3.  <a href="a00908.html#ga3077c6311010a214b69ddc8214ec13b5">More...</a><br /></td></tr>
 <tr class="separator:ga3077c6311010a214b69ddc8214ec13b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gae94950df74b0ce382b1fc1d978ef7394"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
-<tr class="memitem:gae94950df74b0ce382b1fc1d978ef7394"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#gae94950df74b0ce382b1fc1d978ef7394">three_over_two_pi</a> ()</td></tr>
+<tr class="memitem:gae94950df74b0ce382b1fc1d978ef7394"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#gae94950df74b0ce382b1fc1d978ef7394">three_over_two_pi</a> ()</td></tr>
 <tr class="memdesc:gae94950df74b0ce382b1fc1d978ef7394"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return pi / 2 * 3.  <a href="a00908.html#gae94950df74b0ce382b1fc1d978ef7394">More...</a><br /></td></tr>
 <tr class="separator:gae94950df74b0ce382b1fc1d978ef7394"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga74eadc8a211253079683219a3ea0462a"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
-<tr class="memitem:ga74eadc8a211253079683219a3ea0462a"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#ga74eadc8a211253079683219a3ea0462a">two_over_pi</a> ()</td></tr>
+<tr class="memitem:ga74eadc8a211253079683219a3ea0462a"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#ga74eadc8a211253079683219a3ea0462a">two_over_pi</a> ()</td></tr>
 <tr class="memdesc:ga74eadc8a211253079683219a3ea0462a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return 2 / pi.  <a href="a00908.html#ga74eadc8a211253079683219a3ea0462a">More...</a><br /></td></tr>
 <tr class="separator:ga74eadc8a211253079683219a3ea0462a"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga5827301817640843cf02026a8d493894"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
-<tr class="memitem:ga5827301817640843cf02026a8d493894"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#ga5827301817640843cf02026a8d493894">two_over_root_pi</a> ()</td></tr>
+<tr class="memitem:ga5827301817640843cf02026a8d493894"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#ga5827301817640843cf02026a8d493894">two_over_root_pi</a> ()</td></tr>
 <tr class="memdesc:ga5827301817640843cf02026a8d493894"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return 2 / sqrt(pi).  <a href="a00908.html#ga5827301817640843cf02026a8d493894">More...</a><br /></td></tr>
 <tr class="separator:ga5827301817640843cf02026a8d493894"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gaa5276a4617566abcfe49286f40e3a256"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
-<tr class="memitem:gaa5276a4617566abcfe49286f40e3a256"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#gaa5276a4617566abcfe49286f40e3a256">two_pi</a> ()</td></tr>
+<tr class="memitem:gaa5276a4617566abcfe49286f40e3a256"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#gaa5276a4617566abcfe49286f40e3a256">two_pi</a> ()</td></tr>
 <tr class="memdesc:gaa5276a4617566abcfe49286f40e3a256"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return pi * 2.  <a href="a00908.html#gaa5276a4617566abcfe49286f40e3a256">More...</a><br /></td></tr>
 <tr class="separator:gaa5276a4617566abcfe49286f40e3a256"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga9b4d2f4322edcf63a6737b92a29dd1f5"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
-<tr class="memitem:ga9b4d2f4322edcf63a6737b92a29dd1f5"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#ga9b4d2f4322edcf63a6737b92a29dd1f5">two_thirds</a> ()</td></tr>
+<tr class="memitem:ga9b4d2f4322edcf63a6737b92a29dd1f5"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#ga9b4d2f4322edcf63a6737b92a29dd1f5">two_thirds</a> ()</td></tr>
 <tr class="memdesc:ga9b4d2f4322edcf63a6737b92a29dd1f5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return 2 / 3.  <a href="a00908.html#ga9b4d2f4322edcf63a6737b92a29dd1f5">More...</a><br /></td></tr>
 <tr class="separator:ga9b4d2f4322edcf63a6737b92a29dd1f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga788f5a421fc0f40a1296ebc094cbaa8a"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
-<tr class="memitem:ga788f5a421fc0f40a1296ebc094cbaa8a"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#ga788f5a421fc0f40a1296ebc094cbaa8a">zero</a> ()</td></tr>
+<tr class="memitem:ga788f5a421fc0f40a1296ebc094cbaa8a"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#ga788f5a421fc0f40a1296ebc094cbaa8a">zero</a> ()</td></tr>
 <tr class="memdesc:ga788f5a421fc0f40a1296ebc094cbaa8a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return 0.  <a href="a00908.html#ga788f5a421fc0f40a1296ebc094cbaa8a">More...</a><br /></td></tr>
 <tr class="separator:ga788f5a421fc0f40a1296ebc094cbaa8a"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>

+ 56 - 56
doc/api/a00539_source.html

@@ -84,121 +84,121 @@ $(function() {
 <div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;{</div>
 <div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160; </div>
 <div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> genType&gt;</div>
-<div class="line"><a name="l00030"></a><span class="lineno"><a class="line" href="a00908.html#ga788f5a421fc0f40a1296ebc094cbaa8a">   30</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00908.html#ga788f5a421fc0f40a1296ebc094cbaa8a">zero</a>();</div>
+<div class="line"><a name="l00030"></a><span class="lineno"><a class="line" href="a00908.html#ga788f5a421fc0f40a1296ebc094cbaa8a">   30</a></span>&#160;        GLM_FUNC_DECL constexpr genType <a class="code" href="a00908.html#ga788f5a421fc0f40a1296ebc094cbaa8a">zero</a>();</div>
 <div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160; </div>
 <div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> genType&gt;</div>
-<div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="a00908.html#ga39c2fb227631ca25894326529bdd1ee5">   35</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00908.html#ga39c2fb227631ca25894326529bdd1ee5">one</a>();</div>
+<div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="a00908.html#ga39c2fb227631ca25894326529bdd1ee5">   35</a></span>&#160;        GLM_FUNC_DECL constexpr genType <a class="code" href="a00908.html#ga39c2fb227631ca25894326529bdd1ee5">one</a>();</div>
 <div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160; </div>
 <div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> genType&gt;</div>
-<div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="a00908.html#gaa5276a4617566abcfe49286f40e3a256">   40</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00908.html#gaa5276a4617566abcfe49286f40e3a256">two_pi</a>();</div>
+<div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="a00908.html#gaa5276a4617566abcfe49286f40e3a256">   40</a></span>&#160;        GLM_FUNC_DECL constexpr genType <a class="code" href="a00908.html#gaa5276a4617566abcfe49286f40e3a256">two_pi</a>();</div>
 <div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160; </div>
 <div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> genType&gt;</div>
-<div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="a00908.html#gae645d3bb4076df6976b3c0821831b422">   45</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00908.html#gae645d3bb4076df6976b3c0821831b422">tau</a>();</div>
+<div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="a00908.html#gae645d3bb4076df6976b3c0821831b422">   45</a></span>&#160;        GLM_FUNC_DECL constexpr genType <a class="code" href="a00908.html#gae645d3bb4076df6976b3c0821831b422">tau</a>();</div>
 <div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160; </div>
 <div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> genType&gt;</div>
-<div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="a00908.html#ga261380796b2cd496f68d2cf1d08b8eb9">   50</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00908.html#ga261380796b2cd496f68d2cf1d08b8eb9">root_pi</a>();</div>
+<div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="a00908.html#ga261380796b2cd496f68d2cf1d08b8eb9">   50</a></span>&#160;        GLM_FUNC_DECL constexpr genType <a class="code" href="a00908.html#ga261380796b2cd496f68d2cf1d08b8eb9">root_pi</a>();</div>
 <div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160; </div>
 <div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> genType&gt;</div>
-<div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="a00908.html#ga0c36b41d462e45641faf7d7938948bac">   55</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00908.html#ga0c36b41d462e45641faf7d7938948bac">half_pi</a>();</div>
+<div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="a00908.html#ga0c36b41d462e45641faf7d7938948bac">   55</a></span>&#160;        GLM_FUNC_DECL constexpr genType <a class="code" href="a00908.html#ga0c36b41d462e45641faf7d7938948bac">half_pi</a>();</div>
 <div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160; </div>
 <div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> genType&gt;</div>
-<div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="a00908.html#gae94950df74b0ce382b1fc1d978ef7394">   60</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00908.html#gae94950df74b0ce382b1fc1d978ef7394">three_over_two_pi</a>();</div>
+<div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="a00908.html#gae94950df74b0ce382b1fc1d978ef7394">   60</a></span>&#160;        GLM_FUNC_DECL constexpr genType <a class="code" href="a00908.html#gae94950df74b0ce382b1fc1d978ef7394">three_over_two_pi</a>();</div>
 <div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160; </div>
 <div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> genType&gt;</div>
-<div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="a00908.html#ga3c9df42bd73c519a995c43f0f99e77e0">   65</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00908.html#ga3c9df42bd73c519a995c43f0f99e77e0">quarter_pi</a>();</div>
+<div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="a00908.html#ga3c9df42bd73c519a995c43f0f99e77e0">   65</a></span>&#160;        GLM_FUNC_DECL constexpr genType <a class="code" href="a00908.html#ga3c9df42bd73c519a995c43f0f99e77e0">quarter_pi</a>();</div>
 <div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160; </div>
 <div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> genType&gt;</div>
-<div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="a00908.html#ga555150da2b06d23c8738981d5013e0eb">   70</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00908.html#ga555150da2b06d23c8738981d5013e0eb">one_over_pi</a>();</div>
+<div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="a00908.html#ga555150da2b06d23c8738981d5013e0eb">   70</a></span>&#160;        GLM_FUNC_DECL constexpr genType <a class="code" href="a00908.html#ga555150da2b06d23c8738981d5013e0eb">one_over_pi</a>();</div>
 <div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160; </div>
 <div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> genType&gt;</div>
-<div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="a00908.html#ga7c922b427986cbb2e4c6ac69874eefbc">   75</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00908.html#ga7c922b427986cbb2e4c6ac69874eefbc">one_over_two_pi</a>();</div>
+<div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="a00908.html#ga7c922b427986cbb2e4c6ac69874eefbc">   75</a></span>&#160;        GLM_FUNC_DECL constexpr genType <a class="code" href="a00908.html#ga7c922b427986cbb2e4c6ac69874eefbc">one_over_two_pi</a>();</div>
 <div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160; </div>
 <div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> genType&gt;</div>
-<div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="a00908.html#ga74eadc8a211253079683219a3ea0462a">   80</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00908.html#ga74eadc8a211253079683219a3ea0462a">two_over_pi</a>();</div>
+<div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="a00908.html#ga74eadc8a211253079683219a3ea0462a">   80</a></span>&#160;        GLM_FUNC_DECL constexpr genType <a class="code" href="a00908.html#ga74eadc8a211253079683219a3ea0462a">two_over_pi</a>();</div>
 <div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160; </div>
 <div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> genType&gt;</div>
-<div class="line"><a name="l00085"></a><span class="lineno"><a class="line" href="a00908.html#ga753950e5140e4ea6a88e4a18ba61dc09">   85</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00908.html#ga753950e5140e4ea6a88e4a18ba61dc09">four_over_pi</a>();</div>
+<div class="line"><a name="l00085"></a><span class="lineno"><a class="line" href="a00908.html#ga753950e5140e4ea6a88e4a18ba61dc09">   85</a></span>&#160;        GLM_FUNC_DECL constexpr genType <a class="code" href="a00908.html#ga753950e5140e4ea6a88e4a18ba61dc09">four_over_pi</a>();</div>
 <div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160; </div>
 <div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> genType&gt;</div>
-<div class="line"><a name="l00090"></a><span class="lineno"><a class="line" href="a00908.html#ga5827301817640843cf02026a8d493894">   90</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00908.html#ga5827301817640843cf02026a8d493894">two_over_root_pi</a>();</div>
+<div class="line"><a name="l00090"></a><span class="lineno"><a class="line" href="a00908.html#ga5827301817640843cf02026a8d493894">   90</a></span>&#160;        GLM_FUNC_DECL constexpr genType <a class="code" href="a00908.html#ga5827301817640843cf02026a8d493894">two_over_root_pi</a>();</div>
 <div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160; </div>
 <div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> genType&gt;</div>
-<div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="a00908.html#ga788fa23a0939bac4d1d0205fb4f35818">   95</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00908.html#ga788fa23a0939bac4d1d0205fb4f35818">one_over_root_two</a>();</div>
+<div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="a00908.html#ga788fa23a0939bac4d1d0205fb4f35818">   95</a></span>&#160;        GLM_FUNC_DECL constexpr genType <a class="code" href="a00908.html#ga788fa23a0939bac4d1d0205fb4f35818">one_over_root_two</a>();</div>
 <div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160; </div>
 <div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> genType&gt;</div>
-<div class="line"><a name="l00100"></a><span class="lineno"><a class="line" href="a00908.html#ga4e276cb823cc5e612d4f89ed99c75039">  100</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00908.html#ga4e276cb823cc5e612d4f89ed99c75039">root_half_pi</a>();</div>
+<div class="line"><a name="l00100"></a><span class="lineno"><a class="line" href="a00908.html#ga4e276cb823cc5e612d4f89ed99c75039">  100</a></span>&#160;        GLM_FUNC_DECL constexpr genType <a class="code" href="a00908.html#ga4e276cb823cc5e612d4f89ed99c75039">root_half_pi</a>();</div>
 <div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160; </div>
 <div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> genType&gt;</div>
-<div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="a00908.html#ga2bcedc575039fe0cd765742f8bbb0bd3">  105</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00908.html#ga2bcedc575039fe0cd765742f8bbb0bd3">root_two_pi</a>();</div>
+<div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="a00908.html#ga2bcedc575039fe0cd765742f8bbb0bd3">  105</a></span>&#160;        GLM_FUNC_DECL constexpr genType <a class="code" href="a00908.html#ga2bcedc575039fe0cd765742f8bbb0bd3">root_two_pi</a>();</div>
 <div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160; </div>
 <div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> genType&gt;</div>
-<div class="line"><a name="l00110"></a><span class="lineno"><a class="line" href="a00908.html#ga4129412e96b33707a77c1a07652e23e2">  110</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00908.html#ga4129412e96b33707a77c1a07652e23e2">root_ln_four</a>();</div>
+<div class="line"><a name="l00110"></a><span class="lineno"><a class="line" href="a00908.html#ga4129412e96b33707a77c1a07652e23e2">  110</a></span>&#160;        GLM_FUNC_DECL constexpr genType <a class="code" href="a00908.html#ga4129412e96b33707a77c1a07652e23e2">root_ln_four</a>();</div>
 <div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160; </div>
 <div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> genType&gt;</div>
-<div class="line"><a name="l00115"></a><span class="lineno"><a class="line" href="a00908.html#ga4b7956eb6e2fbedfc7cf2e46e85c5139">  115</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00908.html#ga4b7956eb6e2fbedfc7cf2e46e85c5139">e</a>();</div>
+<div class="line"><a name="l00115"></a><span class="lineno"><a class="line" href="a00908.html#ga4b7956eb6e2fbedfc7cf2e46e85c5139">  115</a></span>&#160;        GLM_FUNC_DECL constexpr genType <a class="code" href="a00908.html#ga4b7956eb6e2fbedfc7cf2e46e85c5139">e</a>();</div>
 <div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160; </div>
 <div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> genType&gt;</div>
-<div class="line"><a name="l00120"></a><span class="lineno"><a class="line" href="a00908.html#gad8fe2e6f90bce9d829e9723b649fbd42">  120</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00908.html#gad8fe2e6f90bce9d829e9723b649fbd42">euler</a>();</div>
+<div class="line"><a name="l00120"></a><span class="lineno"><a class="line" href="a00908.html#gad8fe2e6f90bce9d829e9723b649fbd42">  120</a></span>&#160;        GLM_FUNC_DECL constexpr genType <a class="code" href="a00908.html#gad8fe2e6f90bce9d829e9723b649fbd42">euler</a>();</div>
 <div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160; </div>
 <div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> genType&gt;</div>
-<div class="line"><a name="l00125"></a><span class="lineno"><a class="line" href="a00908.html#ga74e607d29020f100c0d0dc46ce2ca950">  125</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00908.html#ga74e607d29020f100c0d0dc46ce2ca950">root_two</a>();</div>
+<div class="line"><a name="l00125"></a><span class="lineno"><a class="line" href="a00908.html#ga74e607d29020f100c0d0dc46ce2ca950">  125</a></span>&#160;        GLM_FUNC_DECL constexpr genType <a class="code" href="a00908.html#ga74e607d29020f100c0d0dc46ce2ca950">root_two</a>();</div>
 <div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160; </div>
 <div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> genType&gt;</div>
-<div class="line"><a name="l00130"></a><span class="lineno"><a class="line" href="a00908.html#ga4f286be4abe88be1eed7d2a9f6cb193e">  130</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00908.html#ga4f286be4abe88be1eed7d2a9f6cb193e">root_three</a>();</div>
+<div class="line"><a name="l00130"></a><span class="lineno"><a class="line" href="a00908.html#ga4f286be4abe88be1eed7d2a9f6cb193e">  130</a></span>&#160;        GLM_FUNC_DECL constexpr genType <a class="code" href="a00908.html#ga4f286be4abe88be1eed7d2a9f6cb193e">root_three</a>();</div>
 <div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160; </div>
 <div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> genType&gt;</div>
-<div class="line"><a name="l00135"></a><span class="lineno"><a class="line" href="a00908.html#gae9ebbded75b53d4faeb1e4ef8b3347a2">  135</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00908.html#gae9ebbded75b53d4faeb1e4ef8b3347a2">root_five</a>();</div>
+<div class="line"><a name="l00135"></a><span class="lineno"><a class="line" href="a00908.html#gae9ebbded75b53d4faeb1e4ef8b3347a2">  135</a></span>&#160;        GLM_FUNC_DECL constexpr genType <a class="code" href="a00908.html#gae9ebbded75b53d4faeb1e4ef8b3347a2">root_five</a>();</div>
 <div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160; </div>
 <div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> genType&gt;</div>
-<div class="line"><a name="l00140"></a><span class="lineno"><a class="line" href="a00908.html#ga24f4d27765678116f41a2f336ab7975c">  140</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00908.html#ga24f4d27765678116f41a2f336ab7975c">ln_two</a>();</div>
+<div class="line"><a name="l00140"></a><span class="lineno"><a class="line" href="a00908.html#ga24f4d27765678116f41a2f336ab7975c">  140</a></span>&#160;        GLM_FUNC_DECL constexpr genType <a class="code" href="a00908.html#ga24f4d27765678116f41a2f336ab7975c">ln_two</a>();</div>
 <div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160; </div>
 <div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> genType&gt;</div>
-<div class="line"><a name="l00145"></a><span class="lineno"><a class="line" href="a00908.html#gaf97ebc6c059ffd788e6c4946f71ef66c">  145</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00908.html#gaf97ebc6c059ffd788e6c4946f71ef66c">ln_ten</a>();</div>
+<div class="line"><a name="l00145"></a><span class="lineno"><a class="line" href="a00908.html#gaf97ebc6c059ffd788e6c4946f71ef66c">  145</a></span>&#160;        GLM_FUNC_DECL constexpr genType <a class="code" href="a00908.html#gaf97ebc6c059ffd788e6c4946f71ef66c">ln_ten</a>();</div>
 <div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160; </div>
 <div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> genType&gt;</div>
-<div class="line"><a name="l00150"></a><span class="lineno"><a class="line" href="a00908.html#gaca94292c839ed31a405ab7a81ae7e850">  150</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00908.html#gaca94292c839ed31a405ab7a81ae7e850">ln_ln_two</a>();</div>
+<div class="line"><a name="l00150"></a><span class="lineno"><a class="line" href="a00908.html#gaca94292c839ed31a405ab7a81ae7e850">  150</a></span>&#160;        GLM_FUNC_DECL constexpr genType <a class="code" href="a00908.html#gaca94292c839ed31a405ab7a81ae7e850">ln_ln_two</a>();</div>
 <div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160; </div>
 <div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> genType&gt;</div>
-<div class="line"><a name="l00155"></a><span class="lineno"><a class="line" href="a00908.html#ga3077c6311010a214b69ddc8214ec13b5">  155</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00908.html#ga3077c6311010a214b69ddc8214ec13b5">third</a>();</div>
+<div class="line"><a name="l00155"></a><span class="lineno"><a class="line" href="a00908.html#ga3077c6311010a214b69ddc8214ec13b5">  155</a></span>&#160;        GLM_FUNC_DECL constexpr genType <a class="code" href="a00908.html#ga3077c6311010a214b69ddc8214ec13b5">third</a>();</div>
 <div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160; </div>
 <div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> genType&gt;</div>
-<div class="line"><a name="l00160"></a><span class="lineno"><a class="line" href="a00908.html#ga9b4d2f4322edcf63a6737b92a29dd1f5">  160</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00908.html#ga9b4d2f4322edcf63a6737b92a29dd1f5">two_thirds</a>();</div>
+<div class="line"><a name="l00160"></a><span class="lineno"><a class="line" href="a00908.html#ga9b4d2f4322edcf63a6737b92a29dd1f5">  160</a></span>&#160;        GLM_FUNC_DECL constexpr genType <a class="code" href="a00908.html#ga9b4d2f4322edcf63a6737b92a29dd1f5">two_thirds</a>();</div>
 <div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160; </div>
 <div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> genType&gt;</div>
-<div class="line"><a name="l00165"></a><span class="lineno"><a class="line" href="a00908.html#ga748cf8642830657c5b7eae04d0a80899">  165</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00908.html#ga748cf8642830657c5b7eae04d0a80899">golden_ratio</a>();</div>
+<div class="line"><a name="l00165"></a><span class="lineno"><a class="line" href="a00908.html#ga748cf8642830657c5b7eae04d0a80899">  165</a></span>&#160;        GLM_FUNC_DECL constexpr genType <a class="code" href="a00908.html#ga748cf8642830657c5b7eae04d0a80899">golden_ratio</a>();</div>
 <div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160; </div>
 <div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;} <span class="comment">//namespace glm</span></div>
 <div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160; </div>
 <div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;<span class="preprocessor">#include &quot;constants.inl&quot;</span></div>
 </div><!-- fragment --></div><!-- contents -->
-<div class="ttc" id="aa00908_html_ga748cf8642830657c5b7eae04d0a80899"><div class="ttname"><a href="a00908.html#ga748cf8642830657c5b7eae04d0a80899">glm::golden_ratio</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType golden_ratio()</div><div class="ttdoc">Return the golden ratio constant.</div></div>
-<div class="ttc" id="aa00908_html_gaa5276a4617566abcfe49286f40e3a256"><div class="ttname"><a href="a00908.html#gaa5276a4617566abcfe49286f40e3a256">glm::two_pi</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType two_pi()</div><div class="ttdoc">Return pi * 2.</div></div>
-<div class="ttc" id="aa00908_html_ga74e607d29020f100c0d0dc46ce2ca950"><div class="ttname"><a href="a00908.html#ga74e607d29020f100c0d0dc46ce2ca950">glm::root_two</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType root_two()</div><div class="ttdoc">Return sqrt(2).</div></div>
-<div class="ttc" id="aa00908_html_ga7c922b427986cbb2e4c6ac69874eefbc"><div class="ttname"><a href="a00908.html#ga7c922b427986cbb2e4c6ac69874eefbc">glm::one_over_two_pi</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType one_over_two_pi()</div><div class="ttdoc">Return 1 / (pi * 2).</div></div>
-<div class="ttc" id="aa00908_html_ga555150da2b06d23c8738981d5013e0eb"><div class="ttname"><a href="a00908.html#ga555150da2b06d23c8738981d5013e0eb">glm::one_over_pi</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType one_over_pi()</div><div class="ttdoc">Return 1 / pi.</div></div>
-<div class="ttc" id="aa00908_html_gaca94292c839ed31a405ab7a81ae7e850"><div class="ttname"><a href="a00908.html#gaca94292c839ed31a405ab7a81ae7e850">glm::ln_ln_two</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType ln_ln_two()</div><div class="ttdoc">Return ln(ln(2)).</div></div>
-<div class="ttc" id="aa00908_html_ga0c36b41d462e45641faf7d7938948bac"><div class="ttname"><a href="a00908.html#ga0c36b41d462e45641faf7d7938948bac">glm::half_pi</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType half_pi()</div><div class="ttdoc">Return pi / 2.</div></div>
-<div class="ttc" id="aa00908_html_ga3077c6311010a214b69ddc8214ec13b5"><div class="ttname"><a href="a00908.html#ga3077c6311010a214b69ddc8214ec13b5">glm::third</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType third()</div><div class="ttdoc">Return 1 / 3.</div></div>
-<div class="ttc" id="aa00908_html_ga39c2fb227631ca25894326529bdd1ee5"><div class="ttname"><a href="a00908.html#ga39c2fb227631ca25894326529bdd1ee5">glm::one</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType one()</div><div class="ttdoc">Return 1.</div></div>
-<div class="ttc" id="aa00908_html_ga5827301817640843cf02026a8d493894"><div class="ttname"><a href="a00908.html#ga5827301817640843cf02026a8d493894">glm::two_over_root_pi</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType two_over_root_pi()</div><div class="ttdoc">Return 2 / sqrt(pi).</div></div>
-<div class="ttc" id="aa00908_html_ga4f286be4abe88be1eed7d2a9f6cb193e"><div class="ttname"><a href="a00908.html#ga4f286be4abe88be1eed7d2a9f6cb193e">glm::root_three</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType root_three()</div><div class="ttdoc">Return sqrt(3).</div></div>
-<div class="ttc" id="aa00908_html_ga4e276cb823cc5e612d4f89ed99c75039"><div class="ttname"><a href="a00908.html#ga4e276cb823cc5e612d4f89ed99c75039">glm::root_half_pi</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType root_half_pi()</div><div class="ttdoc">Return sqrt(pi / 2).</div></div>
-<div class="ttc" id="aa00908_html_gae94950df74b0ce382b1fc1d978ef7394"><div class="ttname"><a href="a00908.html#gae94950df74b0ce382b1fc1d978ef7394">glm::three_over_two_pi</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType three_over_two_pi()</div><div class="ttdoc">Return pi / 2 * 3.</div></div>
-<div class="ttc" id="aa00908_html_ga3c9df42bd73c519a995c43f0f99e77e0"><div class="ttname"><a href="a00908.html#ga3c9df42bd73c519a995c43f0f99e77e0">glm::quarter_pi</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType quarter_pi()</div><div class="ttdoc">Return pi / 4.</div></div>
-<div class="ttc" id="aa00908_html_ga261380796b2cd496f68d2cf1d08b8eb9"><div class="ttname"><a href="a00908.html#ga261380796b2cd496f68d2cf1d08b8eb9">glm::root_pi</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType root_pi()</div><div class="ttdoc">Return square root of pi.</div></div>
-<div class="ttc" id="aa00908_html_gae9ebbded75b53d4faeb1e4ef8b3347a2"><div class="ttname"><a href="a00908.html#gae9ebbded75b53d4faeb1e4ef8b3347a2">glm::root_five</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType root_five()</div><div class="ttdoc">Return sqrt(5).</div></div>
-<div class="ttc" id="aa00908_html_ga4b7956eb6e2fbedfc7cf2e46e85c5139"><div class="ttname"><a href="a00908.html#ga4b7956eb6e2fbedfc7cf2e46e85c5139">glm::e</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType e()</div><div class="ttdoc">Return e constant.</div></div>
-<div class="ttc" id="aa00908_html_ga2bcedc575039fe0cd765742f8bbb0bd3"><div class="ttname"><a href="a00908.html#ga2bcedc575039fe0cd765742f8bbb0bd3">glm::root_two_pi</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType root_two_pi()</div><div class="ttdoc">Return sqrt(2 * pi).</div></div>
-<div class="ttc" id="aa00908_html_ga788f5a421fc0f40a1296ebc094cbaa8a"><div class="ttname"><a href="a00908.html#ga788f5a421fc0f40a1296ebc094cbaa8a">glm::zero</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType zero()</div><div class="ttdoc">Return 0.</div></div>
-<div class="ttc" id="aa00908_html_ga4129412e96b33707a77c1a07652e23e2"><div class="ttname"><a href="a00908.html#ga4129412e96b33707a77c1a07652e23e2">glm::root_ln_four</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType root_ln_four()</div><div class="ttdoc">Return sqrt(ln(4)).</div></div>
-<div class="ttc" id="aa00908_html_ga24f4d27765678116f41a2f336ab7975c"><div class="ttname"><a href="a00908.html#ga24f4d27765678116f41a2f336ab7975c">glm::ln_two</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType ln_two()</div><div class="ttdoc">Return ln(2).</div></div>
-<div class="ttc" id="aa00908_html_ga74eadc8a211253079683219a3ea0462a"><div class="ttname"><a href="a00908.html#ga74eadc8a211253079683219a3ea0462a">glm::two_over_pi</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType two_over_pi()</div><div class="ttdoc">Return 2 / pi.</div></div>
-<div class="ttc" id="aa00908_html_gad8fe2e6f90bce9d829e9723b649fbd42"><div class="ttname"><a href="a00908.html#gad8fe2e6f90bce9d829e9723b649fbd42">glm::euler</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType euler()</div><div class="ttdoc">Return Euler's constant.</div></div>
-<div class="ttc" id="aa00908_html_gaf97ebc6c059ffd788e6c4946f71ef66c"><div class="ttname"><a href="a00908.html#gaf97ebc6c059ffd788e6c4946f71ef66c">glm::ln_ten</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType ln_ten()</div><div class="ttdoc">Return ln(10).</div></div>
-<div class="ttc" id="aa00908_html_ga753950e5140e4ea6a88e4a18ba61dc09"><div class="ttname"><a href="a00908.html#ga753950e5140e4ea6a88e4a18ba61dc09">glm::four_over_pi</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType four_over_pi()</div><div class="ttdoc">Return 4 / pi.</div></div>
-<div class="ttc" id="aa00908_html_ga788fa23a0939bac4d1d0205fb4f35818"><div class="ttname"><a href="a00908.html#ga788fa23a0939bac4d1d0205fb4f35818">glm::one_over_root_two</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType one_over_root_two()</div><div class="ttdoc">Return 1 / sqrt(2).</div></div>
-<div class="ttc" id="aa00908_html_ga9b4d2f4322edcf63a6737b92a29dd1f5"><div class="ttname"><a href="a00908.html#ga9b4d2f4322edcf63a6737b92a29dd1f5">glm::two_thirds</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType two_thirds()</div><div class="ttdoc">Return 2 / 3.</div></div>
-<div class="ttc" id="aa00908_html_gae645d3bb4076df6976b3c0821831b422"><div class="ttname"><a href="a00908.html#gae645d3bb4076df6976b3c0821831b422">glm::tau</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType tau()</div><div class="ttdoc">Return unit-circle circumference, or pi * 2.</div></div>
+<div class="ttc" id="aa00908_html_ga748cf8642830657c5b7eae04d0a80899"><div class="ttname"><a href="a00908.html#ga748cf8642830657c5b7eae04d0a80899">glm::golden_ratio</a></div><div class="ttdeci">GLM_FUNC_DECL constexpr genType golden_ratio()</div><div class="ttdoc">Return the golden ratio constant.</div></div>
+<div class="ttc" id="aa00908_html_gaa5276a4617566abcfe49286f40e3a256"><div class="ttname"><a href="a00908.html#gaa5276a4617566abcfe49286f40e3a256">glm::two_pi</a></div><div class="ttdeci">GLM_FUNC_DECL constexpr genType two_pi()</div><div class="ttdoc">Return pi * 2.</div></div>
+<div class="ttc" id="aa00908_html_ga74e607d29020f100c0d0dc46ce2ca950"><div class="ttname"><a href="a00908.html#ga74e607d29020f100c0d0dc46ce2ca950">glm::root_two</a></div><div class="ttdeci">GLM_FUNC_DECL constexpr genType root_two()</div><div class="ttdoc">Return sqrt(2).</div></div>
+<div class="ttc" id="aa00908_html_ga7c922b427986cbb2e4c6ac69874eefbc"><div class="ttname"><a href="a00908.html#ga7c922b427986cbb2e4c6ac69874eefbc">glm::one_over_two_pi</a></div><div class="ttdeci">GLM_FUNC_DECL constexpr genType one_over_two_pi()</div><div class="ttdoc">Return 1 / (pi * 2).</div></div>
+<div class="ttc" id="aa00908_html_ga555150da2b06d23c8738981d5013e0eb"><div class="ttname"><a href="a00908.html#ga555150da2b06d23c8738981d5013e0eb">glm::one_over_pi</a></div><div class="ttdeci">GLM_FUNC_DECL constexpr genType one_over_pi()</div><div class="ttdoc">Return 1 / pi.</div></div>
+<div class="ttc" id="aa00908_html_gaca94292c839ed31a405ab7a81ae7e850"><div class="ttname"><a href="a00908.html#gaca94292c839ed31a405ab7a81ae7e850">glm::ln_ln_two</a></div><div class="ttdeci">GLM_FUNC_DECL constexpr genType ln_ln_two()</div><div class="ttdoc">Return ln(ln(2)).</div></div>
+<div class="ttc" id="aa00908_html_ga0c36b41d462e45641faf7d7938948bac"><div class="ttname"><a href="a00908.html#ga0c36b41d462e45641faf7d7938948bac">glm::half_pi</a></div><div class="ttdeci">GLM_FUNC_DECL constexpr genType half_pi()</div><div class="ttdoc">Return pi / 2.</div></div>
+<div class="ttc" id="aa00908_html_ga3077c6311010a214b69ddc8214ec13b5"><div class="ttname"><a href="a00908.html#ga3077c6311010a214b69ddc8214ec13b5">glm::third</a></div><div class="ttdeci">GLM_FUNC_DECL constexpr genType third()</div><div class="ttdoc">Return 1 / 3.</div></div>
+<div class="ttc" id="aa00908_html_ga39c2fb227631ca25894326529bdd1ee5"><div class="ttname"><a href="a00908.html#ga39c2fb227631ca25894326529bdd1ee5">glm::one</a></div><div class="ttdeci">GLM_FUNC_DECL constexpr genType one()</div><div class="ttdoc">Return 1.</div></div>
+<div class="ttc" id="aa00908_html_ga5827301817640843cf02026a8d493894"><div class="ttname"><a href="a00908.html#ga5827301817640843cf02026a8d493894">glm::two_over_root_pi</a></div><div class="ttdeci">GLM_FUNC_DECL constexpr genType two_over_root_pi()</div><div class="ttdoc">Return 2 / sqrt(pi).</div></div>
+<div class="ttc" id="aa00908_html_ga4f286be4abe88be1eed7d2a9f6cb193e"><div class="ttname"><a href="a00908.html#ga4f286be4abe88be1eed7d2a9f6cb193e">glm::root_three</a></div><div class="ttdeci">GLM_FUNC_DECL constexpr genType root_three()</div><div class="ttdoc">Return sqrt(3).</div></div>
+<div class="ttc" id="aa00908_html_ga4e276cb823cc5e612d4f89ed99c75039"><div class="ttname"><a href="a00908.html#ga4e276cb823cc5e612d4f89ed99c75039">glm::root_half_pi</a></div><div class="ttdeci">GLM_FUNC_DECL constexpr genType root_half_pi()</div><div class="ttdoc">Return sqrt(pi / 2).</div></div>
+<div class="ttc" id="aa00908_html_gae94950df74b0ce382b1fc1d978ef7394"><div class="ttname"><a href="a00908.html#gae94950df74b0ce382b1fc1d978ef7394">glm::three_over_two_pi</a></div><div class="ttdeci">GLM_FUNC_DECL constexpr genType three_over_two_pi()</div><div class="ttdoc">Return pi / 2 * 3.</div></div>
+<div class="ttc" id="aa00908_html_ga3c9df42bd73c519a995c43f0f99e77e0"><div class="ttname"><a href="a00908.html#ga3c9df42bd73c519a995c43f0f99e77e0">glm::quarter_pi</a></div><div class="ttdeci">GLM_FUNC_DECL constexpr genType quarter_pi()</div><div class="ttdoc">Return pi / 4.</div></div>
+<div class="ttc" id="aa00908_html_ga261380796b2cd496f68d2cf1d08b8eb9"><div class="ttname"><a href="a00908.html#ga261380796b2cd496f68d2cf1d08b8eb9">glm::root_pi</a></div><div class="ttdeci">GLM_FUNC_DECL constexpr genType root_pi()</div><div class="ttdoc">Return square root of pi.</div></div>
+<div class="ttc" id="aa00908_html_gae9ebbded75b53d4faeb1e4ef8b3347a2"><div class="ttname"><a href="a00908.html#gae9ebbded75b53d4faeb1e4ef8b3347a2">glm::root_five</a></div><div class="ttdeci">GLM_FUNC_DECL constexpr genType root_five()</div><div class="ttdoc">Return sqrt(5).</div></div>
+<div class="ttc" id="aa00908_html_ga4b7956eb6e2fbedfc7cf2e46e85c5139"><div class="ttname"><a href="a00908.html#ga4b7956eb6e2fbedfc7cf2e46e85c5139">glm::e</a></div><div class="ttdeci">GLM_FUNC_DECL constexpr genType e()</div><div class="ttdoc">Return e constant.</div></div>
+<div class="ttc" id="aa00908_html_ga2bcedc575039fe0cd765742f8bbb0bd3"><div class="ttname"><a href="a00908.html#ga2bcedc575039fe0cd765742f8bbb0bd3">glm::root_two_pi</a></div><div class="ttdeci">GLM_FUNC_DECL constexpr genType root_two_pi()</div><div class="ttdoc">Return sqrt(2 * pi).</div></div>
+<div class="ttc" id="aa00908_html_ga788f5a421fc0f40a1296ebc094cbaa8a"><div class="ttname"><a href="a00908.html#ga788f5a421fc0f40a1296ebc094cbaa8a">glm::zero</a></div><div class="ttdeci">GLM_FUNC_DECL constexpr genType zero()</div><div class="ttdoc">Return 0.</div></div>
+<div class="ttc" id="aa00908_html_ga4129412e96b33707a77c1a07652e23e2"><div class="ttname"><a href="a00908.html#ga4129412e96b33707a77c1a07652e23e2">glm::root_ln_four</a></div><div class="ttdeci">GLM_FUNC_DECL constexpr genType root_ln_four()</div><div class="ttdoc">Return sqrt(ln(4)).</div></div>
+<div class="ttc" id="aa00908_html_ga24f4d27765678116f41a2f336ab7975c"><div class="ttname"><a href="a00908.html#ga24f4d27765678116f41a2f336ab7975c">glm::ln_two</a></div><div class="ttdeci">GLM_FUNC_DECL constexpr genType ln_two()</div><div class="ttdoc">Return ln(2).</div></div>
+<div class="ttc" id="aa00908_html_ga74eadc8a211253079683219a3ea0462a"><div class="ttname"><a href="a00908.html#ga74eadc8a211253079683219a3ea0462a">glm::two_over_pi</a></div><div class="ttdeci">GLM_FUNC_DECL constexpr genType two_over_pi()</div><div class="ttdoc">Return 2 / pi.</div></div>
+<div class="ttc" id="aa00908_html_gad8fe2e6f90bce9d829e9723b649fbd42"><div class="ttname"><a href="a00908.html#gad8fe2e6f90bce9d829e9723b649fbd42">glm::euler</a></div><div class="ttdeci">GLM_FUNC_DECL constexpr genType euler()</div><div class="ttdoc">Return Euler's constant.</div></div>
+<div class="ttc" id="aa00908_html_gaf97ebc6c059ffd788e6c4946f71ef66c"><div class="ttname"><a href="a00908.html#gaf97ebc6c059ffd788e6c4946f71ef66c">glm::ln_ten</a></div><div class="ttdeci">GLM_FUNC_DECL constexpr genType ln_ten()</div><div class="ttdoc">Return ln(10).</div></div>
+<div class="ttc" id="aa00908_html_ga753950e5140e4ea6a88e4a18ba61dc09"><div class="ttname"><a href="a00908.html#ga753950e5140e4ea6a88e4a18ba61dc09">glm::four_over_pi</a></div><div class="ttdeci">GLM_FUNC_DECL constexpr genType four_over_pi()</div><div class="ttdoc">Return 4 / pi.</div></div>
+<div class="ttc" id="aa00908_html_ga788fa23a0939bac4d1d0205fb4f35818"><div class="ttname"><a href="a00908.html#ga788fa23a0939bac4d1d0205fb4f35818">glm::one_over_root_two</a></div><div class="ttdeci">GLM_FUNC_DECL constexpr genType one_over_root_two()</div><div class="ttdoc">Return 1 / sqrt(2).</div></div>
+<div class="ttc" id="aa00908_html_ga9b4d2f4322edcf63a6737b92a29dd1f5"><div class="ttname"><a href="a00908.html#ga9b4d2f4322edcf63a6737b92a29dd1f5">glm::two_thirds</a></div><div class="ttdeci">GLM_FUNC_DECL constexpr genType two_thirds()</div><div class="ttdoc">Return 2 / 3.</div></div>
+<div class="ttc" id="aa00908_html_gae645d3bb4076df6976b3c0821831b422"><div class="ttname"><a href="a00908.html#gae645d3bb4076df6976b3c0821831b422">glm::tau</a></div><div class="ttdeci">GLM_FUNC_DECL constexpr genType tau()</div><div class="ttdoc">Return unit-circle circumference, or pi * 2.</div></div>
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
 Generated by &#160;<a href="http://www.doxygen.org/index.html">

+ 1 - 1
doc/api/a00542_source.html

@@ -101,7 +101,7 @@ $(function() {
 <div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="preprocessor">#include &quot;epsilon.inl&quot;</span></div>
 </div><!-- fragment --></div><!-- contents -->
 <div class="ttc" id="aa00909_html_ga50a92103fb0cbd796908e1bf20c79aaf"><div class="ttname"><a href="a00909.html#ga50a92103fb0cbd796908e1bf20c79aaf">glm::epsilonNotEqual</a></div><div class="ttdeci">GLM_FUNC_DECL bool epsilonNotEqual(genType const &amp;x, genType const &amp;y, genType const &amp;epsilon)</div><div class="ttdoc">Returns the component-wise comparison of |x - y| &gt;= epsilon.</div></div>
-<div class="ttc" id="aa00867_html_ga2a1e57fc5592b69cfae84174cbfc9429"><div class="ttname"><a href="a00867.html#ga2a1e57fc5592b69cfae84174cbfc9429">glm::epsilon</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType epsilon()</div><div class="ttdoc">Return the epsilon constant for floating point types.</div></div>
+<div class="ttc" id="aa00867_html_ga2a1e57fc5592b69cfae84174cbfc9429"><div class="ttname"><a href="a00867.html#ga2a1e57fc5592b69cfae84174cbfc9429">glm::epsilon</a></div><div class="ttdeci">GLM_FUNC_DECL constexpr genType epsilon()</div><div class="ttdoc">Return the epsilon constant for floating point types.</div></div>
 <div class="ttc" id="aa00909_html_gaa7f227999ca09e7ca994e8b35aba47bb"><div class="ttname"><a href="a00909.html#gaa7f227999ca09e7ca994e8b35aba47bb">glm::epsilonEqual</a></div><div class="ttdeci">GLM_FUNC_DECL bool epsilonEqual(genType const &amp;x, genType const &amp;y, genType const &amp;epsilon)</div><div class="ttdoc">Returns the component-wise comparison of |x - y| &lt; epsilon.</div></div>
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>

+ 2 - 2
doc/api/a00602_source.html

@@ -229,10 +229,10 @@ $(function() {
 <div class="ttc" id="aa00933_html_gac5ce300d95da1649147adddbc80af5e5"><div class="ttname"><a href="a00933.html#gac5ce300d95da1649147adddbc80af5e5">glm::isfinite</a></div><div class="ttdeci">GLM_FUNC_DECL vec&lt; 4, bool, Q &gt; isfinite(const qua&lt; T, Q &gt; &amp;x)</div><div class="ttdoc">Test whether or not a scalar or each vector component is a finite value. (From GLM_GTX_compatibility)</div></div>
 <div class="ttc" id="aa00933_html_gab5477ab69c40de4db5d58d3359529724"><div class="ttname"><a href="a00933.html#gab5477ab69c40de4db5d58d3359529724">glm::lerp</a></div><div class="ttdeci">GLM_FUNC_QUALIFIER vec&lt; 4, T, Q &gt; lerp(const vec&lt; 4, T, Q &gt; &amp;x, const vec&lt; 4, T, Q &gt; &amp;y, const vec&lt; 4, T, Q &gt; &amp;a)</div><div class="ttdoc">Returns the component-wise result of x * (1.0 - a) + y * a, i.e., the linear blend of x and y using v...</div><div class="ttdef"><b>Definition:</b> <a href="a00602_source.html#l00046">compatibility.hpp:46</a></div></div>
 <div class="ttc" id="aa00933_html_ga15c9649286f0bf431bdf9b3509580048"><div class="ttname"><a href="a00933.html#ga15c9649286f0bf431bdf9b3509580048">glm::int3x3</a></div><div class="ttdeci">mat&lt; 3, 3, int, highp &gt; int3x3</div><div class="ttdoc">integer matrix with 3 x 3 components. (From GLM_GTX_compatibility extension)</div><div class="ttdef"><b>Definition:</b> <a href="a00602_source.html#l00091">compatibility.hpp:91</a></div></div>
-<div class="ttc" id="aa00812_html_ga6b6e0c7ecb4a5b78f929566355bb7416"><div class="ttname"><a href="a00812.html#ga6b6e0c7ecb4a5b78f929566355bb7416">glm::mix</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genTypeT mix(genTypeT x, genTypeT y, genTypeU a)</div><div class="ttdoc">If genTypeU is a floating scalar or vector: Returns x * (1.0 - a) + y * a, i.e., the linear blend of ...</div></div>
+<div class="ttc" id="aa00812_html_ga6b6e0c7ecb4a5b78f929566355bb7416"><div class="ttname"><a href="a00812.html#ga6b6e0c7ecb4a5b78f929566355bb7416">glm::mix</a></div><div class="ttdeci">GLM_FUNC_DECL constexpr genTypeT mix(genTypeT x, genTypeT y, genTypeU a)</div><div class="ttdoc">If genTypeU is a floating scalar or vector: Returns x * (1.0 - a) + y * a, i.e., the linear blend of ...</div></div>
 <div class="ttc" id="aa00933_html_gae2da7345087db3815a25d8837a727ef1"><div class="ttname"><a href="a00933.html#gae2da7345087db3815a25d8837a727ef1">glm::float4</a></div><div class="ttdeci">vec&lt; 4, float, highp &gt; float4</div><div class="ttdoc">single-qualifier floating-point vector with 4 components. (From GLM_GTX_compatibility extension)</div><div class="ttdef"><b>Definition:</b> <a href="a00602_source.html#l00100">compatibility.hpp:100</a></div></div>
 <div class="ttc" id="aa00933_html_ga31b729b04facccda73f07ed26958b3c2"><div class="ttname"><a href="a00933.html#ga31b729b04facccda73f07ed26958b3c2">glm::double2</a></div><div class="ttdeci">vec&lt; 2, double, highp &gt; double2</div><div class="ttdoc">double-qualifier floating-point vector with 2 components. (From GLM_GTX_compatibility extension)</div><div class="ttdef"><b>Definition:</b> <a href="a00602_source.html#l00114">compatibility.hpp:114</a></div></div>
-<div class="ttc" id="aa00812_html_ga7cd77683da6361e297c56443fc70806d"><div class="ttname"><a href="a00812.html#ga7cd77683da6361e297c56443fc70806d">glm::clamp</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType clamp(genType x, genType minVal, genType maxVal)</div><div class="ttdoc">Returns min(max(x, minVal), maxVal) for each component in x using the floating-point values minVal an...</div></div>
+<div class="ttc" id="aa00812_html_ga7cd77683da6361e297c56443fc70806d"><div class="ttname"><a href="a00812.html#ga7cd77683da6361e297c56443fc70806d">glm::clamp</a></div><div class="ttdeci">GLM_FUNC_DECL constexpr genType clamp(genType x, genType minVal, genType maxVal)</div><div class="ttdoc">Returns min(max(x, minVal), maxVal) for each component in x using the floating-point values minVal an...</div></div>
 <div class="ttc" id="aa00933_html_gae4a2c53f14aeec9a17c2b81142b7e82d"><div class="ttname"><a href="a00933.html#gae4a2c53f14aeec9a17c2b81142b7e82d">glm::int4x3</a></div><div class="ttdeci">mat&lt; 4, 3, int, highp &gt; int4x3</div><div class="ttdoc">integer matrix with 4 x 3 components. (From GLM_GTX_compatibility extension)</div><div class="ttdef"><b>Definition:</b> <a href="a00602_source.html#l00094">compatibility.hpp:94</a></div></div>
 <div class="ttc" id="aa00933_html_gaab541bed2e788e4537852a2492860806"><div class="ttname"><a href="a00933.html#gaab541bed2e788e4537852a2492860806">glm::double4x4</a></div><div class="ttdeci">mat&lt; 4, 4, double, highp &gt; double4x4</div><div class="ttdoc">double-qualifier floating-point matrix with 4 x 4 components. (From GLM_GTX_compatibility extension)</div><div class="ttdef"><b>Definition:</b> <a href="a00602_source.html#l00127">compatibility.hpp:127</a></div></div>
 <div class="ttc" id="aa00933_html_gaa09ab65ec9c3c54305ff502e2b1fe6d9"><div class="ttname"><a href="a00933.html#gaa09ab65ec9c3c54305ff502e2b1fe6d9">glm::bool2</a></div><div class="ttdeci">vec&lt; 2, bool, highp &gt; bool2</div><div class="ttdoc">boolean type with 2 components. (From GLM_GTX_compatibility extension)</div><div class="ttdef"><b>Definition:</b> <a href="a00602_source.html#l00066">compatibility.hpp:66</a></div></div>

+ 3 - 3
doc/api/a00608_source.html

@@ -102,15 +102,15 @@ $(function() {
 <div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;                <span class="comment">// -- Component accesses --</span></div>
 <div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160; </div>
 <div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;                <span class="keyword">typedef</span> length_t length_type;</div>
-<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;                GLM_FUNC_DECL <span class="keyword">static</span> GLM_CONSTEXPR length_type <a class="code" href="a00862.html#gab703732449be6c7199369b3f9a91ed38">length</a>(){<span class="keywordflow">return</span> 2;}</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;                GLM_FUNC_DECL <span class="keyword">static</span> constexpr length_type <a class="code" href="a00862.html#gab703732449be6c7199369b3f9a91ed38">length</a>(){<span class="keywordflow">return</span> 2;}</div>
 <div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160; </div>
 <div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;                GLM_FUNC_DECL part_type &amp; operator[](length_type i);</div>
 <div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;                GLM_FUNC_DECL part_type <span class="keyword">const</span>&amp; operator[](length_type i) <span class="keyword">const</span>;</div>
 <div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160; </div>
 <div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;                <span class="comment">// -- Implicit basic constructors --</span></div>
 <div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160; </div>
-<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;                GLM_DEFAULTED_FUNC_DECL GLM_CONSTEXPR tdualquat() GLM_DEFAULT;</div>
-<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;                GLM_DEFAULTED_FUNC_DECL GLM_CONSTEXPR tdualquat(tdualquat&lt;T, Q&gt; const&amp; d) GLM_DEFAULT;</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;                GLM_DEFAULTED_FUNC_DECL constexpr tdualquat() GLM_DEFAULT;</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;                GLM_DEFAULTED_FUNC_DECL constexpr tdualquat(tdualquat&lt;T, Q&gt; const&amp; d) GLM_DEFAULT;</div>
 <div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;                template&lt;qualifier P&gt;</div>
 <div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;                GLM_CTOR_DECL tdualquat(tdualquat&lt;T, P&gt; const&amp; d);</div>
 <div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160; </div>

+ 1 - 1
doc/api/a00623.html

@@ -81,7 +81,7 @@ $(function() {
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
 Functions</h2></td></tr>
 <tr class="memitem:gac5814d419dbc957de01dc9a3f3196be5"><td class="memTemplParams" colspan="2">template&lt;typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:gac5814d419dbc957de01dc9a3f3196be5"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00940.html#gac5814d419dbc957de01dc9a3f3196be5">cross</a> (vec&lt; 2, T, Q &gt; const &amp;v, vec&lt; 2, T, Q &gt; const &amp;u)</td></tr>
+<tr class="memitem:gac5814d419dbc957de01dc9a3f3196be5"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00940.html#gac5814d419dbc957de01dc9a3f3196be5">cross</a> (vec&lt; 2, T, Q &gt; const &amp;v, vec&lt; 2, T, Q &gt; const &amp;u)</td></tr>
 <tr class="memdesc:gac5814d419dbc957de01dc9a3f3196be5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the cross product of x and y.  <a href="a00940.html#gac5814d419dbc957de01dc9a3f3196be5">More...</a><br /></td></tr>
 <tr class="separator:gac5814d419dbc957de01dc9a3f3196be5"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>

+ 2 - 2
doc/api/a00623_source.html

@@ -87,13 +87,13 @@ $(function() {
 <div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;{</div>
 <div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160; </div>
 <div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="a00940.html#gac5814d419dbc957de01dc9a3f3196be5">   38</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR T <a class="code" href="a00940.html#gac5814d419dbc957de01dc9a3f3196be5">cross</a>(vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v, vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; u);</div>
+<div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="a00940.html#gac5814d419dbc957de01dc9a3f3196be5">   38</a></span>&#160;        GLM_FUNC_DECL constexpr T <a class="code" href="a00940.html#gac5814d419dbc957de01dc9a3f3196be5">cross</a>(vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; v, vec&lt;2, T, Q&gt; <span class="keyword">const</span>&amp; u);</div>
 <div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160; </div>
 <div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;} <span class="comment">//namespace glm</span></div>
 <div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160; </div>
 <div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="preprocessor">#include &quot;exterior_product.inl&quot;</span></div>
 </div><!-- fragment --></div><!-- contents -->
-<div class="ttc" id="aa00940_html_gac5814d419dbc957de01dc9a3f3196be5"><div class="ttname"><a href="a00940.html#gac5814d419dbc957de01dc9a3f3196be5">glm::cross</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR T cross(vec&lt; 2, T, Q &gt; const &amp;v, vec&lt; 2, T, Q &gt; const &amp;u)</div><div class="ttdoc">Returns the cross product of x and y.</div></div>
+<div class="ttc" id="aa00940_html_gac5814d419dbc957de01dc9a3f3196be5"><div class="ttname"><a href="a00940.html#gac5814d419dbc957de01dc9a3f3196be5">glm::cross</a></div><div class="ttdeci">GLM_FUNC_DECL constexpr T cross(vec&lt; 2, T, Q &gt; const &amp;v, vec&lt; 2, T, Q &gt; const &amp;u)</div><div class="ttdoc">Returns the cross product of x and y.</div></div>
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
 Generated by &#160;<a href="http://www.doxygen.org/index.html">

+ 24 - 24
doc/api/a00653_source.html

@@ -88,58 +88,58 @@ $(function() {
 <div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="keyword">namespace </span>glm</div>
 <div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;{</div>
 <div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;        <span class="keyword">template</span>&lt;length_t L,<span class="keyword">typename</span> T,qualifier Q&gt;</div>
-<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR T* begin(vec&lt;L, T, Q&gt;&amp; v);</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;        GLM_FUNC_DECL constexpr T* begin(vec&lt;L, T, Q&gt;&amp; v);</div>
 <div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;        <span class="keyword">template</span>&lt;length_t C,length_t R,<span class="keyword">typename</span> T,qualifier Q&gt;</div>
-<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR T* begin(mat&lt;C, R, T, Q&gt;&amp; m);</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;        GLM_FUNC_DECL constexpr T* begin(mat&lt;C, R, T, Q&gt;&amp; m);</div>
 <div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T,qualifier Q&gt;</div>
-<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR T* begin(qua&lt;T, Q&gt;&amp; q);</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;        GLM_FUNC_DECL constexpr T* begin(qua&lt;T, Q&gt;&amp; q);</div>
 <div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;        <span class="keyword">template</span>&lt;length_t L,<span class="keyword">typename</span> T,qualifier Q&gt;</div>
-<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR <span class="keyword">const</span> T* begin(<span class="keyword">const</span> vec&lt;L, T, Q&gt;&amp; v);</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;        GLM_FUNC_DECL constexpr <span class="keyword">const</span> T* begin(<span class="keyword">const</span> vec&lt;L, T, Q&gt;&amp; v);</div>
 <div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;        <span class="keyword">template</span>&lt;length_t C,length_t R,<span class="keyword">typename</span> T,qualifier Q&gt;</div>
-<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR <span class="keyword">const</span> T* begin(<span class="keyword">const</span> mat&lt;C, R, T, Q&gt;&amp; m);</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;        GLM_FUNC_DECL constexpr <span class="keyword">const</span> T* begin(<span class="keyword">const</span> mat&lt;C, R, T, Q&gt;&amp; m);</div>
 <div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T,qualifier Q&gt;</div>
-<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR <span class="keyword">const</span> T* begin(<span class="keyword">const</span> qua&lt;T, Q&gt;&amp; q);</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;        GLM_FUNC_DECL constexpr <span class="keyword">const</span> T* begin(<span class="keyword">const</span> qua&lt;T, Q&gt;&amp; q);</div>
 <div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160; </div>
 <div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;        <span class="keyword">template</span>&lt;length_t L,<span class="keyword">typename</span> T,qualifier Q&gt;</div>
-<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR T* end(vec&lt;L, T, Q&gt;&amp; v);</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;        GLM_FUNC_DECL constexpr T* end(vec&lt;L, T, Q&gt;&amp; v);</div>
 <div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;        <span class="keyword">template</span>&lt;length_t C,length_t R,<span class="keyword">typename</span> T,qualifier Q&gt;</div>
-<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR T* end(mat&lt;C, R, T, Q&gt;&amp; m);</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;        GLM_FUNC_DECL constexpr T* end(mat&lt;C, R, T, Q&gt;&amp; m);</div>
 <div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T,qualifier Q&gt;</div>
-<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR T* end(qua&lt;T, Q&gt;&amp; q);</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;        GLM_FUNC_DECL constexpr T* end(qua&lt;T, Q&gt;&amp; q);</div>
 <div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;        <span class="keyword">template</span>&lt;length_t L,<span class="keyword">typename</span> T,qualifier Q&gt;</div>
-<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR <span class="keyword">const</span> T* end(<span class="keyword">const</span> vec&lt;L, T, Q&gt;&amp; v);</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;        GLM_FUNC_DECL constexpr <span class="keyword">const</span> T* end(<span class="keyword">const</span> vec&lt;L, T, Q&gt;&amp; v);</div>
 <div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;        <span class="keyword">template</span>&lt;length_t C,length_t R,<span class="keyword">typename</span> T,qualifier Q&gt;</div>
-<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR <span class="keyword">const</span> T* end(<span class="keyword">const</span> mat&lt;C, R, T, Q&gt;&amp; m);</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;        GLM_FUNC_DECL constexpr <span class="keyword">const</span> T* end(<span class="keyword">const</span> mat&lt;C, R, T, Q&gt;&amp; m);</div>
 <div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T,qualifier Q&gt;</div>
-<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR <span class="keyword">const</span> T* end(<span class="keyword">const</span> qua&lt;T, Q&gt;&amp; q);</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;        GLM_FUNC_DECL constexpr <span class="keyword">const</span> T* end(<span class="keyword">const</span> qua&lt;T, Q&gt;&amp; q);</div>
 <div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160; </div>
 <div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;        <span class="comment">// Reverse iteration</span></div>
 <div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;        <span class="comment">// rbegin,rend</span></div>
 <div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;        <span class="keyword">template</span>&lt;length_t L,<span class="keyword">typename</span> T,qualifier Q&gt;</div>
-<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR std::reverse_iterator&lt;T*&gt; rbegin(vec&lt;L, T, Q&gt;&amp; v);</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;        GLM_FUNC_DECL constexpr std::reverse_iterator&lt;T*&gt; rbegin(vec&lt;L, T, Q&gt;&amp; v);</div>
 <div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;        <span class="keyword">template</span>&lt;length_t C,length_t R,<span class="keyword">typename</span> T,qualifier Q&gt;</div>
-<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR std::reverse_iterator&lt;T*&gt; rbegin(mat&lt;C, R, T, Q&gt;&amp; m);</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;        GLM_FUNC_DECL constexpr std::reverse_iterator&lt;T*&gt; rbegin(mat&lt;C, R, T, Q&gt;&amp; m);</div>
 <div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T,qualifier Q&gt;</div>
-<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR std::reverse_iterator&lt;T*&gt; rbegin(qua&lt;T, Q&gt;&amp; q);</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;        GLM_FUNC_DECL constexpr std::reverse_iterator&lt;T*&gt; rbegin(qua&lt;T, Q&gt;&amp; q);</div>
 <div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;        <span class="keyword">template</span>&lt;length_t L,<span class="keyword">typename</span> T,qualifier Q&gt;</div>
-<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR std::reverse_iterator&lt;const T*&gt; rbegin(<span class="keyword">const</span> vec&lt;L, T, Q&gt;&amp; v);</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;        GLM_FUNC_DECL constexpr std::reverse_iterator&lt;const T*&gt; rbegin(<span class="keyword">const</span> vec&lt;L, T, Q&gt;&amp; v);</div>
 <div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;        <span class="keyword">template</span>&lt;length_t C,length_t R,<span class="keyword">typename</span> T,qualifier Q&gt;</div>
-<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR std::reverse_iterator&lt;const T*&gt; rbegin(<span class="keyword">const</span> mat&lt;C, R, T, Q&gt;&amp; m);</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;        GLM_FUNC_DECL constexpr std::reverse_iterator&lt;const T*&gt; rbegin(<span class="keyword">const</span> mat&lt;C, R, T, Q&gt;&amp; m);</div>
 <div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T,qualifier Q&gt;</div>
-<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR std::reverse_iterator&lt;const T*&gt; rbegin(<span class="keyword">const</span> qua&lt;T, Q&gt;&amp; q);</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;        GLM_FUNC_DECL constexpr std::reverse_iterator&lt;const T*&gt; rbegin(<span class="keyword">const</span> qua&lt;T, Q&gt;&amp; q);</div>
 <div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160; </div>
 <div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;        <span class="keyword">template</span>&lt;length_t L,<span class="keyword">typename</span> T,qualifier Q&gt;</div>
-<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR std::reverse_iterator&lt;T*&gt; rend(vec&lt;L, T, Q&gt;&amp; v);</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;        GLM_FUNC_DECL constexpr std::reverse_iterator&lt;T*&gt; rend(vec&lt;L, T, Q&gt;&amp; v);</div>
 <div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;        <span class="keyword">template</span>&lt;length_t C,length_t R,<span class="keyword">typename</span> T,qualifier Q&gt;</div>
-<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR std::reverse_iterator&lt;T*&gt; rend(mat&lt;C, R, T, Q&gt;&amp; m);</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;        GLM_FUNC_DECL constexpr std::reverse_iterator&lt;T*&gt; rend(mat&lt;C, R, T, Q&gt;&amp; m);</div>
 <div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T,qualifier Q&gt;</div>
-<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR std::reverse_iterator&lt;T*&gt; rend(qua&lt;T, Q&gt;&amp; q);</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;        GLM_FUNC_DECL constexpr std::reverse_iterator&lt;T*&gt; rend(qua&lt;T, Q&gt;&amp; q);</div>
 <div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;        <span class="keyword">template</span>&lt;length_t L,<span class="keyword">typename</span> T,qualifier Q&gt;</div>
-<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR std::reverse_iterator&lt;const T*&gt; rend(<span class="keyword">const</span> vec&lt;L, T, Q&gt;&amp; v);</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;        GLM_FUNC_DECL constexpr std::reverse_iterator&lt;const T*&gt; rend(<span class="keyword">const</span> vec&lt;L, T, Q&gt;&amp; v);</div>
 <div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;        <span class="keyword">template</span>&lt;length_t C,length_t R,<span class="keyword">typename</span> T,qualifier Q&gt;</div>
-<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR std::reverse_iterator&lt;const T*&gt; rend(<span class="keyword">const</span> mat&lt;C, R, T, Q&gt;&amp; m);</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;        GLM_FUNC_DECL constexpr std::reverse_iterator&lt;const T*&gt; rend(<span class="keyword">const</span> mat&lt;C, R, T, Q&gt;&amp; m);</div>
 <div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T,qualifier Q&gt;</div>
-<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR std::reverse_iterator&lt;const T*&gt; rend(<span class="keyword">const</span> qua&lt;T, Q&gt;&amp; q);</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;        GLM_FUNC_DECL constexpr std::reverse_iterator&lt;const T*&gt; rend(<span class="keyword">const</span> qua&lt;T, Q&gt;&amp; q);</div>
 <div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160; </div>
 <div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160; </div>
 <div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;}<span class="comment">//namespace glm</span></div>

+ 1 - 1
doc/api/a00677_source.html

@@ -118,7 +118,7 @@ $(function() {
 <div class="ttc" id="aa00959_html_gaee935d145581c82e82b154ccfd78ad91"><div class="ttname"><a href="a00959.html#gaee935d145581c82e82b154ccfd78ad91">glm::isIdentity</a></div><div class="ttdeci">GLM_FUNC_DECL bool isIdentity(matType&lt; C, R, T, Q &gt; const &amp;m, T const &amp;epsilon)</div><div class="ttdoc">Return whether a matrix is an identity matrix.</div></div>
 <div class="ttc" id="aa00959_html_ga58f3289f74dcab653387dd78ad93ca40"><div class="ttname"><a href="a00959.html#ga58f3289f74dcab653387dd78ad93ca40">glm::isOrthogonal</a></div><div class="ttdeci">GLM_FUNC_DECL bool isOrthogonal(matType&lt; C, R, T, Q &gt; const &amp;m, T const &amp;epsilon)</div><div class="ttdoc">Return whether a matrix is an orthonormalized matrix.</div></div>
 <div class="ttc" id="aa00959_html_ga4d9bb4d0465df49fedfad79adc6ce4ad"><div class="ttname"><a href="a00959.html#ga4d9bb4d0465df49fedfad79adc6ce4ad">glm::isNormalized</a></div><div class="ttdeci">GLM_FUNC_DECL bool isNormalized(mat&lt; 4, 4, T, Q &gt; const &amp;m, T const &amp;epsilon)</div><div class="ttdoc">Return whether a matrix is a normalized matrix.</div></div>
-<div class="ttc" id="aa00867_html_ga2a1e57fc5592b69cfae84174cbfc9429"><div class="ttname"><a href="a00867.html#ga2a1e57fc5592b69cfae84174cbfc9429">glm::epsilon</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType epsilon()</div><div class="ttdoc">Return the epsilon constant for floating point types.</div></div>
+<div class="ttc" id="aa00867_html_ga2a1e57fc5592b69cfae84174cbfc9429"><div class="ttname"><a href="a00867.html#ga2a1e57fc5592b69cfae84174cbfc9429">glm::epsilon</a></div><div class="ttdeci">GLM_FUNC_DECL constexpr genType epsilon()</div><div class="ttdoc">Return the epsilon constant for floating point types.</div></div>
 <div class="ttc" id="aa00959_html_ga2b98bb30a9fefa7cdea5f1dcddba677b"><div class="ttname"><a href="a00959.html#ga2b98bb30a9fefa7cdea5f1dcddba677b">glm::isNull</a></div><div class="ttdeci">GLM_FUNC_DECL bool isNull(mat&lt; 4, 4, T, Q &gt; const &amp;m, T const &amp;epsilon)</div><div class="ttdoc">Return whether a matrix is a null matrix.</div></div>
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>

+ 1 - 1
doc/api/a00704_source.html

@@ -120,7 +120,7 @@ $(function() {
 </div><!-- fragment --></div><!-- contents -->
 <div class="ttc" id="aa00968_html_ga3fe570b4abe7eca8afb32896d77394f5"><div class="ttname"><a href="a00968.html#ga3fe570b4abe7eca8afb32896d77394f5">glm::sortEigenvalues</a></div><div class="ttdeci">GLM_FUNC_DISCARD_DECL void sortEigenvalues(vec&lt; 4, T, Q &gt; &amp;eigenvalues, mat&lt; 4, 4, T, Q &gt; &amp;eigenvectors)</div><div class="ttdoc">Sorts a group of Eigenvalues&amp;Eigenvectors, for largest Eigenvalue to smallest Eigenvalue.</div></div>
 <div class="ttc" id="aa00968_html_ga666383aa52036f00f3b66e4e7e56da3a"><div class="ttname"><a href="a00968.html#ga666383aa52036f00f3b66e4e7e56da3a">glm::computeCovarianceMatrix</a></div><div class="ttdeci">GLM_FUNC_DECL mat&lt; D, D, T, Q &gt; computeCovarianceMatrix(I const &amp;b, I const &amp;e, vec&lt; D, T, Q &gt; const &amp;c)</div><div class="ttdoc">Compute a covariance matrix form a pair of iterators b (begin) and e (end) of a container with absolu...</div></div>
-<div class="ttc" id="aa00908_html_ga4b7956eb6e2fbedfc7cf2e46e85c5139"><div class="ttname"><a href="a00908.html#ga4b7956eb6e2fbedfc7cf2e46e85c5139">glm::e</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType e()</div><div class="ttdoc">Return e constant.</div></div>
+<div class="ttc" id="aa00908_html_ga4b7956eb6e2fbedfc7cf2e46e85c5139"><div class="ttname"><a href="a00908.html#ga4b7956eb6e2fbedfc7cf2e46e85c5139">glm::e</a></div><div class="ttdeci">GLM_FUNC_DECL constexpr genType e()</div><div class="ttdoc">Return e constant.</div></div>
 <div class="ttc" id="aa00968_html_ga0586007af1073c8b0f629bca0ee7c46c"><div class="ttname"><a href="a00968.html#ga0586007af1073c8b0f629bca0ee7c46c">glm::findEigenvaluesSymReal</a></div><div class="ttdeci">GLM_FUNC_DECL unsigned int findEigenvaluesSymReal(mat&lt; D, D, T, Q &gt; const &amp;covarMat, vec&lt; D, T, Q &gt; &amp;outEigenvalues, mat&lt; D, D, T, Q &gt; &amp;outEigenvectors)</div><div class="ttdoc">Assuming the provided covariance matrix covarMat is symmetric and real-valued, this function find the...</div></div>
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>

+ 12 - 12
doc/api/a00740_source.html

@@ -97,19 +97,19 @@ $(function() {
 <div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;        <span class="keyword">template</span>&lt;std::<span class="keywordtype">size_t</span> I,glm::length_t L,<span class="keyword">typename</span> T,glm::qualifier Q&gt;</div>
 <div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;        <span class="keyword">struct </span>tuple_element&lt;I, glm::vec&lt;L,T,Q&gt;&gt;</div>
 <div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;        {</div>
-<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;                GLM_STATIC_ASSERT(I &lt; L,<span class="stringliteral">&quot;Index out of bounds&quot;</span>);</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;                static_assert(I &lt; L,<span class="stringliteral">&quot;Index out of bounds&quot;</span>);</div>
 <div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;                <span class="keyword">typedef</span> T type;</div>
 <div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;        };</div>
 <div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;        <span class="keyword">template</span>&lt;std::<span class="keywordtype">size_t</span> I, glm::length_t C, glm::length_t R, <span class="keyword">typename</span> T, glm::qualifier Q&gt;</div>
 <div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;        <span class="keyword">struct </span>tuple_element&lt;I, glm::mat&lt;C,R, T, Q&gt;&gt;</div>
 <div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;        {</div>
-<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;                GLM_STATIC_ASSERT(I &lt; C, <span class="stringliteral">&quot;Index out of bounds&quot;</span>);</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;                static_assert(I &lt; C, <span class="stringliteral">&quot;Index out of bounds&quot;</span>);</div>
 <div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;                <span class="keyword">typedef</span> glm::vec&lt;R,T,Q&gt; type;</div>
 <div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;        };</div>
 <div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;        <span class="keyword">template</span>&lt;std::<span class="keywordtype">size_t</span> I, <span class="keyword">typename</span> T, glm::qualifier Q&gt;</div>
 <div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;        <span class="keyword">struct </span>tuple_element&lt;I, glm::qua&lt;T, Q&gt;&gt;</div>
 <div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;        {</div>
-<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;                GLM_STATIC_ASSERT(I &lt; 4, <span class="stringliteral">&quot;Index out of bounds&quot;</span>);</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;                static_assert(I &lt; 4, <span class="stringliteral">&quot;Index out of bounds&quot;</span>);</div>
 <div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;                <span class="keyword">typedef</span> T type;</div>
 <div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;        };</div>
 <div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160; </div>
@@ -127,27 +127,27 @@ $(function() {
 <div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;{</div>
 <div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160; </div>
 <div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;        <span class="keyword">template</span>&lt;length_t I, length_t L, <span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR T&amp; get(vec&lt;L, T, Q&gt;&amp; v);</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;        GLM_FUNC_DECL constexpr T&amp; get(vec&lt;L, T, Q&gt;&amp; v);</div>
 <div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;        <span class="keyword">template</span>&lt;length_t I, length_t L, <span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR T <span class="keyword">const</span>&amp; get(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;        GLM_FUNC_DECL constexpr T <span class="keyword">const</span>&amp; get(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160; </div>
 <div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;        <span class="keyword">template</span>&lt;length_t I, length_t C, length_t R, <span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;R, T, Q&gt;&amp; get(mat&lt;C, R, T, Q&gt;&amp; m);</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;R, T, Q&gt;&amp; get(mat&lt;C, R, T, Q&gt;&amp; m);</div>
 <div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;        <span class="keyword">template</span>&lt;length_t I, length_t C, length_t R, <span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;R, T, Q&gt; <span class="keyword">const</span>&amp; get(mat&lt;C, R, T, Q&gt; <span class="keyword">const</span>&amp; m);</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;R, T, Q&gt; <span class="keyword">const</span>&amp; get(mat&lt;C, R, T, Q&gt; <span class="keyword">const</span>&amp; m);</div>
 <div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160; </div>
 <div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;        <span class="keyword">template</span>&lt;length_t I, <span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR T&amp; get(qua&lt;T, Q&gt;&amp; q);</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;        GLM_FUNC_DECL constexpr T&amp; get(qua&lt;T, Q&gt;&amp; q);</div>
 <div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;        <span class="keyword">template</span>&lt;length_t I, <span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR T <span class="keyword">const</span>&amp; get(qua&lt;T, Q&gt; <span class="keyword">const</span>&amp; q);</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;        GLM_FUNC_DECL constexpr T <span class="keyword">const</span>&amp; get(qua&lt;T, Q&gt; <span class="keyword">const</span>&amp; q);</div>
 <div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160; </div>
 <div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="preprocessor">#if GLM_HAS_RVALUE_REFERENCES</span></div>
 <div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;        <span class="keyword">template</span>&lt;length_t I, length_t L,<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR T get(vec&lt;L,T, Q&gt; <span class="keyword">const</span>&amp;&amp; v);</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;        GLM_FUNC_DECL constexpr T get(vec&lt;L,T, Q&gt; <span class="keyword">const</span>&amp;&amp; v);</div>
 <div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;        <span class="keyword">template</span>&lt;length_t I,length_t C,length_t R, <span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;R,T,Q&gt; get(mat&lt;C,R,T, Q&gt; <span class="keyword">const</span>&amp;&amp; m);</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;        GLM_FUNC_DECL constexpr vec&lt;R,T,Q&gt; get(mat&lt;C,R,T, Q&gt; <span class="keyword">const</span>&amp;&amp; m);</div>
 <div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;        <span class="keyword">template</span>&lt;length_t I, <span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR T get(qua&lt;T, Q&gt; <span class="keyword">const</span>&amp;&amp; q);</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;        GLM_FUNC_DECL constexpr T get(qua&lt;T, Q&gt; <span class="keyword">const</span>&amp;&amp; q);</div>
 <div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="preprocessor">#endif</span></div>
 <div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;}<span class="comment">//namespace glm</span></div>
 <div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160; </div>

+ 1 - 1
doc/api/a00761_source.html

@@ -114,7 +114,7 @@ $(function() {
 <div class="ttc" id="aa00990_html_gac7b95b3f798e3c293262b2bdaad47c57"><div class="ttname"><a href="a00990.html#gac7b95b3f798e3c293262b2bdaad47c57">glm::areOrthogonal</a></div><div class="ttdeci">GLM_FUNC_DECL bool areOrthogonal(vec&lt; L, T, Q &gt; const &amp;v0, vec&lt; L, T, Q &gt; const &amp;v1, T const &amp;epsilon)</div><div class="ttdoc">Check whether two vectors are orthogonals.</div></div>
 <div class="ttc" id="aa00990_html_ga13da4a787a2ff70e95d561fb19ff91b4"><div class="ttname"><a href="a00990.html#ga13da4a787a2ff70e95d561fb19ff91b4">glm::areCollinear</a></div><div class="ttdeci">GLM_FUNC_DECL bool areCollinear(vec&lt; L, T, Q &gt; const &amp;v0, vec&lt; L, T, Q &gt; const &amp;v1, T const &amp;epsilon)</div><div class="ttdoc">Check whether two vectors are collinears.</div></div>
 <div class="ttc" id="aa00990_html_gaf6ec1688eab7442fe96fe4941d5d4e76"><div class="ttname"><a href="a00990.html#gaf6ec1688eab7442fe96fe4941d5d4e76">glm::isCompNull</a></div><div class="ttdeci">GLM_FUNC_DECL vec&lt; L, bool, Q &gt; isCompNull(vec&lt; L, T, Q &gt; const &amp;v, T const &amp;epsilon)</div><div class="ttdoc">Check whether a each component of a vector is null.</div></div>
-<div class="ttc" id="aa00867_html_ga2a1e57fc5592b69cfae84174cbfc9429"><div class="ttname"><a href="a00867.html#ga2a1e57fc5592b69cfae84174cbfc9429">glm::epsilon</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType epsilon()</div><div class="ttdoc">Return the epsilon constant for floating point types.</div></div>
+<div class="ttc" id="aa00867_html_ga2a1e57fc5592b69cfae84174cbfc9429"><div class="ttname"><a href="a00867.html#ga2a1e57fc5592b69cfae84174cbfc9429">glm::epsilon</a></div><div class="ttdeci">GLM_FUNC_DECL constexpr genType epsilon()</div><div class="ttdoc">Return the epsilon constant for floating point types.</div></div>
 <div class="ttc" id="aa00990_html_gac3c974f459fd75453134fad7ae89a39e"><div class="ttname"><a href="a00990.html#gac3c974f459fd75453134fad7ae89a39e">glm::isNormalized</a></div><div class="ttdeci">GLM_FUNC_DECL bool isNormalized(vec&lt; L, T, Q &gt; const &amp;v, T const &amp;epsilon)</div><div class="ttdoc">Check whether a vector is normalized.</div></div>
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>

+ 2 - 2
doc/api/a00797.html

@@ -117,11 +117,11 @@ Functions</h2></td></tr>
 <tr class="memdesc:ga4e260e372742c5f517aca196cf1e62b3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the hyperbolic cosine function, (exp(x) + exp(-x)) / 2.  <a href="a00995.html#ga4e260e372742c5f517aca196cf1e62b3">More...</a><br /></td></tr>
 <tr class="separator:ga4e260e372742c5f517aca196cf1e62b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga8faec9e303538065911ba8b3caf7326b"><td class="memTemplParams" colspan="2">template&lt;length_t L, typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:ga8faec9e303538065911ba8b3caf7326b"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; L, T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00995.html#ga8faec9e303538065911ba8b3caf7326b">degrees</a> (vec&lt; L, T, Q &gt; const &amp;radians)</td></tr>
+<tr class="memitem:ga8faec9e303538065911ba8b3caf7326b"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr vec&lt; L, T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00995.html#ga8faec9e303538065911ba8b3caf7326b">degrees</a> (vec&lt; L, T, Q &gt; const &amp;radians)</td></tr>
 <tr class="memdesc:ga8faec9e303538065911ba8b3caf7326b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Converts radians to degrees and returns the result.  <a href="a00995.html#ga8faec9e303538065911ba8b3caf7326b">More...</a><br /></td></tr>
 <tr class="separator:ga8faec9e303538065911ba8b3caf7326b"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga6e1db4862c5e25afd553930e2fdd6a68"><td class="memTemplParams" colspan="2">template&lt;length_t L, typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:ga6e1db4862c5e25afd553930e2fdd6a68"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; L, T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00995.html#ga6e1db4862c5e25afd553930e2fdd6a68">radians</a> (vec&lt; L, T, Q &gt; const &amp;degrees)</td></tr>
+<tr class="memitem:ga6e1db4862c5e25afd553930e2fdd6a68"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr vec&lt; L, T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00995.html#ga6e1db4862c5e25afd553930e2fdd6a68">radians</a> (vec&lt; L, T, Q &gt; const &amp;degrees)</td></tr>
 <tr class="memdesc:ga6e1db4862c5e25afd553930e2fdd6a68"><td class="mdescLeft">&#160;</td><td class="mdescRight">Converts degrees to radians and returns the result.  <a href="a00995.html#ga6e1db4862c5e25afd553930e2fdd6a68">More...</a><br /></td></tr>
 <tr class="separator:ga6e1db4862c5e25afd553930e2fdd6a68"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga29747fd108cb7292ae5a284f69691a69"><td class="memTemplParams" colspan="2">template&lt;length_t L, typename T , qualifier Q&gt; </td></tr>

+ 4 - 4
doc/api/a00797_source.html

@@ -80,10 +80,10 @@ $(function() {
 <div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;{</div>
 <div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160; </div>
 <div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;        <span class="keyword">template</span>&lt;length_t L, <span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="a00995.html#ga6e1db4862c5e25afd553930e2fdd6a68">   38</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;L, T, Q&gt; <a class="code" href="a00995.html#ga6e1db4862c5e25afd553930e2fdd6a68">radians</a>(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; <a class="code" href="a00995.html#ga8faec9e303538065911ba8b3caf7326b">degrees</a>);</div>
+<div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="a00995.html#ga6e1db4862c5e25afd553930e2fdd6a68">   38</a></span>&#160;        GLM_FUNC_DECL constexpr vec&lt;L, T, Q&gt; <a class="code" href="a00995.html#ga6e1db4862c5e25afd553930e2fdd6a68">radians</a>(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; <a class="code" href="a00995.html#ga8faec9e303538065911ba8b3caf7326b">degrees</a>);</div>
 <div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160; </div>
 <div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;        <span class="keyword">template</span>&lt;length_t L, <span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="a00995.html#ga8faec9e303538065911ba8b3caf7326b">   49</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;L, T, Q&gt; <a class="code" href="a00995.html#ga8faec9e303538065911ba8b3caf7326b">degrees</a>(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; <a class="code" href="a00995.html#ga6e1db4862c5e25afd553930e2fdd6a68">radians</a>);</div>
+<div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="a00995.html#ga8faec9e303538065911ba8b3caf7326b">   49</a></span>&#160;        GLM_FUNC_DECL constexpr vec&lt;L, T, Q&gt; <a class="code" href="a00995.html#ga8faec9e303538065911ba8b3caf7326b">degrees</a>(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; <a class="code" href="a00995.html#ga6e1db4862c5e25afd553930e2fdd6a68">radians</a>);</div>
 <div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160; </div>
 <div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;        <span class="keyword">template</span>&lt;length_t L, <span class="keyword">typename</span> T, qualifier Q&gt;</div>
 <div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="a00995.html#ga29747fd108cb7292ae5a284f69691a69">   61</a></span>&#160;        GLM_FUNC_DECL vec&lt;L, T, Q&gt; <a class="code" href="a00995.html#ga29747fd108cb7292ae5a284f69691a69">sin</a>(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; <a class="code" href="a00865.html#ga8aa248b31d5ade470c87304df5eb7bd8">angle</a>);</div>
@@ -131,7 +131,7 @@ $(function() {
 <div class="ttc" id="aa00995_html_gac7c39ff21809e281552b4dbe46f4a39d"><div class="ttname"><a href="a00995.html#gac7c39ff21809e281552b4dbe46f4a39d">glm::sinh</a></div><div class="ttdeci">GLM_FUNC_DECL vec&lt; L, T, Q &gt; sinh(vec&lt; L, T, Q &gt; const &amp;angle)</div><div class="ttdoc">Returns the hyperbolic sine function, (exp(x) - exp(-x)) / 2.</div></div>
 <div class="ttc" id="aa00995_html_ga4e260e372742c5f517aca196cf1e62b3"><div class="ttname"><a href="a00995.html#ga4e260e372742c5f517aca196cf1e62b3">glm::cosh</a></div><div class="ttdeci">GLM_FUNC_DECL vec&lt; L, T, Q &gt; cosh(vec&lt; L, T, Q &gt; const &amp;angle)</div><div class="ttdoc">Returns the hyperbolic cosine function, (exp(x) + exp(-x)) / 2.</div></div>
 <div class="ttc" id="aa00995_html_ga6a41efc740e3b3c937447d3a6284130e"><div class="ttname"><a href="a00995.html#ga6a41efc740e3b3c937447d3a6284130e">glm::cos</a></div><div class="ttdeci">GLM_FUNC_DECL vec&lt; L, T, Q &gt; cos(vec&lt; L, T, Q &gt; const &amp;angle)</div><div class="ttdoc">The standard trigonometric cosine function.</div></div>
-<div class="ttc" id="aa00995_html_ga6e1db4862c5e25afd553930e2fdd6a68"><div class="ttname"><a href="a00995.html#ga6e1db4862c5e25afd553930e2fdd6a68">glm::radians</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; L, T, Q &gt; radians(vec&lt; L, T, Q &gt; const &amp;degrees)</div><div class="ttdoc">Converts degrees to radians and returns the result.</div></div>
+<div class="ttc" id="aa00995_html_ga6e1db4862c5e25afd553930e2fdd6a68"><div class="ttname"><a href="a00995.html#ga6e1db4862c5e25afd553930e2fdd6a68">glm::radians</a></div><div class="ttdeci">GLM_FUNC_DECL constexpr vec&lt; L, T, Q &gt; radians(vec&lt; L, T, Q &gt; const &amp;degrees)</div><div class="ttdoc">Converts degrees to radians and returns the result.</div></div>
 <div class="ttc" id="aa00995_html_ga858f35dc66fd2688f20c52b5f25be76a"><div class="ttname"><a href="a00995.html#ga858f35dc66fd2688f20c52b5f25be76a">glm::acosh</a></div><div class="ttdeci">GLM_FUNC_DECL vec&lt; L, T, Q &gt; acosh(vec&lt; L, T, Q &gt; const &amp;x)</div><div class="ttdoc">Arc hyperbolic cosine; returns the non-negative inverse of cosh.</div></div>
 <div class="ttc" id="aa00995_html_ga5229f087eaccbc466f1c609ce3107b95"><div class="ttname"><a href="a00995.html#ga5229f087eaccbc466f1c609ce3107b95">glm::atan</a></div><div class="ttdeci">GLM_FUNC_DECL vec&lt; L, T, Q &gt; atan(vec&lt; L, T, Q &gt; const &amp;y_over_x)</div><div class="ttdoc">Arc tangent.</div></div>
 <div class="ttc" id="aa00865_html_ga8aa248b31d5ade470c87304df5eb7bd8"><div class="ttname"><a href="a00865.html#ga8aa248b31d5ade470c87304df5eb7bd8">glm::angle</a></div><div class="ttdeci">GLM_FUNC_DECL T angle(qua&lt; T, Q &gt; const &amp;x)</div><div class="ttdoc">Returns the quaternion rotation angle.</div></div>
@@ -139,7 +139,7 @@ $(function() {
 <div class="ttc" id="aa00995_html_gaa1bccbfdcbe40ed2ffcddc2aa8bfd0f1"><div class="ttname"><a href="a00995.html#gaa1bccbfdcbe40ed2ffcddc2aa8bfd0f1">glm::tanh</a></div><div class="ttdeci">GLM_FUNC_DECL vec&lt; L, T, Q &gt; tanh(vec&lt; L, T, Q &gt; const &amp;angle)</div><div class="ttdoc">Returns the hyperbolic tangent function, sinh(angle) / cosh(angle)</div></div>
 <div class="ttc" id="aa00995_html_ga29747fd108cb7292ae5a284f69691a69"><div class="ttname"><a href="a00995.html#ga29747fd108cb7292ae5a284f69691a69">glm::sin</a></div><div class="ttdeci">GLM_FUNC_DECL vec&lt; L, T, Q &gt; sin(vec&lt; L, T, Q &gt; const &amp;angle)</div><div class="ttdoc">The standard trigonometric sine function.</div></div>
 <div class="ttc" id="aa00995_html_gabc925650e618357d07da255531658b87"><div class="ttname"><a href="a00995.html#gabc925650e618357d07da255531658b87">glm::atanh</a></div><div class="ttdeci">GLM_FUNC_DECL vec&lt; L, T, Q &gt; atanh(vec&lt; L, T, Q &gt; const &amp;x)</div><div class="ttdoc">Arc hyperbolic tangent; returns the inverse of tanh.</div></div>
-<div class="ttc" id="aa00995_html_ga8faec9e303538065911ba8b3caf7326b"><div class="ttname"><a href="a00995.html#ga8faec9e303538065911ba8b3caf7326b">glm::degrees</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; L, T, Q &gt; degrees(vec&lt; L, T, Q &gt; const &amp;radians)</div><div class="ttdoc">Converts radians to degrees and returns the result.</div></div>
+<div class="ttc" id="aa00995_html_ga8faec9e303538065911ba8b3caf7326b"><div class="ttname"><a href="a00995.html#ga8faec9e303538065911ba8b3caf7326b">glm::degrees</a></div><div class="ttdeci">GLM_FUNC_DECL constexpr vec&lt; L, T, Q &gt; degrees(vec&lt; L, T, Q &gt; const &amp;radians)</div><div class="ttdoc">Converts radians to degrees and returns the result.</div></div>
 <div class="ttc" id="aa00995_html_ga0552d2df4865fa8c3d7cfc3ec2caac73"><div class="ttname"><a href="a00995.html#ga0552d2df4865fa8c3d7cfc3ec2caac73">glm::asin</a></div><div class="ttdeci">GLM_FUNC_DECL vec&lt; L, T, Q &gt; asin(vec&lt; L, T, Q &gt; const &amp;x)</div><div class="ttdoc">Arc sine.</div></div>
 <div class="ttc" id="aa00995_html_gacc9b092df8257c68f19c9053703e2563"><div class="ttname"><a href="a00995.html#gacc9b092df8257c68f19c9053703e2563">glm::acos</a></div><div class="ttdeci">GLM_FUNC_DECL vec&lt; L, T, Q &gt; acos(vec&lt; L, T, Q &gt; const &amp;x)</div><div class="ttdoc">Arc cosine.</div></div>
 <div class="ttc" id="aa00995_html_ga293a34cfb9f0115cc606b4a97c84f11f"><div class="ttname"><a href="a00995.html#ga293a34cfb9f0115cc606b4a97c84f11f">glm::tan</a></div><div class="ttdeci">GLM_FUNC_DECL vec&lt; L, T, Q &gt; tan(vec&lt; L, T, Q &gt; const &amp;angle)</div><div class="ttdoc">The standard trigonometric tangent function.</div></div>

+ 28 - 28
doc/api/a00812.html

@@ -72,11 +72,11 @@ $(function() {
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
 Functions</h2></td></tr>
 <tr class="memitem:ga439e60a72eadecfeda2df5449c613a64"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
-<tr class="memitem:ga439e60a72eadecfeda2df5449c613a64"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00812.html#ga439e60a72eadecfeda2df5449c613a64">abs</a> (genType x)</td></tr>
+<tr class="memitem:ga439e60a72eadecfeda2df5449c613a64"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00812.html#ga439e60a72eadecfeda2df5449c613a64">abs</a> (genType x)</td></tr>
 <tr class="memdesc:ga439e60a72eadecfeda2df5449c613a64"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns x if x &gt;= 0; otherwise, it returns -x.  <a href="a00812.html#ga439e60a72eadecfeda2df5449c613a64">More...</a><br /></td></tr>
 <tr class="separator:ga439e60a72eadecfeda2df5449c613a64"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga81d3abddd0ef0c8de579bc541ecadab6"><td class="memTemplParams" colspan="2">template&lt;length_t L, typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:ga81d3abddd0ef0c8de579bc541ecadab6"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; L, T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00812.html#ga81d3abddd0ef0c8de579bc541ecadab6">abs</a> (vec&lt; L, T, Q &gt; const &amp;x)</td></tr>
+<tr class="memitem:ga81d3abddd0ef0c8de579bc541ecadab6"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr vec&lt; L, T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00812.html#ga81d3abddd0ef0c8de579bc541ecadab6">abs</a> (vec&lt; L, T, Q &gt; const &amp;x)</td></tr>
 <tr class="memdesc:ga81d3abddd0ef0c8de579bc541ecadab6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns x if x &gt;= 0; otherwise, it returns -x.  <a href="a00812.html#ga81d3abddd0ef0c8de579bc541ecadab6">More...</a><br /></td></tr>
 <tr class="separator:ga81d3abddd0ef0c8de579bc541ecadab6"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gafb9d2a645a23aca12d4d6de0104b7657"><td class="memTemplParams" colspan="2">template&lt;length_t L, typename T , qualifier Q&gt; </td></tr>
@@ -84,15 +84,15 @@ Functions</h2></td></tr>
 <tr class="memdesc:gafb9d2a645a23aca12d4d6de0104b7657"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a value equal to the nearest integer that is greater than or equal to x.  <a href="a00812.html#gafb9d2a645a23aca12d4d6de0104b7657">More...</a><br /></td></tr>
 <tr class="separator:gafb9d2a645a23aca12d4d6de0104b7657"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga7cd77683da6361e297c56443fc70806d"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
-<tr class="memitem:ga7cd77683da6361e297c56443fc70806d"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00812.html#ga7cd77683da6361e297c56443fc70806d">clamp</a> (genType x, genType minVal, genType maxVal)</td></tr>
+<tr class="memitem:ga7cd77683da6361e297c56443fc70806d"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00812.html#ga7cd77683da6361e297c56443fc70806d">clamp</a> (genType x, genType minVal, genType maxVal)</td></tr>
 <tr class="memdesc:ga7cd77683da6361e297c56443fc70806d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns min(max(x, minVal), maxVal) for each component in x using the floating-point values minVal and maxVal.  <a href="a00812.html#ga7cd77683da6361e297c56443fc70806d">More...</a><br /></td></tr>
 <tr class="separator:ga7cd77683da6361e297c56443fc70806d"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gafba2e0674deb5953878d89483cd6323d"><td class="memTemplParams" colspan="2">template&lt;length_t L, typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:gafba2e0674deb5953878d89483cd6323d"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; L, T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00812.html#gafba2e0674deb5953878d89483cd6323d">clamp</a> (vec&lt; L, T, Q &gt; const &amp;x, T minVal, T maxVal)</td></tr>
+<tr class="memitem:gafba2e0674deb5953878d89483cd6323d"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr vec&lt; L, T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00812.html#gafba2e0674deb5953878d89483cd6323d">clamp</a> (vec&lt; L, T, Q &gt; const &amp;x, T minVal, T maxVal)</td></tr>
 <tr class="memdesc:gafba2e0674deb5953878d89483cd6323d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns min(max(x, minVal), maxVal) for each component in x using the floating-point values minVal and maxVal.  <a href="a00812.html#gafba2e0674deb5953878d89483cd6323d">More...</a><br /></td></tr>
 <tr class="separator:gafba2e0674deb5953878d89483cd6323d"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gaa0f2f12e9108b09e22a3f0b2008a0b5d"><td class="memTemplParams" colspan="2">template&lt;length_t L, typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:gaa0f2f12e9108b09e22a3f0b2008a0b5d"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; L, T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00812.html#gaa0f2f12e9108b09e22a3f0b2008a0b5d">clamp</a> (vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;minVal, vec&lt; L, T, Q &gt; const &amp;maxVal)</td></tr>
+<tr class="memitem:gaa0f2f12e9108b09e22a3f0b2008a0b5d"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr vec&lt; L, T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00812.html#gaa0f2f12e9108b09e22a3f0b2008a0b5d">clamp</a> (vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;minVal, vec&lt; L, T, Q &gt; const &amp;maxVal)</td></tr>
 <tr class="memdesc:gaa0f2f12e9108b09e22a3f0b2008a0b5d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns min(max(x, minVal), maxVal) for each component in x using the floating-point values minVal and maxVal.  <a href="a00812.html#gaa0f2f12e9108b09e22a3f0b2008a0b5d">More...</a><br /></td></tr>
 <tr class="separator:gaa0f2f12e9108b09e22a3f0b2008a0b5d"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga8a23e454d8ae48b8f6dfdaea4b756072"><td class="memItemLeft" align="right" valign="top">GLM_FUNC_DECL int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00812.html#ga8a23e454d8ae48b8f6dfdaea4b756072">floatBitsToInt</a> (float v)</td></tr>
@@ -149,31 +149,31 @@ Functions</h2></td></tr>
 <tr class="memdesc:gac3010e0a0c35a1b514540f2fb579c58c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Builds a floating-point number from x and the corresponding integral exponent of two in exp, returning: significand * exp(2, exponent)  <a href="a00812.html#gac3010e0a0c35a1b514540f2fb579c58c">More...</a><br /></td></tr>
 <tr class="separator:gac3010e0a0c35a1b514540f2fb579c58c"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gae02d42887fc5570451f880e3c624b9ac"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
-<tr class="memitem:gae02d42887fc5570451f880e3c624b9ac"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00812.html#gae02d42887fc5570451f880e3c624b9ac">max</a> (genType x, genType y)</td></tr>
+<tr class="memitem:gae02d42887fc5570451f880e3c624b9ac"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00812.html#gae02d42887fc5570451f880e3c624b9ac">max</a> (genType x, genType y)</td></tr>
 <tr class="memdesc:gae02d42887fc5570451f880e3c624b9ac"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns y if x &lt; y; otherwise, it returns x.  <a href="a00812.html#gae02d42887fc5570451f880e3c624b9ac">More...</a><br /></td></tr>
 <tr class="separator:gae02d42887fc5570451f880e3c624b9ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga03e45d6e60d1c36edb00c52edeea0f31"><td class="memTemplParams" colspan="2">template&lt;length_t L, typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:ga03e45d6e60d1c36edb00c52edeea0f31"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; L, T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00812.html#ga03e45d6e60d1c36edb00c52edeea0f31">max</a> (vec&lt; L, T, Q &gt; const &amp;x, T y)</td></tr>
+<tr class="memitem:ga03e45d6e60d1c36edb00c52edeea0f31"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr vec&lt; L, T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00812.html#ga03e45d6e60d1c36edb00c52edeea0f31">max</a> (vec&lt; L, T, Q &gt; const &amp;x, T y)</td></tr>
 <tr class="memdesc:ga03e45d6e60d1c36edb00c52edeea0f31"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns y if x &lt; y; otherwise, it returns x.  <a href="a00812.html#ga03e45d6e60d1c36edb00c52edeea0f31">More...</a><br /></td></tr>
 <tr class="separator:ga03e45d6e60d1c36edb00c52edeea0f31"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gac1fec0c3303b572a6d4697a637213870"><td class="memTemplParams" colspan="2">template&lt;length_t L, typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:gac1fec0c3303b572a6d4697a637213870"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; L, T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00812.html#gac1fec0c3303b572a6d4697a637213870">max</a> (vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y)</td></tr>
+<tr class="memitem:gac1fec0c3303b572a6d4697a637213870"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr vec&lt; L, T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00812.html#gac1fec0c3303b572a6d4697a637213870">max</a> (vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y)</td></tr>
 <tr class="memdesc:gac1fec0c3303b572a6d4697a637213870"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns y if x &lt; y; otherwise, it returns x.  <a href="a00812.html#gac1fec0c3303b572a6d4697a637213870">More...</a><br /></td></tr>
 <tr class="separator:gac1fec0c3303b572a6d4697a637213870"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga6cf8098827054a270ee36b18e30d471d"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
-<tr class="memitem:ga6cf8098827054a270ee36b18e30d471d"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00812.html#ga6cf8098827054a270ee36b18e30d471d">min</a> (genType x, genType y)</td></tr>
+<tr class="memitem:ga6cf8098827054a270ee36b18e30d471d"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00812.html#ga6cf8098827054a270ee36b18e30d471d">min</a> (genType x, genType y)</td></tr>
 <tr class="memdesc:ga6cf8098827054a270ee36b18e30d471d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns y if y &lt; x; otherwise, it returns x.  <a href="a00812.html#ga6cf8098827054a270ee36b18e30d471d">More...</a><br /></td></tr>
 <tr class="separator:ga6cf8098827054a270ee36b18e30d471d"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gaa7d015eba1f9f48519251f4abe69b14d"><td class="memTemplParams" colspan="2">template&lt;length_t L, typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:gaa7d015eba1f9f48519251f4abe69b14d"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; L, T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00812.html#gaa7d015eba1f9f48519251f4abe69b14d">min</a> (vec&lt; L, T, Q &gt; const &amp;x, T y)</td></tr>
+<tr class="memitem:gaa7d015eba1f9f48519251f4abe69b14d"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr vec&lt; L, T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00812.html#gaa7d015eba1f9f48519251f4abe69b14d">min</a> (vec&lt; L, T, Q &gt; const &amp;x, T y)</td></tr>
 <tr class="memdesc:gaa7d015eba1f9f48519251f4abe69b14d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns y if y &lt; x; otherwise, it returns x.  <a href="a00812.html#gaa7d015eba1f9f48519251f4abe69b14d">More...</a><br /></td></tr>
 <tr class="separator:gaa7d015eba1f9f48519251f4abe69b14d"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga31f49ef9e7d1beb003160c5e009b0c48"><td class="memTemplParams" colspan="2">template&lt;length_t L, typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:ga31f49ef9e7d1beb003160c5e009b0c48"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; L, T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00812.html#ga31f49ef9e7d1beb003160c5e009b0c48">min</a> (vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y)</td></tr>
+<tr class="memitem:ga31f49ef9e7d1beb003160c5e009b0c48"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr vec&lt; L, T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00812.html#ga31f49ef9e7d1beb003160c5e009b0c48">min</a> (vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y)</td></tr>
 <tr class="memdesc:ga31f49ef9e7d1beb003160c5e009b0c48"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns y if y &lt; x; otherwise, it returns x.  <a href="a00812.html#ga31f49ef9e7d1beb003160c5e009b0c48">More...</a><br /></td></tr>
 <tr class="separator:ga31f49ef9e7d1beb003160c5e009b0c48"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga6b6e0c7ecb4a5b78f929566355bb7416"><td class="memTemplParams" colspan="2">template&lt;typename genTypeT , typename genTypeU &gt; </td></tr>
-<tr class="memitem:ga6b6e0c7ecb4a5b78f929566355bb7416"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genTypeT&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00812.html#ga6b6e0c7ecb4a5b78f929566355bb7416">mix</a> (genTypeT x, genTypeT y, genTypeU a)</td></tr>
+<tr class="memitem:ga6b6e0c7ecb4a5b78f929566355bb7416"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr genTypeT&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00812.html#ga6b6e0c7ecb4a5b78f929566355bb7416">mix</a> (genTypeT x, genTypeT y, genTypeU a)</td></tr>
 <tr class="memdesc:ga6b6e0c7ecb4a5b78f929566355bb7416"><td class="mdescLeft">&#160;</td><td class="mdescRight">If genTypeU is a floating scalar or vector: Returns x * (1.0 - a) + y * a, i.e., the linear blend of x and y using the floating-point value a.  <a href="a00812.html#ga6b6e0c7ecb4a5b78f929566355bb7416">More...</a><br /></td></tr>
 <tr class="separator:ga6b6e0c7ecb4a5b78f929566355bb7416"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga9b197a452cd52db3c5c18bac72bd7798"><td class="memTemplParams" colspan="2">template&lt;length_t L, typename T , qualifier Q&gt; </td></tr>
@@ -193,7 +193,7 @@ Functions</h2></td></tr>
 <tr class="memdesc:ga76b81785045a057989a84d99aeeb1578"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a value equal to the nearest integer to x.  <a href="a00812.html#ga76b81785045a057989a84d99aeeb1578">More...</a><br /></td></tr>
 <tr class="separator:ga76b81785045a057989a84d99aeeb1578"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga589807f35ad0a1d173762bfac3288929"><td class="memTemplParams" colspan="2">template&lt;length_t L, typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:ga589807f35ad0a1d173762bfac3288929"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; L, T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00812.html#ga589807f35ad0a1d173762bfac3288929">sign</a> (vec&lt; L, T, Q &gt; const &amp;x)</td></tr>
+<tr class="memitem:ga589807f35ad0a1d173762bfac3288929"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr vec&lt; L, T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00812.html#ga589807f35ad0a1d173762bfac3288929">sign</a> (vec&lt; L, T, Q &gt; const &amp;x)</td></tr>
 <tr class="memdesc:ga589807f35ad0a1d173762bfac3288929"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns 1.0 if x &gt; 0, 0.0 if x == 0, or -1.0 if x &lt; 0.  <a href="a00812.html#ga589807f35ad0a1d173762bfac3288929">More...</a><br /></td></tr>
 <tr class="separator:ga589807f35ad0a1d173762bfac3288929"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga562edf7eca082cc5b7a0aaf180436daf"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
@@ -236,7 +236,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR genType glm::abs </td>
+          <td class="memname">GLM_FUNC_DECL constexpr genType glm::abs </td>
           <td>(</td>
           <td class="paramtype">genType&#160;</td>
           <td class="paramname"><em>x</em></td><td>)</td>
@@ -265,7 +265,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;L, T, Q&gt; glm::abs </td>
+          <td class="memname">GLM_FUNC_DECL constexpr vec&lt;L, T, Q&gt; glm::abs </td>
           <td>(</td>
           <td class="paramtype">vec&lt; L, T, Q &gt; const &amp;&#160;</td>
           <td class="paramname"><em>x</em></td><td>)</td>
@@ -327,7 +327,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR genType glm::clamp </td>
+          <td class="memname">GLM_FUNC_DECL constexpr genType glm::clamp </td>
           <td>(</td>
           <td class="paramtype">genType&#160;</td>
           <td class="paramname"><em>x</em>, </td>
@@ -374,7 +374,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;L, T, Q&gt; glm::clamp </td>
+          <td class="memname">GLM_FUNC_DECL constexpr vec&lt;L, T, Q&gt; glm::clamp </td>
           <td>(</td>
           <td class="paramtype">vec&lt; L, T, Q &gt; const &amp;&#160;</td>
           <td class="paramname"><em>x</em>, </td>
@@ -421,7 +421,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;L, T, Q&gt; glm::clamp </td>
+          <td class="memname">GLM_FUNC_DECL constexpr vec&lt;L, T, Q&gt; glm::clamp </td>
           <td>(</td>
           <td class="paramtype">vec&lt; L, T, Q &gt; const &amp;&#160;</td>
           <td class="paramname"><em>x</em>, </td>
@@ -914,7 +914,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR genType glm::max </td>
+          <td class="memname">GLM_FUNC_DECL constexpr genType glm::max </td>
           <td>(</td>
           <td class="paramtype">genType&#160;</td>
           <td class="paramname"><em>x</em>, </td>
@@ -953,7 +953,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;L, T, Q&gt; glm::max </td>
+          <td class="memname">GLM_FUNC_DECL constexpr vec&lt;L, T, Q&gt; glm::max </td>
           <td>(</td>
           <td class="paramtype">vec&lt; L, T, Q &gt; const &amp;&#160;</td>
           <td class="paramname"><em>x</em>, </td>
@@ -994,7 +994,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;L, T, Q&gt; glm::max </td>
+          <td class="memname">GLM_FUNC_DECL constexpr vec&lt;L, T, Q&gt; glm::max </td>
           <td>(</td>
           <td class="paramtype">vec&lt; L, T, Q &gt; const &amp;&#160;</td>
           <td class="paramname"><em>x</em>, </td>
@@ -1035,7 +1035,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR genType glm::min </td>
+          <td class="memname">GLM_FUNC_DECL constexpr genType glm::min </td>
           <td>(</td>
           <td class="paramtype">genType&#160;</td>
           <td class="paramname"><em>x</em>, </td>
@@ -1074,7 +1074,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;L, T, Q&gt; glm::min </td>
+          <td class="memname">GLM_FUNC_DECL constexpr vec&lt;L, T, Q&gt; glm::min </td>
           <td>(</td>
           <td class="paramtype">vec&lt; L, T, Q &gt; const &amp;&#160;</td>
           <td class="paramname"><em>x</em>, </td>
@@ -1115,7 +1115,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;L, T, Q&gt; glm::min </td>
+          <td class="memname">GLM_FUNC_DECL constexpr vec&lt;L, T, Q&gt; glm::min </td>
           <td>(</td>
           <td class="paramtype">vec&lt; L, T, Q &gt; const &amp;&#160;</td>
           <td class="paramname"><em>x</em>, </td>
@@ -1156,7 +1156,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR genTypeT glm::mix </td>
+          <td class="memname">GLM_FUNC_DECL constexpr genTypeT glm::mix </td>
           <td>(</td>
           <td class="paramtype">genTypeT&#160;</td>
           <td class="paramname"><em>x</em>, </td>
@@ -1375,7 +1375,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;L, T, Q&gt; glm::sign </td>
+          <td class="memname">GLM_FUNC_DECL constexpr vec&lt;L, T, Q&gt; glm::sign </td>
           <td>(</td>
           <td class="paramtype">vec&lt; L, T, Q &gt; const &amp;&#160;</td>
           <td class="paramname"><em>x</em></td><td>)</td>
@@ -1647,8 +1647,8 @@ Functions</h2></td></tr>
 </div>
 </div>
 </div><!-- contents -->
-<div class="ttc" id="aa00908_html_ga4b7956eb6e2fbedfc7cf2e46e85c5139"><div class="ttname"><a href="a00908.html#ga4b7956eb6e2fbedfc7cf2e46e85c5139">glm::e</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType e()</div><div class="ttdoc">Return e constant.</div></div>
-<div class="ttc" id="aa00812_html_ga6b6e0c7ecb4a5b78f929566355bb7416"><div class="ttname"><a href="a00812.html#ga6b6e0c7ecb4a5b78f929566355bb7416">glm::mix</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genTypeT mix(genTypeT x, genTypeT y, genTypeU a)</div><div class="ttdoc">If genTypeU is a floating scalar or vector: Returns x * (1.0 - a) + y * a, i.e., the linear blend of ...</div></div>
+<div class="ttc" id="aa00908_html_ga4b7956eb6e2fbedfc7cf2e46e85c5139"><div class="ttname"><a href="a00908.html#ga4b7956eb6e2fbedfc7cf2e46e85c5139">glm::e</a></div><div class="ttdeci">GLM_FUNC_DECL constexpr genType e()</div><div class="ttdoc">Return e constant.</div></div>
+<div class="ttc" id="aa00812_html_ga6b6e0c7ecb4a5b78f929566355bb7416"><div class="ttname"><a href="a00812.html#ga6b6e0c7ecb4a5b78f929566355bb7416">glm::mix</a></div><div class="ttdeci">GLM_FUNC_DECL constexpr genTypeT mix(genTypeT x, genTypeT y, genTypeU a)</div><div class="ttdoc">If genTypeU is a floating scalar or vector: Returns x * (1.0 - a) + y * a, i.e., the linear blend of ...</div></div>
 <div class="ttc" id="aa00899_html_gac215a35481a6597d1bf622a382e9d6e2"><div class="ttname"><a href="a00899.html#gac215a35481a6597d1bf622a382e9d6e2">glm::vec4</a></div><div class="ttdeci">vec&lt; 4, float, defaultp &gt; vec4</div><div class="ttdoc">4 components vector of single-precision floating-point numbers.</div><div class="ttdef"><b>Definition:</b> <a href="a00452_source.html#l00015">vector_float4.hpp:15</a></div></div>
 <div class="ttc" id="aa00899_html_ga5b83ae3d0fdec519c038e4d2cf967cf0"><div class="ttname"><a href="a00899.html#ga5b83ae3d0fdec519c038e4d2cf967cf0">glm::dvec3</a></div><div class="ttdeci">vec&lt; 3, double, defaultp &gt; dvec3</div><div class="ttdoc">3 components vector of double-precision floating-point numbers.</div><div class="ttdef"><b>Definition:</b> <a href="a00422_source.html#l00015">vector_double3.hpp:15</a></div></div>
 <!-- start footer part -->

+ 20 - 20
doc/api/a00836.html

@@ -72,43 +72,43 @@ $(function() {
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
 Functions</h2></td></tr>
 <tr class="memitem:ga27e90dcb7941c9b70e295dc3f6f6369f"><td class="memTemplParams" colspan="2">template&lt;length_t C, length_t R, typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:ga27e90dcb7941c9b70e295dc3f6f6369f"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; C, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00836.html#ga27e90dcb7941c9b70e295dc3f6f6369f">equal</a> (mat&lt; C, R, T, Q &gt; const &amp;x, mat&lt; C, R, T, Q &gt; const &amp;y)</td></tr>
+<tr class="memitem:ga27e90dcb7941c9b70e295dc3f6f6369f"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr vec&lt; C, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00836.html#ga27e90dcb7941c9b70e295dc3f6f6369f">equal</a> (mat&lt; C, R, T, Q &gt; const &amp;x, mat&lt; C, R, T, Q &gt; const &amp;y)</td></tr>
 <tr class="memdesc:ga27e90dcb7941c9b70e295dc3f6f6369f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Perform a component-wise equal-to comparison of two matrices.  <a href="a00836.html#ga27e90dcb7941c9b70e295dc3f6f6369f">More...</a><br /></td></tr>
 <tr class="separator:ga27e90dcb7941c9b70e295dc3f6f6369f"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gab3a93f19e72e9141f50527c9de21d0c0"><td class="memTemplParams" colspan="2">template&lt;length_t C, length_t R, typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:gab3a93f19e72e9141f50527c9de21d0c0"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; C, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00836.html#gab3a93f19e72e9141f50527c9de21d0c0">equal</a> (mat&lt; C, R, T, Q &gt; const &amp;x, mat&lt; C, R, T, Q &gt; const &amp;y, int ULPs)</td></tr>
+<tr class="memitem:gab3a93f19e72e9141f50527c9de21d0c0"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr vec&lt; C, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00836.html#gab3a93f19e72e9141f50527c9de21d0c0">equal</a> (mat&lt; C, R, T, Q &gt; const &amp;x, mat&lt; C, R, T, Q &gt; const &amp;y, int ULPs)</td></tr>
 <tr class="memdesc:gab3a93f19e72e9141f50527c9de21d0c0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the component-wise comparison between two vectors in term of ULPs.  <a href="a00836.html#gab3a93f19e72e9141f50527c9de21d0c0">More...</a><br /></td></tr>
 <tr class="separator:gab3a93f19e72e9141f50527c9de21d0c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gaf5d687d70d11708b68c36c6db5777040"><td class="memTemplParams" colspan="2">template&lt;length_t C, length_t R, typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:gaf5d687d70d11708b68c36c6db5777040"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; C, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00836.html#gaf5d687d70d11708b68c36c6db5777040">equal</a> (mat&lt; C, R, T, Q &gt; const &amp;x, mat&lt; C, R, T, Q &gt; const &amp;y, T epsilon)</td></tr>
+<tr class="memitem:gaf5d687d70d11708b68c36c6db5777040"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr vec&lt; C, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00836.html#gaf5d687d70d11708b68c36c6db5777040">equal</a> (mat&lt; C, R, T, Q &gt; const &amp;x, mat&lt; C, R, T, Q &gt; const &amp;y, T epsilon)</td></tr>
 <tr class="memdesc:gaf5d687d70d11708b68c36c6db5777040"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the component-wise comparison of |x - y| &lt; epsilon.  <a href="a00836.html#gaf5d687d70d11708b68c36c6db5777040">More...</a><br /></td></tr>
 <tr class="separator:gaf5d687d70d11708b68c36c6db5777040"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga5305af376173f1902719fa309bbae671"><td class="memTemplParams" colspan="2">template&lt;length_t C, length_t R, typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:ga5305af376173f1902719fa309bbae671"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; C, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00836.html#ga5305af376173f1902719fa309bbae671">equal</a> (mat&lt; C, R, T, Q &gt; const &amp;x, mat&lt; C, R, T, Q &gt; const &amp;y, vec&lt; C, int, Q &gt; const &amp;ULPs)</td></tr>
+<tr class="memitem:ga5305af376173f1902719fa309bbae671"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr vec&lt; C, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00836.html#ga5305af376173f1902719fa309bbae671">equal</a> (mat&lt; C, R, T, Q &gt; const &amp;x, mat&lt; C, R, T, Q &gt; const &amp;y, vec&lt; C, int, Q &gt; const &amp;ULPs)</td></tr>
 <tr class="memdesc:ga5305af376173f1902719fa309bbae671"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the component-wise comparison between two vectors in term of ULPs.  <a href="a00836.html#ga5305af376173f1902719fa309bbae671">More...</a><br /></td></tr>
 <tr class="separator:ga5305af376173f1902719fa309bbae671"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gafa6a053e81179fa4292b35651c83c3fb"><td class="memTemplParams" colspan="2">template&lt;length_t C, length_t R, typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:gafa6a053e81179fa4292b35651c83c3fb"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; C, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00836.html#gafa6a053e81179fa4292b35651c83c3fb">equal</a> (mat&lt; C, R, T, Q &gt; const &amp;x, mat&lt; C, R, T, Q &gt; const &amp;y, vec&lt; C, T, Q &gt; const &amp;epsilon)</td></tr>
+<tr class="memitem:gafa6a053e81179fa4292b35651c83c3fb"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr vec&lt; C, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00836.html#gafa6a053e81179fa4292b35651c83c3fb">equal</a> (mat&lt; C, R, T, Q &gt; const &amp;x, mat&lt; C, R, T, Q &gt; const &amp;y, vec&lt; C, T, Q &gt; const &amp;epsilon)</td></tr>
 <tr class="memdesc:gafa6a053e81179fa4292b35651c83c3fb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the component-wise comparison of |x - y| &lt; epsilon.  <a href="a00836.html#gafa6a053e81179fa4292b35651c83c3fb">More...</a><br /></td></tr>
 <tr class="separator:gafa6a053e81179fa4292b35651c83c3fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga8504f18a7e2bf315393032c2137dad83"><td class="memTemplParams" colspan="2">template&lt;length_t C, length_t R, typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:ga8504f18a7e2bf315393032c2137dad83"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; C, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00836.html#ga8504f18a7e2bf315393032c2137dad83">notEqual</a> (mat&lt; C, R, T, Q &gt; const &amp;x, mat&lt; C, R, T, Q &gt; const &amp;y)</td></tr>
+<tr class="memitem:ga8504f18a7e2bf315393032c2137dad83"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr vec&lt; C, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00836.html#ga8504f18a7e2bf315393032c2137dad83">notEqual</a> (mat&lt; C, R, T, Q &gt; const &amp;x, mat&lt; C, R, T, Q &gt; const &amp;y)</td></tr>
 <tr class="memdesc:ga8504f18a7e2bf315393032c2137dad83"><td class="mdescLeft">&#160;</td><td class="mdescRight">Perform a component-wise not-equal-to comparison of two matrices.  <a href="a00836.html#ga8504f18a7e2bf315393032c2137dad83">More...</a><br /></td></tr>
 <tr class="separator:ga8504f18a7e2bf315393032c2137dad83"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gaa1cd7fc228ef6e26c73583fd0d9c6552"><td class="memTemplParams" colspan="2">template&lt;length_t C, length_t R, typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:gaa1cd7fc228ef6e26c73583fd0d9c6552"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; C, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00836.html#gaa1cd7fc228ef6e26c73583fd0d9c6552">notEqual</a> (mat&lt; C, R, T, Q &gt; const &amp;x, mat&lt; C, R, T, Q &gt; const &amp;y, int ULPs)</td></tr>
+<tr class="memitem:gaa1cd7fc228ef6e26c73583fd0d9c6552"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr vec&lt; C, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00836.html#gaa1cd7fc228ef6e26c73583fd0d9c6552">notEqual</a> (mat&lt; C, R, T, Q &gt; const &amp;x, mat&lt; C, R, T, Q &gt; const &amp;y, int ULPs)</td></tr>
 <tr class="memdesc:gaa1cd7fc228ef6e26c73583fd0d9c6552"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the component-wise comparison between two vectors in term of ULPs.  <a href="a00836.html#gaa1cd7fc228ef6e26c73583fd0d9c6552">More...</a><br /></td></tr>
 <tr class="separator:gaa1cd7fc228ef6e26c73583fd0d9c6552"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga29071147d118569344d10944b7d5c378"><td class="memTemplParams" colspan="2">template&lt;length_t C, length_t R, typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:ga29071147d118569344d10944b7d5c378"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; C, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00836.html#ga29071147d118569344d10944b7d5c378">notEqual</a> (mat&lt; C, R, T, Q &gt; const &amp;x, mat&lt; C, R, T, Q &gt; const &amp;y, T epsilon)</td></tr>
+<tr class="memitem:ga29071147d118569344d10944b7d5c378"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr vec&lt; C, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00836.html#ga29071147d118569344d10944b7d5c378">notEqual</a> (mat&lt; C, R, T, Q &gt; const &amp;x, mat&lt; C, R, T, Q &gt; const &amp;y, T epsilon)</td></tr>
 <tr class="memdesc:ga29071147d118569344d10944b7d5c378"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the component-wise comparison of |x - y| &lt; epsilon.  <a href="a00836.html#ga29071147d118569344d10944b7d5c378">More...</a><br /></td></tr>
 <tr class="separator:ga29071147d118569344d10944b7d5c378"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gaa5517341754149ffba742d230afd1f32"><td class="memTemplParams" colspan="2">template&lt;length_t C, length_t R, typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:gaa5517341754149ffba742d230afd1f32"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; C, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00836.html#gaa5517341754149ffba742d230afd1f32">notEqual</a> (mat&lt; C, R, T, Q &gt; const &amp;x, mat&lt; C, R, T, Q &gt; const &amp;y, vec&lt; C, int, Q &gt; const &amp;ULPs)</td></tr>
+<tr class="memitem:gaa5517341754149ffba742d230afd1f32"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr vec&lt; C, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00836.html#gaa5517341754149ffba742d230afd1f32">notEqual</a> (mat&lt; C, R, T, Q &gt; const &amp;x, mat&lt; C, R, T, Q &gt; const &amp;y, vec&lt; C, int, Q &gt; const &amp;ULPs)</td></tr>
 <tr class="memdesc:gaa5517341754149ffba742d230afd1f32"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the component-wise comparison between two vectors in term of ULPs.  <a href="a00836.html#gaa5517341754149ffba742d230afd1f32">More...</a><br /></td></tr>
 <tr class="separator:gaa5517341754149ffba742d230afd1f32"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gad7959e14fbc35b4ed2617daf4d67f6cd"><td class="memTemplParams" colspan="2">template&lt;length_t C, length_t R, typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:gad7959e14fbc35b4ed2617daf4d67f6cd"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; C, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00836.html#gad7959e14fbc35b4ed2617daf4d67f6cd">notEqual</a> (mat&lt; C, R, T, Q &gt; const &amp;x, mat&lt; C, R, T, Q &gt; const &amp;y, vec&lt; C, T, Q &gt; const &amp;epsilon)</td></tr>
+<tr class="memitem:gad7959e14fbc35b4ed2617daf4d67f6cd"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr vec&lt; C, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00836.html#gad7959e14fbc35b4ed2617daf4d67f6cd">notEqual</a> (mat&lt; C, R, T, Q &gt; const &amp;x, mat&lt; C, R, T, Q &gt; const &amp;y, vec&lt; C, T, Q &gt; const &amp;epsilon)</td></tr>
 <tr class="memdesc:gad7959e14fbc35b4ed2617daf4d67f6cd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the component-wise comparison of |x - y| &gt;= epsilon.  <a href="a00836.html#gad7959e14fbc35b4ed2617daf4d67f6cd">More...</a><br /></td></tr>
 <tr class="separator:gad7959e14fbc35b4ed2617daf4d67f6cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>
@@ -128,7 +128,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;C, bool, Q&gt; glm::equal </td>
+          <td class="memname">GLM_FUNC_DECL constexpr vec&lt;C, bool, Q&gt; glm::equal </td>
           <td>(</td>
           <td class="paramtype">mat&lt; C, R, T, Q &gt; const &amp;&#160;</td>
           <td class="paramname"><em>x</em>, </td>
@@ -168,7 +168,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;C, bool, Q&gt; glm::equal </td>
+          <td class="memname">GLM_FUNC_DECL constexpr vec&lt;C, bool, Q&gt; glm::equal </td>
           <td>(</td>
           <td class="paramtype">mat&lt; C, R, T, Q &gt; const &amp;&#160;</td>
           <td class="paramname"><em>x</em>, </td>
@@ -214,7 +214,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;C, bool, Q&gt; glm::equal </td>
+          <td class="memname">GLM_FUNC_DECL constexpr vec&lt;C, bool, Q&gt; glm::equal </td>
           <td>(</td>
           <td class="paramtype">mat&lt; C, R, T, Q &gt; const &amp;&#160;</td>
           <td class="paramname"><em>x</em>, </td>
@@ -260,7 +260,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;C, bool, Q&gt; glm::equal </td>
+          <td class="memname">GLM_FUNC_DECL constexpr vec&lt;C, bool, Q&gt; glm::equal </td>
           <td>(</td>
           <td class="paramtype">mat&lt; C, R, T, Q &gt; const &amp;&#160;</td>
           <td class="paramname"><em>x</em>, </td>
@@ -306,7 +306,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;C, bool, Q&gt; glm::equal </td>
+          <td class="memname">GLM_FUNC_DECL constexpr vec&lt;C, bool, Q&gt; glm::equal </td>
           <td>(</td>
           <td class="paramtype">mat&lt; C, R, T, Q &gt; const &amp;&#160;</td>
           <td class="paramname"><em>x</em>, </td>
@@ -352,7 +352,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;C, bool, Q&gt; glm::notEqual </td>
+          <td class="memname">GLM_FUNC_DECL constexpr vec&lt;C, bool, Q&gt; glm::notEqual </td>
           <td>(</td>
           <td class="paramtype">mat&lt; C, R, T, Q &gt; const &amp;&#160;</td>
           <td class="paramname"><em>x</em>, </td>
@@ -392,7 +392,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;C, bool, Q&gt; glm::notEqual </td>
+          <td class="memname">GLM_FUNC_DECL constexpr vec&lt;C, bool, Q&gt; glm::notEqual </td>
           <td>(</td>
           <td class="paramtype">mat&lt; C, R, T, Q &gt; const &amp;&#160;</td>
           <td class="paramname"><em>x</em>, </td>
@@ -438,7 +438,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;C, bool, Q&gt; glm::notEqual </td>
+          <td class="memname">GLM_FUNC_DECL constexpr vec&lt;C, bool, Q&gt; glm::notEqual </td>
           <td>(</td>
           <td class="paramtype">mat&lt; C, R, T, Q &gt; const &amp;&#160;</td>
           <td class="paramname"><em>x</em>, </td>
@@ -484,7 +484,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;C, bool, Q&gt; glm::notEqual </td>
+          <td class="memname">GLM_FUNC_DECL constexpr vec&lt;C, bool, Q&gt; glm::notEqual </td>
           <td>(</td>
           <td class="paramtype">mat&lt; C, R, T, Q &gt; const &amp;&#160;</td>
           <td class="paramname"><em>x</em>, </td>
@@ -530,7 +530,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;C, bool, Q&gt; glm::notEqual </td>
+          <td class="memname">GLM_FUNC_DECL constexpr vec&lt;C, bool, Q&gt; glm::notEqual </td>
           <td>(</td>
           <td class="paramtype">mat&lt; C, R, T, Q &gt; const &amp;&#160;</td>
           <td class="paramname"><em>x</em>, </td>

+ 4 - 4
doc/api/a00837.html

@@ -73,7 +73,7 @@ $(function() {
 Functions</h2></td></tr>
 <tr class="memitem:ga81696f2b8d1db02ea1aff8da8f269314"><td class="memTemplParams" colspan="2"><a id="ga81696f2b8d1db02ea1aff8da8f269314"></a>
 template&lt;typename genType &gt; </td></tr>
-<tr class="memitem:ga81696f2b8d1db02ea1aff8da8f269314"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00837.html#ga81696f2b8d1db02ea1aff8da8f269314">identity</a> ()</td></tr>
+<tr class="memitem:ga81696f2b8d1db02ea1aff8da8f269314"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00837.html#ga81696f2b8d1db02ea1aff8da8f269314">identity</a> ()</td></tr>
 <tr class="memdesc:ga81696f2b8d1db02ea1aff8da8f269314"><td class="mdescLeft">&#160;</td><td class="mdescRight">Builds an identity matrix. <br /></td></tr>
 <tr class="separator:ga81696f2b8d1db02ea1aff8da8f269314"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gaa64aa951a0e99136bba9008d2b59c78e"><td class="memTemplParams" colspan="2">template&lt;typename T , qualifier Q&gt; </td></tr>
@@ -101,7 +101,7 @@ template&lt;typename genType &gt; </td></tr>
 <tr class="memdesc:ga391e0142852ab4139dcea0d9b1bbc048"><td class="mdescLeft">&#160;</td><td class="mdescRight">Builds a scale 4 * 4 matrix created from point referent 3 shearers.  <a href="a00837.html#ga391e0142852ab4139dcea0d9b1bbc048">More...</a><br /></td></tr>
 <tr class="separator:ga391e0142852ab4139dcea0d9b1bbc048"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gac6b494bda2f47615b2fd3e70f3d2c912"><td class="memTemplParams" colspan="2">template&lt;typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:gac6b494bda2f47615b2fd3e70f3d2c912"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR mat&lt; 4, 4, T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00837.html#gac6b494bda2f47615b2fd3e70f3d2c912">translate</a> (mat&lt; 4, 4, T, Q &gt; const &amp;m, vec&lt; 3, T, Q &gt; const &amp;v)</td></tr>
+<tr class="memitem:gac6b494bda2f47615b2fd3e70f3d2c912"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr mat&lt; 4, 4, T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00837.html#gac6b494bda2f47615b2fd3e70f3d2c912">translate</a> (mat&lt; 4, 4, T, Q &gt; const &amp;m, vec&lt; 3, T, Q &gt; const &amp;v)</td></tr>
 <tr class="memdesc:gac6b494bda2f47615b2fd3e70f3d2c912"><td class="mdescLeft">&#160;</td><td class="mdescRight">Builds a translation 4 * 4 matrix created from a vector of 3 components.  <a href="a00837.html#gac6b494bda2f47615b2fd3e70f3d2c912">More...</a><br /></td></tr>
 <tr class="separator:gac6b494bda2f47615b2fd3e70f3d2c912"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>
@@ -460,7 +460,7 @@ no resource... </dd></dl>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;4, 4, T, Q&gt; glm::translate </td>
+          <td class="memname">GLM_FUNC_DECL constexpr mat&lt;4, 4, T, Q&gt; glm::translate </td>
           <td>(</td>
           <td class="paramtype">mat&lt; 4, 4, T, Q &gt; const &amp;&#160;</td>
           <td class="paramname"><em>m</em>, </td>
@@ -514,7 +514,7 @@ no resource... </dd></dl>
 <div class="ttc" id="aa00901_html_ga0db98d836c5549d31cf64ecd043b7af7"><div class="ttname"><a href="a00901.html#ga0db98d836c5549d31cf64ecd043b7af7">glm::mat4</a></div><div class="ttdeci">mat&lt; 4, 4, float, defaultp &gt; mat4</div><div class="ttdoc">4 columns of 4 components matrix of single-precision floating-point numbers.</div><div class="ttdef"><b>Definition:</b> <a href="a00200_source.html#l00020">matrix_float4x4.hpp:20</a></div></div>
 <div class="ttc" id="aa01705_html"><div class="ttname"><a href="a01705.html">matrix_transform.hpp</a></div><div class="ttdoc">GLM_GTC_matrix_transform</div></div>
 <div class="ttc" id="aa00899_html_ga9c3019b13faf179e4ad3626ea66df334"><div class="ttname"><a href="a00899.html#ga9c3019b13faf179e4ad3626ea66df334">glm::vec3</a></div><div class="ttdeci">vec&lt; 3, float, defaultp &gt; vec3</div><div class="ttdoc">3 components vector of single-precision floating-point numbers.</div><div class="ttdef"><b>Definition:</b> <a href="a00446_source.html#l00015">vector_float3.hpp:15</a></div></div>
-<div class="ttc" id="aa00837_html_gac6b494bda2f47615b2fd3e70f3d2c912"><div class="ttname"><a href="a00837.html#gac6b494bda2f47615b2fd3e70f3d2c912">glm::translate</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR mat&lt; 4, 4, T, Q &gt; translate(mat&lt; 4, 4, T, Q &gt; const &amp;m, vec&lt; 3, T, Q &gt; const &amp;v)</div><div class="ttdoc">Builds a translation 4 * 4 matrix created from a vector of 3 components.</div></div>
+<div class="ttc" id="aa00837_html_gac6b494bda2f47615b2fd3e70f3d2c912"><div class="ttname"><a href="a00837.html#gac6b494bda2f47615b2fd3e70f3d2c912">glm::translate</a></div><div class="ttdeci">GLM_FUNC_DECL constexpr mat&lt; 4, 4, T, Q &gt; translate(mat&lt; 4, 4, T, Q &gt; const &amp;m, vec&lt; 3, T, Q &gt; const &amp;v)</div><div class="ttdoc">Builds a translation 4 * 4 matrix created from a vector of 3 components.</div></div>
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
 Generated by &#160;<a href="http://www.doxygen.org/index.html">

+ 6 - 6
doc/api/a00856.html

@@ -72,11 +72,11 @@ $(function() {
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
 Functions</h2></td></tr>
 <tr class="memitem:ga5b646f1cd4422eb76ab90496bcd0b60a"><td class="memTemplParams" colspan="2">template&lt;typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:ga5b646f1cd4422eb76ab90496bcd0b60a"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR qua&lt; T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00856.html#ga5b646f1cd4422eb76ab90496bcd0b60a">conjugate</a> (qua&lt; T, Q &gt; const &amp;q)</td></tr>
+<tr class="memitem:ga5b646f1cd4422eb76ab90496bcd0b60a"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr qua&lt; T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00856.html#ga5b646f1cd4422eb76ab90496bcd0b60a">conjugate</a> (qua&lt; T, Q &gt; const &amp;q)</td></tr>
 <tr class="memdesc:ga5b646f1cd4422eb76ab90496bcd0b60a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the q conjugate.  <a href="a00856.html#ga5b646f1cd4422eb76ab90496bcd0b60a">More...</a><br /></td></tr>
 <tr class="separator:ga5b646f1cd4422eb76ab90496bcd0b60a"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga50db49335150de11562052667537e517"><td class="memTemplParams" colspan="2">template&lt;typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:ga50db49335150de11562052667537e517"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR qua&lt; T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00856.html#ga50db49335150de11562052667537e517">inverse</a> (qua&lt; T, Q &gt; const &amp;q)</td></tr>
+<tr class="memitem:ga50db49335150de11562052667537e517"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr qua&lt; T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00856.html#ga50db49335150de11562052667537e517">inverse</a> (qua&lt; T, Q &gt; const &amp;q)</td></tr>
 <tr class="memdesc:ga50db49335150de11562052667537e517"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the q inverse.  <a href="a00856.html#ga50db49335150de11562052667537e517">More...</a><br /></td></tr>
 <tr class="separator:ga50db49335150de11562052667537e517"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga45722741ea266b4e861938b365c5f362"><td class="memTemplParams" colspan="2">template&lt;typename T , qualifier Q&gt; </td></tr>
@@ -88,7 +88,7 @@ Functions</h2></td></tr>
 <tr class="memdesc:ga1bb55f8963616502e96dc564384d8a03"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if x holds a NaN (not a number) representation in the underlying implementation's set of floating point representations.  <a href="a00856.html#ga1bb55f8963616502e96dc564384d8a03">More...</a><br /></td></tr>
 <tr class="separator:ga1bb55f8963616502e96dc564384d8a03"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gaacd3d0591852faa4bc291b61da88ad44"><td class="memTemplParams" colspan="2">template&lt;typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:gaacd3d0591852faa4bc291b61da88ad44"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR qua&lt; T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00856.html#gaacd3d0591852faa4bc291b61da88ad44">lerp</a> (qua&lt; T, Q &gt; const &amp;x, qua&lt; T, Q &gt; const &amp;y, T a)</td></tr>
+<tr class="memitem:gaacd3d0591852faa4bc291b61da88ad44"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr qua&lt; T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00856.html#gaacd3d0591852faa4bc291b61da88ad44">lerp</a> (qua&lt; T, Q &gt; const &amp;x, qua&lt; T, Q &gt; const &amp;y, T a)</td></tr>
 <tr class="memdesc:gaacd3d0591852faa4bc291b61da88ad44"><td class="mdescLeft">&#160;</td><td class="mdescRight">Linear interpolation of two quaternions.  <a href="a00856.html#gaacd3d0591852faa4bc291b61da88ad44">More...</a><br /></td></tr>
 <tr class="separator:gaacd3d0591852faa4bc291b61da88ad44"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gafbfe587b8da11fb89a30c3d67dd5ccc2"><td class="memTemplParams" colspan="2">template&lt;typename T , qualifier Q&gt; </td></tr>
@@ -132,7 +132,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR qua&lt;T, Q&gt; glm::conjugate </td>
+          <td class="memname">GLM_FUNC_DECL constexpr qua&lt;T, Q&gt; glm::conjugate </td>
           <td>(</td>
           <td class="paramtype">qua&lt; T, Q &gt; const &amp;&#160;</td>
           <td class="paramname"><em>q</em></td><td>)</td>
@@ -159,7 +159,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR qua&lt;T, Q&gt; glm::inverse </td>
+          <td class="memname">GLM_FUNC_DECL constexpr qua&lt;T, Q&gt; glm::inverse </td>
           <td>(</td>
           <td class="paramtype">qua&lt; T, Q &gt; const &amp;&#160;</td>
           <td class="paramname"><em>q</em></td><td>)</td>
@@ -243,7 +243,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR qua&lt;T, Q&gt; glm::lerp </td>
+          <td class="memname">GLM_FUNC_DECL constexpr qua&lt;T, Q&gt; glm::lerp </td>
           <td>(</td>
           <td class="paramtype">qua&lt; T, Q &gt; const &amp;&#160;</td>
           <td class="paramname"><em>x</em>, </td>

+ 6 - 6
doc/api/a00862.html

@@ -72,11 +72,11 @@ $(function() {
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
 Functions</h2></td></tr>
 <tr class="memitem:ga9a47ad9ca44bc04eeaac260d42105134"><td class="memTemplParams" colspan="2">template&lt;typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:ga9a47ad9ca44bc04eeaac260d42105134"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_QUALIFIER GLM_CONSTEXPR qua&lt; T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00862.html#ga9a47ad9ca44bc04eeaac260d42105134">cross</a> (qua&lt; T, Q &gt; const &amp;q1, qua&lt; T, Q &gt; const &amp;q2)</td></tr>
+<tr class="memitem:ga9a47ad9ca44bc04eeaac260d42105134"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_QUALIFIER constexpr qua&lt; T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00862.html#ga9a47ad9ca44bc04eeaac260d42105134">cross</a> (qua&lt; T, Q &gt; const &amp;q1, qua&lt; T, Q &gt; const &amp;q2)</td></tr>
 <tr class="memdesc:ga9a47ad9ca44bc04eeaac260d42105134"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute a cross product.  <a href="a00862.html#ga9a47ad9ca44bc04eeaac260d42105134">More...</a><br /></td></tr>
 <tr class="separator:ga9a47ad9ca44bc04eeaac260d42105134"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gadaab7b4495755b4102838d7834cd9544"><td class="memTemplParams" colspan="2">template&lt;typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:gadaab7b4495755b4102838d7834cd9544"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00862.html#gadaab7b4495755b4102838d7834cd9544">dot</a> (qua&lt; T, Q &gt; const &amp;x, qua&lt; T, Q &gt; const &amp;y)</td></tr>
+<tr class="memitem:gadaab7b4495755b4102838d7834cd9544"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00862.html#gadaab7b4495755b4102838d7834cd9544">dot</a> (qua&lt; T, Q &gt; const &amp;x, qua&lt; T, Q &gt; const &amp;y)</td></tr>
 <tr class="memdesc:gadaab7b4495755b4102838d7834cd9544"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns dot product of q1 and q2, i.e., q1[0] * q2[0] + q1[1] * q2[1] + ...  <a href="a00862.html#gadaab7b4495755b4102838d7834cd9544">More...</a><br /></td></tr>
 <tr class="separator:gadaab7b4495755b4102838d7834cd9544"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gab703732449be6c7199369b3f9a91ed38"><td class="memTemplParams" colspan="2">template&lt;typename T , qualifier Q&gt; </td></tr>
@@ -84,7 +84,7 @@ Functions</h2></td></tr>
 <tr class="memdesc:gab703732449be6c7199369b3f9a91ed38"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the norm of a quaternions.  <a href="a00862.html#gab703732449be6c7199369b3f9a91ed38">More...</a><br /></td></tr>
 <tr class="separator:gab703732449be6c7199369b3f9a91ed38"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gad815f4de07f2fe6502cdd2cd86c3dabd"><td class="memTemplParams" colspan="2">template&lt;typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:gad815f4de07f2fe6502cdd2cd86c3dabd"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR qua&lt; T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00862.html#gad815f4de07f2fe6502cdd2cd86c3dabd">normalize</a> (qua&lt; T, Q &gt; const &amp;q)</td></tr>
+<tr class="memitem:gad815f4de07f2fe6502cdd2cd86c3dabd"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr qua&lt; T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00862.html#gad815f4de07f2fe6502cdd2cd86c3dabd">normalize</a> (qua&lt; T, Q &gt; const &amp;q)</td></tr>
 <tr class="memdesc:gad815f4de07f2fe6502cdd2cd86c3dabd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the normalized quaternion.  <a href="a00862.html#gad815f4de07f2fe6502cdd2cd86c3dabd">More...</a><br /></td></tr>
 <tr class="separator:gad815f4de07f2fe6502cdd2cd86c3dabd"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>
@@ -104,7 +104,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_QUALIFIER GLM_CONSTEXPR qua&lt;T, Q&gt; glm::cross </td>
+          <td class="memname">GLM_FUNC_QUALIFIER constexpr qua&lt;T, Q&gt; glm::cross </td>
           <td>(</td>
           <td class="paramtype">qua&lt; T, Q &gt; const &amp;&#160;</td>
           <td class="paramname"><em>q1</em>, </td>
@@ -142,7 +142,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR T glm::dot </td>
+          <td class="memname">GLM_FUNC_DECL constexpr T glm::dot </td>
           <td>(</td>
           <td class="paramtype">qua&lt; T, Q &gt; const &amp;&#160;</td>
           <td class="paramname"><em>x</em>, </td>
@@ -208,7 +208,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR qua&lt;T, Q&gt; glm::normalize </td>
+          <td class="memname">GLM_FUNC_DECL constexpr qua&lt;T, Q&gt; glm::normalize </td>
           <td>(</td>
           <td class="paramtype">qua&lt; T, Q &gt; const &amp;&#160;</td>
           <td class="paramname"><em>q</em></td><td>)</td>

+ 3 - 3
doc/api/a00867.html

@@ -73,17 +73,17 @@ $(function() {
 Functions</h2></td></tr>
 <tr class="memitem:gae8d1938913da2e5b2e102b9076cd0389"><td class="memTemplParams" colspan="2"><a id="gae8d1938913da2e5b2e102b9076cd0389"></a>
 template&lt;typename genType &gt; </td></tr>
-<tr class="memitem:gae8d1938913da2e5b2e102b9076cd0389"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00867.html#gae8d1938913da2e5b2e102b9076cd0389">cos_one_over_two</a> ()</td></tr>
+<tr class="memitem:gae8d1938913da2e5b2e102b9076cd0389"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00867.html#gae8d1938913da2e5b2e102b9076cd0389">cos_one_over_two</a> ()</td></tr>
 <tr class="memdesc:gae8d1938913da2e5b2e102b9076cd0389"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the value of cos(1 / 2) for floating point types. <br /></td></tr>
 <tr class="separator:gae8d1938913da2e5b2e102b9076cd0389"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga2a1e57fc5592b69cfae84174cbfc9429"><td class="memTemplParams" colspan="2"><a id="ga2a1e57fc5592b69cfae84174cbfc9429"></a>
 template&lt;typename genType &gt; </td></tr>
-<tr class="memitem:ga2a1e57fc5592b69cfae84174cbfc9429"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00867.html#ga2a1e57fc5592b69cfae84174cbfc9429">epsilon</a> ()</td></tr>
+<tr class="memitem:ga2a1e57fc5592b69cfae84174cbfc9429"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00867.html#ga2a1e57fc5592b69cfae84174cbfc9429">epsilon</a> ()</td></tr>
 <tr class="memdesc:ga2a1e57fc5592b69cfae84174cbfc9429"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the epsilon constant for floating point types. <br /></td></tr>
 <tr class="separator:ga2a1e57fc5592b69cfae84174cbfc9429"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga94bafeb2a0f23ab6450fed1f98ee4e45"><td class="memTemplParams" colspan="2"><a id="ga94bafeb2a0f23ab6450fed1f98ee4e45"></a>
 template&lt;typename genType &gt; </td></tr>
-<tr class="memitem:ga94bafeb2a0f23ab6450fed1f98ee4e45"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00867.html#ga94bafeb2a0f23ab6450fed1f98ee4e45">pi</a> ()</td></tr>
+<tr class="memitem:ga94bafeb2a0f23ab6450fed1f98ee4e45"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00867.html#ga94bafeb2a0f23ab6450fed1f98ee4e45">pi</a> ()</td></tr>
 <tr class="memdesc:ga94bafeb2a0f23ab6450fed1f98ee4e45"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the pi constant for floating point types. <br /></td></tr>
 <tr class="separator:ga94bafeb2a0f23ab6450fed1f98ee4e45"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>

+ 8 - 8
doc/api/a00872.html

@@ -72,19 +72,19 @@ $(function() {
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
 Functions</h2></td></tr>
 <tr class="memitem:ga90ebafeace352ccc14055418ebd220be"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
-<tr class="memitem:ga90ebafeace352ccc14055418ebd220be"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00872.html#ga90ebafeace352ccc14055418ebd220be">equal</a> (genType const &amp;x, genType const &amp;y, genType const &amp;epsilon)</td></tr>
+<tr class="memitem:ga90ebafeace352ccc14055418ebd220be"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00872.html#ga90ebafeace352ccc14055418ebd220be">equal</a> (genType const &amp;x, genType const &amp;y, genType const &amp;epsilon)</td></tr>
 <tr class="memdesc:ga90ebafeace352ccc14055418ebd220be"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the component-wise comparison of |x - y| &lt; epsilon.  <a href="a00872.html#ga90ebafeace352ccc14055418ebd220be">More...</a><br /></td></tr>
 <tr class="separator:ga90ebafeace352ccc14055418ebd220be"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga865b9a427c42df73b8af9cd3f7f25394"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
-<tr class="memitem:ga865b9a427c42df73b8af9cd3f7f25394"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00872.html#ga865b9a427c42df73b8af9cd3f7f25394">equal</a> (genType const &amp;x, genType const &amp;y, int ULPs)</td></tr>
+<tr class="memitem:ga865b9a427c42df73b8af9cd3f7f25394"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00872.html#ga865b9a427c42df73b8af9cd3f7f25394">equal</a> (genType const &amp;x, genType const &amp;y, int ULPs)</td></tr>
 <tr class="memdesc:ga865b9a427c42df73b8af9cd3f7f25394"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the component-wise comparison between two scalars in term of ULPs.  <a href="a00872.html#ga865b9a427c42df73b8af9cd3f7f25394">More...</a><br /></td></tr>
 <tr class="separator:ga865b9a427c42df73b8af9cd3f7f25394"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga835ecf946c74f3d68be93e70b10821e7"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
-<tr class="memitem:ga835ecf946c74f3d68be93e70b10821e7"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00872.html#ga835ecf946c74f3d68be93e70b10821e7">notEqual</a> (genType const &amp;x, genType const &amp;y, genType const &amp;epsilon)</td></tr>
+<tr class="memitem:ga835ecf946c74f3d68be93e70b10821e7"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00872.html#ga835ecf946c74f3d68be93e70b10821e7">notEqual</a> (genType const &amp;x, genType const &amp;y, genType const &amp;epsilon)</td></tr>
 <tr class="memdesc:ga835ecf946c74f3d68be93e70b10821e7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the component-wise comparison of |x - y| &gt;= epsilon.  <a href="a00872.html#ga835ecf946c74f3d68be93e70b10821e7">More...</a><br /></td></tr>
 <tr class="separator:ga835ecf946c74f3d68be93e70b10821e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gabd21e65b2e4c9d501d51536c4a6ef7cb"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
-<tr class="memitem:gabd21e65b2e4c9d501d51536c4a6ef7cb"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00872.html#gabd21e65b2e4c9d501d51536c4a6ef7cb">notEqual</a> (genType const &amp;x, genType const &amp;y, int ULPs)</td></tr>
+<tr class="memitem:gabd21e65b2e4c9d501d51536c4a6ef7cb"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00872.html#gabd21e65b2e4c9d501d51536c4a6ef7cb">notEqual</a> (genType const &amp;x, genType const &amp;y, int ULPs)</td></tr>
 <tr class="memdesc:gabd21e65b2e4c9d501d51536c4a6ef7cb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the component-wise comparison between two scalars in term of ULPs.  <a href="a00872.html#gabd21e65b2e4c9d501d51536c4a6ef7cb">More...</a><br /></td></tr>
 <tr class="separator:gabd21e65b2e4c9d501d51536c4a6ef7cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>
@@ -104,7 +104,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR bool glm::equal </td>
+          <td class="memname">GLM_FUNC_DECL constexpr bool glm::equal </td>
           <td>(</td>
           <td class="paramtype">genType const &amp;&#160;</td>
           <td class="paramname"><em>x</em>, </td>
@@ -147,7 +147,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR bool glm::equal </td>
+          <td class="memname">GLM_FUNC_DECL constexpr bool glm::equal </td>
           <td>(</td>
           <td class="paramtype">genType const &amp;&#160;</td>
           <td class="paramname"><em>x</em>, </td>
@@ -198,7 +198,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR bool glm::notEqual </td>
+          <td class="memname">GLM_FUNC_DECL constexpr bool glm::notEqual </td>
           <td>(</td>
           <td class="paramtype">genType const &amp;&#160;</td>
           <td class="paramname"><em>x</em>, </td>
@@ -241,7 +241,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR bool glm::notEqual </td>
+          <td class="memname">GLM_FUNC_DECL constexpr bool glm::notEqual </td>
           <td>(</td>
           <td class="paramtype">genType const &amp;&#160;</td>
           <td class="paramname"><em>x</em>, </td>

+ 8 - 8
doc/api/a00877.html

@@ -120,19 +120,19 @@ Functions</h2></td></tr>
 <tr class="memdesc:ga57824268ebe13a922f1d69a5d37f637f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a value equal to the nearest integer to x.  <a href="a00877.html#ga57824268ebe13a922f1d69a5d37f637f">More...</a><br /></td></tr>
 <tr class="separator:ga57824268ebe13a922f1d69a5d37f637f"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gaa45d34f6a2906f8bf58ab2ba5429234d"><td class="memTemplParams" colspan="2">template&lt;length_t L, typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:gaa45d34f6a2906f8bf58ab2ba5429234d"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; L, T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00877.html#gaa45d34f6a2906f8bf58ab2ba5429234d">max</a> (vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y, vec&lt; L, T, Q &gt; const &amp;z)</td></tr>
+<tr class="memitem:gaa45d34f6a2906f8bf58ab2ba5429234d"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr vec&lt; L, T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00877.html#gaa45d34f6a2906f8bf58ab2ba5429234d">max</a> (vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y, vec&lt; L, T, Q &gt; const &amp;z)</td></tr>
 <tr class="memdesc:gaa45d34f6a2906f8bf58ab2ba5429234d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the maximum component-wise values of 3 inputs.  <a href="a00877.html#gaa45d34f6a2906f8bf58ab2ba5429234d">More...</a><br /></td></tr>
 <tr class="separator:gaa45d34f6a2906f8bf58ab2ba5429234d"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga94d42b8da2b4ded5ddf7504fbdc6bf10"><td class="memTemplParams" colspan="2">template&lt;length_t L, typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:ga94d42b8da2b4ded5ddf7504fbdc6bf10"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; L, T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00877.html#ga94d42b8da2b4ded5ddf7504fbdc6bf10">max</a> (vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y, vec&lt; L, T, Q &gt; const &amp;z, vec&lt; L, T, Q &gt; const &amp;w)</td></tr>
+<tr class="memitem:ga94d42b8da2b4ded5ddf7504fbdc6bf10"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr vec&lt; L, T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00877.html#ga94d42b8da2b4ded5ddf7504fbdc6bf10">max</a> (vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y, vec&lt; L, T, Q &gt; const &amp;z, vec&lt; L, T, Q &gt; const &amp;w)</td></tr>
 <tr class="memdesc:ga94d42b8da2b4ded5ddf7504fbdc6bf10"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the maximum component-wise values of 4 inputs.  <a href="a00877.html#ga94d42b8da2b4ded5ddf7504fbdc6bf10">More...</a><br /></td></tr>
 <tr class="separator:ga94d42b8da2b4ded5ddf7504fbdc6bf10"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga3cd83d80fd4f433d8e333593ec56dddf"><td class="memTemplParams" colspan="2">template&lt;length_t L, typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:ga3cd83d80fd4f433d8e333593ec56dddf"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; L, T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00877.html#ga3cd83d80fd4f433d8e333593ec56dddf">min</a> (vec&lt; L, T, Q &gt; const &amp;a, vec&lt; L, T, Q &gt; const &amp;b, vec&lt; L, T, Q &gt; const &amp;c)</td></tr>
+<tr class="memitem:ga3cd83d80fd4f433d8e333593ec56dddf"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr vec&lt; L, T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00877.html#ga3cd83d80fd4f433d8e333593ec56dddf">min</a> (vec&lt; L, T, Q &gt; const &amp;a, vec&lt; L, T, Q &gt; const &amp;b, vec&lt; L, T, Q &gt; const &amp;c)</td></tr>
 <tr class="memdesc:ga3cd83d80fd4f433d8e333593ec56dddf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the minimum component-wise values of 3 inputs.  <a href="a00877.html#ga3cd83d80fd4f433d8e333593ec56dddf">More...</a><br /></td></tr>
 <tr class="separator:ga3cd83d80fd4f433d8e333593ec56dddf"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gab66920ed064ab518d6859c5a889c4be4"><td class="memTemplParams" colspan="2">template&lt;length_t L, typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:gab66920ed064ab518d6859c5a889c4be4"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; L, T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00877.html#gab66920ed064ab518d6859c5a889c4be4">min</a> (vec&lt; L, T, Q &gt; const &amp;a, vec&lt; L, T, Q &gt; const &amp;b, vec&lt; L, T, Q &gt; const &amp;c, vec&lt; L, T, Q &gt; const &amp;d)</td></tr>
+<tr class="memitem:gab66920ed064ab518d6859c5a889c4be4"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr vec&lt; L, T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00877.html#gab66920ed064ab518d6859c5a889c4be4">min</a> (vec&lt; L, T, Q &gt; const &amp;a, vec&lt; L, T, Q &gt; const &amp;b, vec&lt; L, T, Q &gt; const &amp;c, vec&lt; L, T, Q &gt; const &amp;d)</td></tr>
 <tr class="memdesc:gab66920ed064ab518d6859c5a889c4be4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the minimum component-wise values of 4 inputs.  <a href="a00877.html#gab66920ed064ab518d6859c5a889c4be4">More...</a><br /></td></tr>
 <tr class="separator:gab66920ed064ab518d6859c5a889c4be4"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gaf72b0749a21162aebcd47d9acd22e0df"><td class="memTemplParams" colspan="2">template&lt;length_t L, typename T , qualifier Q&gt; </td></tr>
@@ -679,7 +679,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;L, T, Q&gt; glm::max </td>
+          <td class="memname">GLM_FUNC_DECL constexpr vec&lt;L, T, Q&gt; glm::max </td>
           <td>(</td>
           <td class="paramtype">vec&lt; L, T, Q &gt; const &amp;&#160;</td>
           <td class="paramname"><em>x</em>, </td>
@@ -723,7 +723,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;L, T, Q&gt; glm::max </td>
+          <td class="memname">GLM_FUNC_DECL constexpr vec&lt;L, T, Q&gt; glm::max </td>
           <td>(</td>
           <td class="paramtype">vec&lt; L, T, Q &gt; const &amp;&#160;</td>
           <td class="paramname"><em>x</em>, </td>
@@ -773,7 +773,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;L, T, Q&gt; glm::min </td>
+          <td class="memname">GLM_FUNC_DECL constexpr vec&lt;L, T, Q&gt; glm::min </td>
           <td>(</td>
           <td class="paramtype">vec&lt; L, T, Q &gt; const &amp;&#160;</td>
           <td class="paramname"><em>a</em>, </td>
@@ -817,7 +817,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;L, T, Q&gt; glm::min </td>
+          <td class="memname">GLM_FUNC_DECL constexpr vec&lt;L, T, Q&gt; glm::min </td>
           <td>(</td>
           <td class="paramtype">vec&lt; L, T, Q &gt; const &amp;&#160;</td>
           <td class="paramname"><em>a</em>, </td>

+ 16 - 16
doc/api/a00890.html

@@ -72,35 +72,35 @@ $(function() {
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
 Functions</h2></td></tr>
 <tr class="memitem:ga2b46cb50911e97b32f4cd743c2c69771"><td class="memTemplParams" colspan="2">template&lt;length_t L, typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:ga2b46cb50911e97b32f4cd743c2c69771"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; L, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00890.html#ga2b46cb50911e97b32f4cd743c2c69771">equal</a> (vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y, int ULPs)</td></tr>
+<tr class="memitem:ga2b46cb50911e97b32f4cd743c2c69771"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr vec&lt; L, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00890.html#ga2b46cb50911e97b32f4cd743c2c69771">equal</a> (vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y, int ULPs)</td></tr>
 <tr class="memdesc:ga2b46cb50911e97b32f4cd743c2c69771"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the component-wise comparison between two vectors in term of ULPs.  <a href="a00890.html#ga2b46cb50911e97b32f4cd743c2c69771">More...</a><br /></td></tr>
 <tr class="separator:ga2b46cb50911e97b32f4cd743c2c69771"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga2ac7651a2fa7354f2da610dbd50d28e2"><td class="memTemplParams" colspan="2">template&lt;length_t L, typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:ga2ac7651a2fa7354f2da610dbd50d28e2"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; L, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00890.html#ga2ac7651a2fa7354f2da610dbd50d28e2">equal</a> (vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y, T epsilon)</td></tr>
+<tr class="memitem:ga2ac7651a2fa7354f2da610dbd50d28e2"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr vec&lt; L, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00890.html#ga2ac7651a2fa7354f2da610dbd50d28e2">equal</a> (vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y, T epsilon)</td></tr>
 <tr class="memdesc:ga2ac7651a2fa7354f2da610dbd50d28e2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the component-wise comparison of |x - y| &lt; epsilon.  <a href="a00890.html#ga2ac7651a2fa7354f2da610dbd50d28e2">More...</a><br /></td></tr>
 <tr class="separator:ga2ac7651a2fa7354f2da610dbd50d28e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga7da2b8605be7f245b39cb6fbf6d9d581"><td class="memTemplParams" colspan="2">template&lt;length_t L, typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:ga7da2b8605be7f245b39cb6fbf6d9d581"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; L, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00890.html#ga7da2b8605be7f245b39cb6fbf6d9d581">equal</a> (vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y, vec&lt; L, int, Q &gt; const &amp;ULPs)</td></tr>
+<tr class="memitem:ga7da2b8605be7f245b39cb6fbf6d9d581"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr vec&lt; L, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00890.html#ga7da2b8605be7f245b39cb6fbf6d9d581">equal</a> (vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y, vec&lt; L, int, Q &gt; const &amp;ULPs)</td></tr>
 <tr class="memdesc:ga7da2b8605be7f245b39cb6fbf6d9d581"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the component-wise comparison between two vectors in term of ULPs.  <a href="a00890.html#ga7da2b8605be7f245b39cb6fbf6d9d581">More...</a><br /></td></tr>
 <tr class="separator:ga7da2b8605be7f245b39cb6fbf6d9d581"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga37d261a65f69babc82cec2ae1af7145f"><td class="memTemplParams" colspan="2">template&lt;length_t L, typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:ga37d261a65f69babc82cec2ae1af7145f"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; L, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00890.html#ga37d261a65f69babc82cec2ae1af7145f">equal</a> (vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y, vec&lt; L, T, Q &gt; const &amp;epsilon)</td></tr>
+<tr class="memitem:ga37d261a65f69babc82cec2ae1af7145f"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr vec&lt; L, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00890.html#ga37d261a65f69babc82cec2ae1af7145f">equal</a> (vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y, vec&lt; L, T, Q &gt; const &amp;epsilon)</td></tr>
 <tr class="memdesc:ga37d261a65f69babc82cec2ae1af7145f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the component-wise comparison of |x - y| &lt; epsilon.  <a href="a00890.html#ga37d261a65f69babc82cec2ae1af7145f">More...</a><br /></td></tr>
 <tr class="separator:ga37d261a65f69babc82cec2ae1af7145f"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga8b5c2c3f83422ae5b71fa960d03b0339"><td class="memTemplParams" colspan="2">template&lt;length_t L, typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:ga8b5c2c3f83422ae5b71fa960d03b0339"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; L, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00890.html#ga8b5c2c3f83422ae5b71fa960d03b0339">notEqual</a> (vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y, int ULPs)</td></tr>
+<tr class="memitem:ga8b5c2c3f83422ae5b71fa960d03b0339"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr vec&lt; L, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00890.html#ga8b5c2c3f83422ae5b71fa960d03b0339">notEqual</a> (vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y, int ULPs)</td></tr>
 <tr class="memdesc:ga8b5c2c3f83422ae5b71fa960d03b0339"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the component-wise comparison between two vectors in term of ULPs.  <a href="a00890.html#ga8b5c2c3f83422ae5b71fa960d03b0339">More...</a><br /></td></tr>
 <tr class="separator:ga8b5c2c3f83422ae5b71fa960d03b0339"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga4a99cc41341567567a608719449c1fac"><td class="memTemplParams" colspan="2">template&lt;length_t L, typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:ga4a99cc41341567567a608719449c1fac"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; L, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00890.html#ga4a99cc41341567567a608719449c1fac">notEqual</a> (vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y, T epsilon)</td></tr>
+<tr class="memitem:ga4a99cc41341567567a608719449c1fac"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr vec&lt; L, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00890.html#ga4a99cc41341567567a608719449c1fac">notEqual</a> (vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y, T epsilon)</td></tr>
 <tr class="memdesc:ga4a99cc41341567567a608719449c1fac"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the component-wise comparison of |x - y| &gt;= epsilon.  <a href="a00890.html#ga4a99cc41341567567a608719449c1fac">More...</a><br /></td></tr>
 <tr class="separator:ga4a99cc41341567567a608719449c1fac"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga0b15ffe32987a6029b14398eb0def01a"><td class="memTemplParams" colspan="2">template&lt;length_t L, typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:ga0b15ffe32987a6029b14398eb0def01a"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; L, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00890.html#ga0b15ffe32987a6029b14398eb0def01a">notEqual</a> (vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y, vec&lt; L, int, Q &gt; const &amp;ULPs)</td></tr>
+<tr class="memitem:ga0b15ffe32987a6029b14398eb0def01a"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr vec&lt; L, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00890.html#ga0b15ffe32987a6029b14398eb0def01a">notEqual</a> (vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y, vec&lt; L, int, Q &gt; const &amp;ULPs)</td></tr>
 <tr class="memdesc:ga0b15ffe32987a6029b14398eb0def01a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the component-wise comparison between two vectors in term of ULPs.  <a href="a00890.html#ga0b15ffe32987a6029b14398eb0def01a">More...</a><br /></td></tr>
 <tr class="separator:ga0b15ffe32987a6029b14398eb0def01a"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga417cf51304359db18e819dda9bce5767"><td class="memTemplParams" colspan="2">template&lt;length_t L, typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:ga417cf51304359db18e819dda9bce5767"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; L, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00890.html#ga417cf51304359db18e819dda9bce5767">notEqual</a> (vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y, vec&lt; L, T, Q &gt; const &amp;epsilon)</td></tr>
+<tr class="memitem:ga417cf51304359db18e819dda9bce5767"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr vec&lt; L, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00890.html#ga417cf51304359db18e819dda9bce5767">notEqual</a> (vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y, vec&lt; L, T, Q &gt; const &amp;epsilon)</td></tr>
 <tr class="memdesc:ga417cf51304359db18e819dda9bce5767"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the component-wise comparison of |x - y| &gt;= epsilon.  <a href="a00890.html#ga417cf51304359db18e819dda9bce5767">More...</a><br /></td></tr>
 <tr class="separator:ga417cf51304359db18e819dda9bce5767"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>
@@ -120,7 +120,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;L, bool, Q&gt; glm::equal </td>
+          <td class="memname">GLM_FUNC_DECL constexpr vec&lt;L, bool, Q&gt; glm::equal </td>
           <td>(</td>
           <td class="paramtype">vec&lt; L, T, Q &gt; const &amp;&#160;</td>
           <td class="paramname"><em>x</em>, </td>
@@ -165,7 +165,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;L, bool, Q&gt; glm::equal </td>
+          <td class="memname">GLM_FUNC_DECL constexpr vec&lt;L, bool, Q&gt; glm::equal </td>
           <td>(</td>
           <td class="paramtype">vec&lt; L, T, Q &gt; const &amp;&#160;</td>
           <td class="paramname"><em>x</em>, </td>
@@ -210,7 +210,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;L, bool, Q&gt; glm::equal </td>
+          <td class="memname">GLM_FUNC_DECL constexpr vec&lt;L, bool, Q&gt; glm::equal </td>
           <td>(</td>
           <td class="paramtype">vec&lt; L, T, Q &gt; const &amp;&#160;</td>
           <td class="paramname"><em>x</em>, </td>
@@ -255,7 +255,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;L, bool, Q&gt; glm::equal </td>
+          <td class="memname">GLM_FUNC_DECL constexpr vec&lt;L, bool, Q&gt; glm::equal </td>
           <td>(</td>
           <td class="paramtype">vec&lt; L, T, Q &gt; const &amp;&#160;</td>
           <td class="paramname"><em>x</em>, </td>
@@ -300,7 +300,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;L, bool, Q&gt; glm::notEqual </td>
+          <td class="memname">GLM_FUNC_DECL constexpr vec&lt;L, bool, Q&gt; glm::notEqual </td>
           <td>(</td>
           <td class="paramtype">vec&lt; L, T, Q &gt; const &amp;&#160;</td>
           <td class="paramname"><em>x</em>, </td>
@@ -345,7 +345,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;L, bool, Q&gt; glm::notEqual </td>
+          <td class="memname">GLM_FUNC_DECL constexpr vec&lt;L, bool, Q&gt; glm::notEqual </td>
           <td>(</td>
           <td class="paramtype">vec&lt; L, T, Q &gt; const &amp;&#160;</td>
           <td class="paramname"><em>x</em>, </td>
@@ -390,7 +390,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;L, bool, Q&gt; glm::notEqual </td>
+          <td class="memname">GLM_FUNC_DECL constexpr vec&lt;L, bool, Q&gt; glm::notEqual </td>
           <td>(</td>
           <td class="paramtype">vec&lt; L, T, Q &gt; const &amp;&#160;</td>
           <td class="paramname"><em>x</em>, </td>
@@ -435,7 +435,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;L, bool, Q&gt; glm::notEqual </td>
+          <td class="memname">GLM_FUNC_DECL constexpr vec&lt;L, bool, Q&gt; glm::notEqual </td>
           <td>(</td>
           <td class="paramtype">vec&lt; L, T, Q &gt; const &amp;&#160;</td>
           <td class="paramname"><em>x</em>, </td>

+ 4 - 4
doc/api/a00897.html

@@ -72,7 +72,7 @@ $(function() {
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
 Functions</h2></td></tr>
 <tr class="memitem:gaefe60743d7f415a33cbdddbe3bcf0258"><td class="memTemplParams" colspan="2">template&lt;typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:gaefe60743d7f415a33cbdddbe3bcf0258"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; 3, T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00897.html#gaefe60743d7f415a33cbdddbe3bcf0258">cross</a> (vec&lt; 3, T, Q &gt; const &amp;x, vec&lt; 3, T, Q &gt; const &amp;y)</td></tr>
+<tr class="memitem:gaefe60743d7f415a33cbdddbe3bcf0258"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr vec&lt; 3, T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00897.html#gaefe60743d7f415a33cbdddbe3bcf0258">cross</a> (vec&lt; 3, T, Q &gt; const &amp;x, vec&lt; 3, T, Q &gt; const &amp;y)</td></tr>
 <tr class="memdesc:gaefe60743d7f415a33cbdddbe3bcf0258"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the cross product of x and y.  <a href="a00897.html#gaefe60743d7f415a33cbdddbe3bcf0258">More...</a><br /></td></tr>
 <tr class="separator:gaefe60743d7f415a33cbdddbe3bcf0258"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gaa68de6c53e20dfb2dac2d20197562e3f"><td class="memTemplParams" colspan="2">template&lt;length_t L, typename T , qualifier Q&gt; </td></tr>
@@ -80,7 +80,7 @@ Functions</h2></td></tr>
 <tr class="memdesc:gaa68de6c53e20dfb2dac2d20197562e3f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the distance between p0 and p1, i.e., length(p0 - p1).  <a href="a00897.html#gaa68de6c53e20dfb2dac2d20197562e3f">More...</a><br /></td></tr>
 <tr class="separator:gaa68de6c53e20dfb2dac2d20197562e3f"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gaec50c25dd3b13834af0bf6fd2ce3931c"><td class="memTemplParams" colspan="2">template&lt;length_t L, typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:gaec50c25dd3b13834af0bf6fd2ce3931c"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00897.html#gaec50c25dd3b13834af0bf6fd2ce3931c">dot</a> (vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y)</td></tr>
+<tr class="memitem:gaec50c25dd3b13834af0bf6fd2ce3931c"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00897.html#gaec50c25dd3b13834af0bf6fd2ce3931c">dot</a> (vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y)</td></tr>
 <tr class="memdesc:gaec50c25dd3b13834af0bf6fd2ce3931c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the dot product of x and y, i.e., result = x * y.  <a href="a00897.html#gaec50c25dd3b13834af0bf6fd2ce3931c">More...</a><br /></td></tr>
 <tr class="separator:gaec50c25dd3b13834af0bf6fd2ce3931c"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga7aed0a36c738169402404a3a5d54e43b"><td class="memTemplParams" colspan="2">template&lt;length_t L, typename T , qualifier Q&gt; </td></tr>
@@ -115,7 +115,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; glm::cross </td>
+          <td class="memname">GLM_FUNC_DECL constexpr vec&lt;3, T, Q&gt; glm::cross </td>
           <td>(</td>
           <td class="paramtype">vec&lt; 3, T, Q &gt; const &amp;&#160;</td>
           <td class="paramname"><em>x</em>, </td>
@@ -194,7 +194,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR T glm::dot </td>
+          <td class="memname">GLM_FUNC_DECL constexpr T glm::dot </td>
           <td>(</td>
           <td class="paramtype">vec&lt; L, T, Q &gt; const &amp;&#160;</td>
           <td class="paramname"><em>x</em>, </td>

+ 56 - 56
doc/api/a00908.html

@@ -72,115 +72,115 @@ $(function() {
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
 Functions</h2></td></tr>
 <tr class="memitem:ga4b7956eb6e2fbedfc7cf2e46e85c5139"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
-<tr class="memitem:ga4b7956eb6e2fbedfc7cf2e46e85c5139"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#ga4b7956eb6e2fbedfc7cf2e46e85c5139">e</a> ()</td></tr>
+<tr class="memitem:ga4b7956eb6e2fbedfc7cf2e46e85c5139"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#ga4b7956eb6e2fbedfc7cf2e46e85c5139">e</a> ()</td></tr>
 <tr class="memdesc:ga4b7956eb6e2fbedfc7cf2e46e85c5139"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return e constant.  <a href="a00908.html#ga4b7956eb6e2fbedfc7cf2e46e85c5139">More...</a><br /></td></tr>
 <tr class="separator:ga4b7956eb6e2fbedfc7cf2e46e85c5139"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gad8fe2e6f90bce9d829e9723b649fbd42"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
-<tr class="memitem:gad8fe2e6f90bce9d829e9723b649fbd42"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#gad8fe2e6f90bce9d829e9723b649fbd42">euler</a> ()</td></tr>
+<tr class="memitem:gad8fe2e6f90bce9d829e9723b649fbd42"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#gad8fe2e6f90bce9d829e9723b649fbd42">euler</a> ()</td></tr>
 <tr class="memdesc:gad8fe2e6f90bce9d829e9723b649fbd42"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return Euler's constant.  <a href="a00908.html#gad8fe2e6f90bce9d829e9723b649fbd42">More...</a><br /></td></tr>
 <tr class="separator:gad8fe2e6f90bce9d829e9723b649fbd42"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga753950e5140e4ea6a88e4a18ba61dc09"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
-<tr class="memitem:ga753950e5140e4ea6a88e4a18ba61dc09"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#ga753950e5140e4ea6a88e4a18ba61dc09">four_over_pi</a> ()</td></tr>
+<tr class="memitem:ga753950e5140e4ea6a88e4a18ba61dc09"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#ga753950e5140e4ea6a88e4a18ba61dc09">four_over_pi</a> ()</td></tr>
 <tr class="memdesc:ga753950e5140e4ea6a88e4a18ba61dc09"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return 4 / pi.  <a href="a00908.html#ga753950e5140e4ea6a88e4a18ba61dc09">More...</a><br /></td></tr>
 <tr class="separator:ga753950e5140e4ea6a88e4a18ba61dc09"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga748cf8642830657c5b7eae04d0a80899"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
-<tr class="memitem:ga748cf8642830657c5b7eae04d0a80899"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#ga748cf8642830657c5b7eae04d0a80899">golden_ratio</a> ()</td></tr>
+<tr class="memitem:ga748cf8642830657c5b7eae04d0a80899"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#ga748cf8642830657c5b7eae04d0a80899">golden_ratio</a> ()</td></tr>
 <tr class="memdesc:ga748cf8642830657c5b7eae04d0a80899"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the golden ratio constant.  <a href="a00908.html#ga748cf8642830657c5b7eae04d0a80899">More...</a><br /></td></tr>
 <tr class="separator:ga748cf8642830657c5b7eae04d0a80899"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga0c36b41d462e45641faf7d7938948bac"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
-<tr class="memitem:ga0c36b41d462e45641faf7d7938948bac"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#ga0c36b41d462e45641faf7d7938948bac">half_pi</a> ()</td></tr>
+<tr class="memitem:ga0c36b41d462e45641faf7d7938948bac"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#ga0c36b41d462e45641faf7d7938948bac">half_pi</a> ()</td></tr>
 <tr class="memdesc:ga0c36b41d462e45641faf7d7938948bac"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return pi / 2.  <a href="a00908.html#ga0c36b41d462e45641faf7d7938948bac">More...</a><br /></td></tr>
 <tr class="separator:ga0c36b41d462e45641faf7d7938948bac"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gaca94292c839ed31a405ab7a81ae7e850"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
-<tr class="memitem:gaca94292c839ed31a405ab7a81ae7e850"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#gaca94292c839ed31a405ab7a81ae7e850">ln_ln_two</a> ()</td></tr>
+<tr class="memitem:gaca94292c839ed31a405ab7a81ae7e850"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#gaca94292c839ed31a405ab7a81ae7e850">ln_ln_two</a> ()</td></tr>
 <tr class="memdesc:gaca94292c839ed31a405ab7a81ae7e850"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return ln(ln(2)).  <a href="a00908.html#gaca94292c839ed31a405ab7a81ae7e850">More...</a><br /></td></tr>
 <tr class="separator:gaca94292c839ed31a405ab7a81ae7e850"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gaf97ebc6c059ffd788e6c4946f71ef66c"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
-<tr class="memitem:gaf97ebc6c059ffd788e6c4946f71ef66c"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#gaf97ebc6c059ffd788e6c4946f71ef66c">ln_ten</a> ()</td></tr>
+<tr class="memitem:gaf97ebc6c059ffd788e6c4946f71ef66c"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#gaf97ebc6c059ffd788e6c4946f71ef66c">ln_ten</a> ()</td></tr>
 <tr class="memdesc:gaf97ebc6c059ffd788e6c4946f71ef66c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return ln(10).  <a href="a00908.html#gaf97ebc6c059ffd788e6c4946f71ef66c">More...</a><br /></td></tr>
 <tr class="separator:gaf97ebc6c059ffd788e6c4946f71ef66c"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga24f4d27765678116f41a2f336ab7975c"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
-<tr class="memitem:ga24f4d27765678116f41a2f336ab7975c"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#ga24f4d27765678116f41a2f336ab7975c">ln_two</a> ()</td></tr>
+<tr class="memitem:ga24f4d27765678116f41a2f336ab7975c"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#ga24f4d27765678116f41a2f336ab7975c">ln_two</a> ()</td></tr>
 <tr class="memdesc:ga24f4d27765678116f41a2f336ab7975c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return ln(2).  <a href="a00908.html#ga24f4d27765678116f41a2f336ab7975c">More...</a><br /></td></tr>
 <tr class="separator:ga24f4d27765678116f41a2f336ab7975c"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga39c2fb227631ca25894326529bdd1ee5"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
-<tr class="memitem:ga39c2fb227631ca25894326529bdd1ee5"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#ga39c2fb227631ca25894326529bdd1ee5">one</a> ()</td></tr>
+<tr class="memitem:ga39c2fb227631ca25894326529bdd1ee5"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#ga39c2fb227631ca25894326529bdd1ee5">one</a> ()</td></tr>
 <tr class="memdesc:ga39c2fb227631ca25894326529bdd1ee5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return 1.  <a href="a00908.html#ga39c2fb227631ca25894326529bdd1ee5">More...</a><br /></td></tr>
 <tr class="separator:ga39c2fb227631ca25894326529bdd1ee5"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga555150da2b06d23c8738981d5013e0eb"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
-<tr class="memitem:ga555150da2b06d23c8738981d5013e0eb"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#ga555150da2b06d23c8738981d5013e0eb">one_over_pi</a> ()</td></tr>
+<tr class="memitem:ga555150da2b06d23c8738981d5013e0eb"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#ga555150da2b06d23c8738981d5013e0eb">one_over_pi</a> ()</td></tr>
 <tr class="memdesc:ga555150da2b06d23c8738981d5013e0eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return 1 / pi.  <a href="a00908.html#ga555150da2b06d23c8738981d5013e0eb">More...</a><br /></td></tr>
 <tr class="separator:ga555150da2b06d23c8738981d5013e0eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga788fa23a0939bac4d1d0205fb4f35818"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
-<tr class="memitem:ga788fa23a0939bac4d1d0205fb4f35818"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#ga788fa23a0939bac4d1d0205fb4f35818">one_over_root_two</a> ()</td></tr>
+<tr class="memitem:ga788fa23a0939bac4d1d0205fb4f35818"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#ga788fa23a0939bac4d1d0205fb4f35818">one_over_root_two</a> ()</td></tr>
 <tr class="memdesc:ga788fa23a0939bac4d1d0205fb4f35818"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return 1 / sqrt(2).  <a href="a00908.html#ga788fa23a0939bac4d1d0205fb4f35818">More...</a><br /></td></tr>
 <tr class="separator:ga788fa23a0939bac4d1d0205fb4f35818"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga7c922b427986cbb2e4c6ac69874eefbc"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
-<tr class="memitem:ga7c922b427986cbb2e4c6ac69874eefbc"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#ga7c922b427986cbb2e4c6ac69874eefbc">one_over_two_pi</a> ()</td></tr>
+<tr class="memitem:ga7c922b427986cbb2e4c6ac69874eefbc"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#ga7c922b427986cbb2e4c6ac69874eefbc">one_over_two_pi</a> ()</td></tr>
 <tr class="memdesc:ga7c922b427986cbb2e4c6ac69874eefbc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return 1 / (pi * 2).  <a href="a00908.html#ga7c922b427986cbb2e4c6ac69874eefbc">More...</a><br /></td></tr>
 <tr class="separator:ga7c922b427986cbb2e4c6ac69874eefbc"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga3c9df42bd73c519a995c43f0f99e77e0"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
-<tr class="memitem:ga3c9df42bd73c519a995c43f0f99e77e0"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#ga3c9df42bd73c519a995c43f0f99e77e0">quarter_pi</a> ()</td></tr>
+<tr class="memitem:ga3c9df42bd73c519a995c43f0f99e77e0"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#ga3c9df42bd73c519a995c43f0f99e77e0">quarter_pi</a> ()</td></tr>
 <tr class="memdesc:ga3c9df42bd73c519a995c43f0f99e77e0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return pi / 4.  <a href="a00908.html#ga3c9df42bd73c519a995c43f0f99e77e0">More...</a><br /></td></tr>
 <tr class="separator:ga3c9df42bd73c519a995c43f0f99e77e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gae9ebbded75b53d4faeb1e4ef8b3347a2"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
-<tr class="memitem:gae9ebbded75b53d4faeb1e4ef8b3347a2"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#gae9ebbded75b53d4faeb1e4ef8b3347a2">root_five</a> ()</td></tr>
+<tr class="memitem:gae9ebbded75b53d4faeb1e4ef8b3347a2"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#gae9ebbded75b53d4faeb1e4ef8b3347a2">root_five</a> ()</td></tr>
 <tr class="memdesc:gae9ebbded75b53d4faeb1e4ef8b3347a2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return sqrt(5).  <a href="a00908.html#gae9ebbded75b53d4faeb1e4ef8b3347a2">More...</a><br /></td></tr>
 <tr class="separator:gae9ebbded75b53d4faeb1e4ef8b3347a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga4e276cb823cc5e612d4f89ed99c75039"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
-<tr class="memitem:ga4e276cb823cc5e612d4f89ed99c75039"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#ga4e276cb823cc5e612d4f89ed99c75039">root_half_pi</a> ()</td></tr>
+<tr class="memitem:ga4e276cb823cc5e612d4f89ed99c75039"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#ga4e276cb823cc5e612d4f89ed99c75039">root_half_pi</a> ()</td></tr>
 <tr class="memdesc:ga4e276cb823cc5e612d4f89ed99c75039"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return sqrt(pi / 2).  <a href="a00908.html#ga4e276cb823cc5e612d4f89ed99c75039">More...</a><br /></td></tr>
 <tr class="separator:ga4e276cb823cc5e612d4f89ed99c75039"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga4129412e96b33707a77c1a07652e23e2"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
-<tr class="memitem:ga4129412e96b33707a77c1a07652e23e2"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#ga4129412e96b33707a77c1a07652e23e2">root_ln_four</a> ()</td></tr>
+<tr class="memitem:ga4129412e96b33707a77c1a07652e23e2"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#ga4129412e96b33707a77c1a07652e23e2">root_ln_four</a> ()</td></tr>
 <tr class="memdesc:ga4129412e96b33707a77c1a07652e23e2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return sqrt(ln(4)).  <a href="a00908.html#ga4129412e96b33707a77c1a07652e23e2">More...</a><br /></td></tr>
 <tr class="separator:ga4129412e96b33707a77c1a07652e23e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga261380796b2cd496f68d2cf1d08b8eb9"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
-<tr class="memitem:ga261380796b2cd496f68d2cf1d08b8eb9"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#ga261380796b2cd496f68d2cf1d08b8eb9">root_pi</a> ()</td></tr>
+<tr class="memitem:ga261380796b2cd496f68d2cf1d08b8eb9"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#ga261380796b2cd496f68d2cf1d08b8eb9">root_pi</a> ()</td></tr>
 <tr class="memdesc:ga261380796b2cd496f68d2cf1d08b8eb9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return square root of pi.  <a href="a00908.html#ga261380796b2cd496f68d2cf1d08b8eb9">More...</a><br /></td></tr>
 <tr class="separator:ga261380796b2cd496f68d2cf1d08b8eb9"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga4f286be4abe88be1eed7d2a9f6cb193e"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
-<tr class="memitem:ga4f286be4abe88be1eed7d2a9f6cb193e"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#ga4f286be4abe88be1eed7d2a9f6cb193e">root_three</a> ()</td></tr>
+<tr class="memitem:ga4f286be4abe88be1eed7d2a9f6cb193e"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#ga4f286be4abe88be1eed7d2a9f6cb193e">root_three</a> ()</td></tr>
 <tr class="memdesc:ga4f286be4abe88be1eed7d2a9f6cb193e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return sqrt(3).  <a href="a00908.html#ga4f286be4abe88be1eed7d2a9f6cb193e">More...</a><br /></td></tr>
 <tr class="separator:ga4f286be4abe88be1eed7d2a9f6cb193e"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga74e607d29020f100c0d0dc46ce2ca950"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
-<tr class="memitem:ga74e607d29020f100c0d0dc46ce2ca950"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#ga74e607d29020f100c0d0dc46ce2ca950">root_two</a> ()</td></tr>
+<tr class="memitem:ga74e607d29020f100c0d0dc46ce2ca950"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#ga74e607d29020f100c0d0dc46ce2ca950">root_two</a> ()</td></tr>
 <tr class="memdesc:ga74e607d29020f100c0d0dc46ce2ca950"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return sqrt(2).  <a href="a00908.html#ga74e607d29020f100c0d0dc46ce2ca950">More...</a><br /></td></tr>
 <tr class="separator:ga74e607d29020f100c0d0dc46ce2ca950"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga2bcedc575039fe0cd765742f8bbb0bd3"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
-<tr class="memitem:ga2bcedc575039fe0cd765742f8bbb0bd3"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#ga2bcedc575039fe0cd765742f8bbb0bd3">root_two_pi</a> ()</td></tr>
+<tr class="memitem:ga2bcedc575039fe0cd765742f8bbb0bd3"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#ga2bcedc575039fe0cd765742f8bbb0bd3">root_two_pi</a> ()</td></tr>
 <tr class="memdesc:ga2bcedc575039fe0cd765742f8bbb0bd3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return sqrt(2 * pi).  <a href="a00908.html#ga2bcedc575039fe0cd765742f8bbb0bd3">More...</a><br /></td></tr>
 <tr class="separator:ga2bcedc575039fe0cd765742f8bbb0bd3"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gae645d3bb4076df6976b3c0821831b422"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
-<tr class="memitem:gae645d3bb4076df6976b3c0821831b422"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#gae645d3bb4076df6976b3c0821831b422">tau</a> ()</td></tr>
+<tr class="memitem:gae645d3bb4076df6976b3c0821831b422"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#gae645d3bb4076df6976b3c0821831b422">tau</a> ()</td></tr>
 <tr class="memdesc:gae645d3bb4076df6976b3c0821831b422"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return unit-circle circumference, or pi * 2.  <a href="a00908.html#gae645d3bb4076df6976b3c0821831b422">More...</a><br /></td></tr>
 <tr class="separator:gae645d3bb4076df6976b3c0821831b422"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga3077c6311010a214b69ddc8214ec13b5"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
-<tr class="memitem:ga3077c6311010a214b69ddc8214ec13b5"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#ga3077c6311010a214b69ddc8214ec13b5">third</a> ()</td></tr>
+<tr class="memitem:ga3077c6311010a214b69ddc8214ec13b5"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#ga3077c6311010a214b69ddc8214ec13b5">third</a> ()</td></tr>
 <tr class="memdesc:ga3077c6311010a214b69ddc8214ec13b5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return 1 / 3.  <a href="a00908.html#ga3077c6311010a214b69ddc8214ec13b5">More...</a><br /></td></tr>
 <tr class="separator:ga3077c6311010a214b69ddc8214ec13b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gae94950df74b0ce382b1fc1d978ef7394"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
-<tr class="memitem:gae94950df74b0ce382b1fc1d978ef7394"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#gae94950df74b0ce382b1fc1d978ef7394">three_over_two_pi</a> ()</td></tr>
+<tr class="memitem:gae94950df74b0ce382b1fc1d978ef7394"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#gae94950df74b0ce382b1fc1d978ef7394">three_over_two_pi</a> ()</td></tr>
 <tr class="memdesc:gae94950df74b0ce382b1fc1d978ef7394"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return pi / 2 * 3.  <a href="a00908.html#gae94950df74b0ce382b1fc1d978ef7394">More...</a><br /></td></tr>
 <tr class="separator:gae94950df74b0ce382b1fc1d978ef7394"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga74eadc8a211253079683219a3ea0462a"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
-<tr class="memitem:ga74eadc8a211253079683219a3ea0462a"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#ga74eadc8a211253079683219a3ea0462a">two_over_pi</a> ()</td></tr>
+<tr class="memitem:ga74eadc8a211253079683219a3ea0462a"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#ga74eadc8a211253079683219a3ea0462a">two_over_pi</a> ()</td></tr>
 <tr class="memdesc:ga74eadc8a211253079683219a3ea0462a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return 2 / pi.  <a href="a00908.html#ga74eadc8a211253079683219a3ea0462a">More...</a><br /></td></tr>
 <tr class="separator:ga74eadc8a211253079683219a3ea0462a"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga5827301817640843cf02026a8d493894"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
-<tr class="memitem:ga5827301817640843cf02026a8d493894"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#ga5827301817640843cf02026a8d493894">two_over_root_pi</a> ()</td></tr>
+<tr class="memitem:ga5827301817640843cf02026a8d493894"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#ga5827301817640843cf02026a8d493894">two_over_root_pi</a> ()</td></tr>
 <tr class="memdesc:ga5827301817640843cf02026a8d493894"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return 2 / sqrt(pi).  <a href="a00908.html#ga5827301817640843cf02026a8d493894">More...</a><br /></td></tr>
 <tr class="separator:ga5827301817640843cf02026a8d493894"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gaa5276a4617566abcfe49286f40e3a256"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
-<tr class="memitem:gaa5276a4617566abcfe49286f40e3a256"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#gaa5276a4617566abcfe49286f40e3a256">two_pi</a> ()</td></tr>
+<tr class="memitem:gaa5276a4617566abcfe49286f40e3a256"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#gaa5276a4617566abcfe49286f40e3a256">two_pi</a> ()</td></tr>
 <tr class="memdesc:gaa5276a4617566abcfe49286f40e3a256"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return pi * 2.  <a href="a00908.html#gaa5276a4617566abcfe49286f40e3a256">More...</a><br /></td></tr>
 <tr class="separator:gaa5276a4617566abcfe49286f40e3a256"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga9b4d2f4322edcf63a6737b92a29dd1f5"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
-<tr class="memitem:ga9b4d2f4322edcf63a6737b92a29dd1f5"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#ga9b4d2f4322edcf63a6737b92a29dd1f5">two_thirds</a> ()</td></tr>
+<tr class="memitem:ga9b4d2f4322edcf63a6737b92a29dd1f5"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#ga9b4d2f4322edcf63a6737b92a29dd1f5">two_thirds</a> ()</td></tr>
 <tr class="memdesc:ga9b4d2f4322edcf63a6737b92a29dd1f5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return 2 / 3.  <a href="a00908.html#ga9b4d2f4322edcf63a6737b92a29dd1f5">More...</a><br /></td></tr>
 <tr class="separator:ga9b4d2f4322edcf63a6737b92a29dd1f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga788f5a421fc0f40a1296ebc094cbaa8a"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
-<tr class="memitem:ga788f5a421fc0f40a1296ebc094cbaa8a"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#ga788f5a421fc0f40a1296ebc094cbaa8a">zero</a> ()</td></tr>
+<tr class="memitem:ga788f5a421fc0f40a1296ebc094cbaa8a"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00908.html#ga788f5a421fc0f40a1296ebc094cbaa8a">zero</a> ()</td></tr>
 <tr class="memdesc:ga788f5a421fc0f40a1296ebc094cbaa8a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return 0.  <a href="a00908.html#ga788f5a421fc0f40a1296ebc094cbaa8a">More...</a><br /></td></tr>
 <tr class="separator:ga788f5a421fc0f40a1296ebc094cbaa8a"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>
@@ -195,7 +195,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR genType glm::e </td>
+          <td class="memname">GLM_FUNC_DECL constexpr genType glm::e </td>
           <td>(</td>
           <td class="paramname"></td><td>)</td>
           <td></td>
@@ -215,7 +215,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR genType glm::euler </td>
+          <td class="memname">GLM_FUNC_DECL constexpr genType glm::euler </td>
           <td>(</td>
           <td class="paramname"></td><td>)</td>
           <td></td>
@@ -235,7 +235,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR genType glm::four_over_pi </td>
+          <td class="memname">GLM_FUNC_DECL constexpr genType glm::four_over_pi </td>
           <td>(</td>
           <td class="paramname"></td><td>)</td>
           <td></td>
@@ -255,7 +255,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR genType glm::golden_ratio </td>
+          <td class="memname">GLM_FUNC_DECL constexpr genType glm::golden_ratio </td>
           <td>(</td>
           <td class="paramname"></td><td>)</td>
           <td></td>
@@ -275,7 +275,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR genType glm::half_pi </td>
+          <td class="memname">GLM_FUNC_DECL constexpr genType glm::half_pi </td>
           <td>(</td>
           <td class="paramname"></td><td>)</td>
           <td></td>
@@ -295,7 +295,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR genType glm::ln_ln_two </td>
+          <td class="memname">GLM_FUNC_DECL constexpr genType glm::ln_ln_two </td>
           <td>(</td>
           <td class="paramname"></td><td>)</td>
           <td></td>
@@ -315,7 +315,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR genType glm::ln_ten </td>
+          <td class="memname">GLM_FUNC_DECL constexpr genType glm::ln_ten </td>
           <td>(</td>
           <td class="paramname"></td><td>)</td>
           <td></td>
@@ -335,7 +335,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR genType glm::ln_two </td>
+          <td class="memname">GLM_FUNC_DECL constexpr genType glm::ln_two </td>
           <td>(</td>
           <td class="paramname"></td><td>)</td>
           <td></td>
@@ -355,7 +355,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR genType glm::one </td>
+          <td class="memname">GLM_FUNC_DECL constexpr genType glm::one </td>
           <td>(</td>
           <td class="paramname"></td><td>)</td>
           <td></td>
@@ -375,7 +375,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR genType glm::one_over_pi </td>
+          <td class="memname">GLM_FUNC_DECL constexpr genType glm::one_over_pi </td>
           <td>(</td>
           <td class="paramname"></td><td>)</td>
           <td></td>
@@ -395,7 +395,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR genType glm::one_over_root_two </td>
+          <td class="memname">GLM_FUNC_DECL constexpr genType glm::one_over_root_two </td>
           <td>(</td>
           <td class="paramname"></td><td>)</td>
           <td></td>
@@ -415,7 +415,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR genType glm::one_over_two_pi </td>
+          <td class="memname">GLM_FUNC_DECL constexpr genType glm::one_over_two_pi </td>
           <td>(</td>
           <td class="paramname"></td><td>)</td>
           <td></td>
@@ -435,7 +435,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR genType glm::quarter_pi </td>
+          <td class="memname">GLM_FUNC_DECL constexpr genType glm::quarter_pi </td>
           <td>(</td>
           <td class="paramname"></td><td>)</td>
           <td></td>
@@ -455,7 +455,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR genType glm::root_five </td>
+          <td class="memname">GLM_FUNC_DECL constexpr genType glm::root_five </td>
           <td>(</td>
           <td class="paramname"></td><td>)</td>
           <td></td>
@@ -475,7 +475,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR genType glm::root_half_pi </td>
+          <td class="memname">GLM_FUNC_DECL constexpr genType glm::root_half_pi </td>
           <td>(</td>
           <td class="paramname"></td><td>)</td>
           <td></td>
@@ -495,7 +495,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR genType glm::root_ln_four </td>
+          <td class="memname">GLM_FUNC_DECL constexpr genType glm::root_ln_four </td>
           <td>(</td>
           <td class="paramname"></td><td>)</td>
           <td></td>
@@ -515,7 +515,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR genType glm::root_pi </td>
+          <td class="memname">GLM_FUNC_DECL constexpr genType glm::root_pi </td>
           <td>(</td>
           <td class="paramname"></td><td>)</td>
           <td></td>
@@ -535,7 +535,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR genType glm::root_three </td>
+          <td class="memname">GLM_FUNC_DECL constexpr genType glm::root_three </td>
           <td>(</td>
           <td class="paramname"></td><td>)</td>
           <td></td>
@@ -555,7 +555,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR genType glm::root_two </td>
+          <td class="memname">GLM_FUNC_DECL constexpr genType glm::root_two </td>
           <td>(</td>
           <td class="paramname"></td><td>)</td>
           <td></td>
@@ -575,7 +575,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR genType glm::root_two_pi </td>
+          <td class="memname">GLM_FUNC_DECL constexpr genType glm::root_two_pi </td>
           <td>(</td>
           <td class="paramname"></td><td>)</td>
           <td></td>
@@ -595,7 +595,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR genType glm::tau </td>
+          <td class="memname">GLM_FUNC_DECL constexpr genType glm::tau </td>
           <td>(</td>
           <td class="paramname"></td><td>)</td>
           <td></td>
@@ -615,7 +615,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR genType glm::third </td>
+          <td class="memname">GLM_FUNC_DECL constexpr genType glm::third </td>
           <td>(</td>
           <td class="paramname"></td><td>)</td>
           <td></td>
@@ -635,7 +635,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR genType glm::three_over_two_pi </td>
+          <td class="memname">GLM_FUNC_DECL constexpr genType glm::three_over_two_pi </td>
           <td>(</td>
           <td class="paramname"></td><td>)</td>
           <td></td>
@@ -655,7 +655,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR genType glm::two_over_pi </td>
+          <td class="memname">GLM_FUNC_DECL constexpr genType glm::two_over_pi </td>
           <td>(</td>
           <td class="paramname"></td><td>)</td>
           <td></td>
@@ -675,7 +675,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR genType glm::two_over_root_pi </td>
+          <td class="memname">GLM_FUNC_DECL constexpr genType glm::two_over_root_pi </td>
           <td>(</td>
           <td class="paramname"></td><td>)</td>
           <td></td>
@@ -695,7 +695,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR genType glm::two_pi </td>
+          <td class="memname">GLM_FUNC_DECL constexpr genType glm::two_pi </td>
           <td>(</td>
           <td class="paramname"></td><td>)</td>
           <td></td>
@@ -715,7 +715,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR genType glm::two_thirds </td>
+          <td class="memname">GLM_FUNC_DECL constexpr genType glm::two_thirds </td>
           <td>(</td>
           <td class="paramname"></td><td>)</td>
           <td></td>
@@ -735,7 +735,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR genType glm::zero </td>
+          <td class="memname">GLM_FUNC_DECL constexpr genType glm::zero </td>
           <td>(</td>
           <td class="paramname"></td><td>)</td>
           <td></td>

+ 8 - 8
doc/api/a00917.html

@@ -76,19 +76,19 @@ Functions</h2></td></tr>
 <tr class="memdesc:gaf4dd967dead22dd932fc7460ceecb03f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns euler angles, pitch as x, yaw as y, roll as z.  <a href="a00917.html#gaf4dd967dead22dd932fc7460ceecb03f">More...</a><br /></td></tr>
 <tr class="separator:gaf4dd967dead22dd932fc7460ceecb03f"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gab52513c338f90e9ba249faabdc115b67"><td class="memTemplParams" colspan="2">template&lt;typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:gab52513c338f90e9ba249faabdc115b67"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; 4, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00917.html#gab52513c338f90e9ba249faabdc115b67">greaterThan</a> (qua&lt; T, Q &gt; const &amp;x, qua&lt; T, Q &gt; const &amp;y)</td></tr>
+<tr class="memitem:gab52513c338f90e9ba249faabdc115b67"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr vec&lt; 4, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00917.html#gab52513c338f90e9ba249faabdc115b67">greaterThan</a> (qua&lt; T, Q &gt; const &amp;x, qua&lt; T, Q &gt; const &amp;y)</td></tr>
 <tr class="memdesc:gab52513c338f90e9ba249faabdc115b67"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the component-wise comparison of result x &gt; y.  <a href="a00917.html#gab52513c338f90e9ba249faabdc115b67">More...</a><br /></td></tr>
 <tr class="separator:gab52513c338f90e9ba249faabdc115b67"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gaa71814c544f0ed99ba6d141b17e026ae"><td class="memTemplParams" colspan="2">template&lt;typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:gaa71814c544f0ed99ba6d141b17e026ae"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; 4, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00917.html#gaa71814c544f0ed99ba6d141b17e026ae">greaterThanEqual</a> (qua&lt; T, Q &gt; const &amp;x, qua&lt; T, Q &gt; const &amp;y)</td></tr>
+<tr class="memitem:gaa71814c544f0ed99ba6d141b17e026ae"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr vec&lt; 4, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00917.html#gaa71814c544f0ed99ba6d141b17e026ae">greaterThanEqual</a> (qua&lt; T, Q &gt; const &amp;x, qua&lt; T, Q &gt; const &amp;y)</td></tr>
 <tr class="memdesc:gaa71814c544f0ed99ba6d141b17e026ae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the component-wise comparison of result x &gt;= y.  <a href="a00917.html#gaa71814c544f0ed99ba6d141b17e026ae">More...</a><br /></td></tr>
 <tr class="separator:gaa71814c544f0ed99ba6d141b17e026ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gae0ed978b5c2588d53b220e9ceebaca0b"><td class="memTemplParams" colspan="2">template&lt;typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:gae0ed978b5c2588d53b220e9ceebaca0b"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; 4, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00917.html#gae0ed978b5c2588d53b220e9ceebaca0b">lessThan</a> (qua&lt; T, Q &gt; const &amp;x, qua&lt; T, Q &gt; const &amp;y)</td></tr>
+<tr class="memitem:gae0ed978b5c2588d53b220e9ceebaca0b"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr vec&lt; 4, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00917.html#gae0ed978b5c2588d53b220e9ceebaca0b">lessThan</a> (qua&lt; T, Q &gt; const &amp;x, qua&lt; T, Q &gt; const &amp;y)</td></tr>
 <tr class="memdesc:gae0ed978b5c2588d53b220e9ceebaca0b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the component-wise comparison result of x &lt; y.  <a href="a00917.html#gae0ed978b5c2588d53b220e9ceebaca0b">More...</a><br /></td></tr>
 <tr class="separator:gae0ed978b5c2588d53b220e9ceebaca0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga3ee1ffe56e5428f659c51a5bfd67ab33"><td class="memTemplParams" colspan="2">template&lt;typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:ga3ee1ffe56e5428f659c51a5bfd67ab33"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; 4, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00917.html#ga3ee1ffe56e5428f659c51a5bfd67ab33">lessThanEqual</a> (qua&lt; T, Q &gt; const &amp;x, qua&lt; T, Q &gt; const &amp;y)</td></tr>
+<tr class="memitem:ga3ee1ffe56e5428f659c51a5bfd67ab33"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr vec&lt; 4, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00917.html#ga3ee1ffe56e5428f659c51a5bfd67ab33">lessThanEqual</a> (qua&lt; T, Q &gt; const &amp;x, qua&lt; T, Q &gt; const &amp;y)</td></tr>
 <tr class="memdesc:ga3ee1ffe56e5428f659c51a5bfd67ab33"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the component-wise comparison of result x &lt;= y.  <a href="a00917.html#ga3ee1ffe56e5428f659c51a5bfd67ab33">More...</a><br /></td></tr>
 <tr class="separator:ga3ee1ffe56e5428f659c51a5bfd67ab33"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga333ab70047fbe4132406100c292dbc89"><td class="memTemplParams" colspan="2">template&lt;typename T , qualifier Q&gt; </td></tr>
@@ -171,7 +171,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;4, bool, Q&gt; glm::greaterThan </td>
+          <td class="memname">GLM_FUNC_DECL constexpr vec&lt;4, bool, Q&gt; glm::greaterThan </td>
           <td>(</td>
           <td class="paramtype">qua&lt; T, Q &gt; const &amp;&#160;</td>
           <td class="paramname"><em>x</em>, </td>
@@ -209,7 +209,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;4, bool, Q&gt; glm::greaterThanEqual </td>
+          <td class="memname">GLM_FUNC_DECL constexpr vec&lt;4, bool, Q&gt; glm::greaterThanEqual </td>
           <td>(</td>
           <td class="paramtype">qua&lt; T, Q &gt; const &amp;&#160;</td>
           <td class="paramname"><em>x</em>, </td>
@@ -247,7 +247,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;4, bool, Q&gt; glm::lessThan </td>
+          <td class="memname">GLM_FUNC_DECL constexpr vec&lt;4, bool, Q&gt; glm::lessThan </td>
           <td>(</td>
           <td class="paramtype">qua&lt; T, Q &gt; const &amp;&#160;</td>
           <td class="paramname"><em>x</em>, </td>
@@ -285,7 +285,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;4, bool, Q&gt; glm::lessThanEqual </td>
+          <td class="memname">GLM_FUNC_DECL constexpr vec&lt;4, bool, Q&gt; glm::lessThanEqual </td>
           <td>(</td>
           <td class="paramtype">qua&lt; T, Q &gt; const &amp;&#160;</td>
           <td class="paramname"><em>x</em>, </td>

+ 2 - 2
doc/api/a00940.html

@@ -75,7 +75,7 @@ $(function() {
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
 Functions</h2></td></tr>
 <tr class="memitem:gac5814d419dbc957de01dc9a3f3196be5"><td class="memTemplParams" colspan="2">template&lt;typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:gac5814d419dbc957de01dc9a3f3196be5"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00940.html#gac5814d419dbc957de01dc9a3f3196be5">cross</a> (vec&lt; 2, T, Q &gt; const &amp;v, vec&lt; 2, T, Q &gt; const &amp;u)</td></tr>
+<tr class="memitem:gac5814d419dbc957de01dc9a3f3196be5"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00940.html#gac5814d419dbc957de01dc9a3f3196be5">cross</a> (vec&lt; 2, T, Q &gt; const &amp;v, vec&lt; 2, T, Q &gt; const &amp;u)</td></tr>
 <tr class="memdesc:gac5814d419dbc957de01dc9a3f3196be5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the cross product of x and y.  <a href="a00940.html#gac5814d419dbc957de01dc9a3f3196be5">More...</a><br /></td></tr>
 <tr class="separator:gac5814d419dbc957de01dc9a3f3196be5"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>
@@ -90,7 +90,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR T glm::cross </td>
+          <td class="memname">GLM_FUNC_DECL constexpr T glm::cross </td>
           <td>(</td>
           <td class="paramtype">vec&lt; 2, T, Q &gt; const &amp;&#160;</td>
           <td class="paramname"><em>v</em>, </td>

+ 8 - 8
doc/api/a00972.html

@@ -72,11 +72,11 @@ $(function() {
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
 Functions</h2></td></tr>
 <tr class="memitem:gacbbbf93d24828d6bd9ba48d43abc985e"><td class="memTemplParams" colspan="2">template&lt;typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:gacbbbf93d24828d6bd9ba48d43abc985e"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; 3, T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00972.html#gacbbbf93d24828d6bd9ba48d43abc985e">cross</a> (qua&lt; T, Q &gt; const &amp;q, vec&lt; 3, T, Q &gt; const &amp;v)</td></tr>
+<tr class="memitem:gacbbbf93d24828d6bd9ba48d43abc985e"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr vec&lt; 3, T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00972.html#gacbbbf93d24828d6bd9ba48d43abc985e">cross</a> (qua&lt; T, Q &gt; const &amp;q, vec&lt; 3, T, Q &gt; const &amp;v)</td></tr>
 <tr class="memdesc:gacbbbf93d24828d6bd9ba48d43abc985e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute a cross product between a quaternion and a vector.  <a href="a00972.html#gacbbbf93d24828d6bd9ba48d43abc985e">More...</a><br /></td></tr>
 <tr class="separator:gacbbbf93d24828d6bd9ba48d43abc985e"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga7877a1ec00e43bbfccf6dd11894c0536"><td class="memTemplParams" colspan="2">template&lt;typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:ga7877a1ec00e43bbfccf6dd11894c0536"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; 3, T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00972.html#ga7877a1ec00e43bbfccf6dd11894c0536">cross</a> (vec&lt; 3, T, Q &gt; const &amp;v, qua&lt; T, Q &gt; const &amp;q)</td></tr>
+<tr class="memitem:ga7877a1ec00e43bbfccf6dd11894c0536"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr vec&lt; 3, T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00972.html#ga7877a1ec00e43bbfccf6dd11894c0536">cross</a> (vec&lt; 3, T, Q &gt; const &amp;v, qua&lt; T, Q &gt; const &amp;q)</td></tr>
 <tr class="memdesc:ga7877a1ec00e43bbfccf6dd11894c0536"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute a cross product between a vector and a quaternion.  <a href="a00972.html#ga7877a1ec00e43bbfccf6dd11894c0536">More...</a><br /></td></tr>
 <tr class="separator:ga7877a1ec00e43bbfccf6dd11894c0536"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga321953c1b2e7befe6f5dcfddbfc6b76b"><td class="memTemplParams" colspan="2">template&lt;typename T , qualifier Q&gt; </td></tr>
@@ -92,11 +92,11 @@ Functions</h2></td></tr>
 <tr class="memdesc:gacc5cd5f3e78de61d141c2355417424de"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an intermediate control point for squad interpolation.  <a href="a00972.html#gacc5cd5f3e78de61d141c2355417424de">More...</a><br /></td></tr>
 <tr class="separator:gacc5cd5f3e78de61d141c2355417424de"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga08eb643306c5ba9211a81b322bc89543"><td class="memTemplParams" colspan="2">template&lt;typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:ga08eb643306c5ba9211a81b322bc89543"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00972.html#ga08eb643306c5ba9211a81b322bc89543">length2</a> (qua&lt; T, Q &gt; const &amp;q)</td></tr>
+<tr class="memitem:ga08eb643306c5ba9211a81b322bc89543"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00972.html#ga08eb643306c5ba9211a81b322bc89543">length2</a> (qua&lt; T, Q &gt; const &amp;q)</td></tr>
 <tr class="memdesc:ga08eb643306c5ba9211a81b322bc89543"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the squared length of x.  <a href="a00972.html#ga08eb643306c5ba9211a81b322bc89543">More...</a><br /></td></tr>
 <tr class="separator:ga08eb643306c5ba9211a81b322bc89543"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga77d9e2c313b98a1002a1b12408bf5b45"><td class="memTemplParams" colspan="2">template&lt;typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:ga77d9e2c313b98a1002a1b12408bf5b45"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR qua&lt; T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00972.html#ga77d9e2c313b98a1002a1b12408bf5b45">quat_identity</a> ()</td></tr>
+<tr class="memitem:ga77d9e2c313b98a1002a1b12408bf5b45"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr qua&lt; T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00972.html#ga77d9e2c313b98a1002a1b12408bf5b45">quat_identity</a> ()</td></tr>
 <tr class="memdesc:ga77d9e2c313b98a1002a1b12408bf5b45"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create an identity quaternion.  <a href="a00972.html#ga77d9e2c313b98a1002a1b12408bf5b45">More...</a><br /></td></tr>
 <tr class="separator:ga77d9e2c313b98a1002a1b12408bf5b45"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga07da6ef58646442efe93b0c273d73776"><td class="memTemplParams" colspan="2">template&lt;typename T , qualifier Q&gt; </td></tr>
@@ -147,7 +147,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; glm::cross </td>
+          <td class="memname">GLM_FUNC_DECL constexpr vec&lt;3, T, Q&gt; glm::cross </td>
           <td>(</td>
           <td class="paramtype">qua&lt; T, Q &gt; const &amp;&#160;</td>
           <td class="paramname"><em>q</em>, </td>
@@ -178,7 +178,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; glm::cross </td>
+          <td class="memname">GLM_FUNC_DECL constexpr vec&lt;3, T, Q&gt; glm::cross </td>
           <td>(</td>
           <td class="paramtype">vec&lt; 3, T, Q &gt; const &amp;&#160;</td>
           <td class="paramname"><em>v</em>, </td>
@@ -304,7 +304,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR T glm::length2 </td>
+          <td class="memname">GLM_FUNC_DECL constexpr T glm::length2 </td>
           <td>(</td>
           <td class="paramtype">qua&lt; T, Q &gt; const &amp;&#160;</td>
           <td class="paramname"><em>q</em></td><td>)</td>
@@ -325,7 +325,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR qua&lt;T, Q&gt; glm::quat_identity </td>
+          <td class="memname">GLM_FUNC_DECL constexpr qua&lt;T, Q&gt; glm::quat_identity </td>
           <td>(</td>
           <td class="paramname"></td><td>)</td>
           <td></td>

+ 4 - 4
doc/api/a00995.html

@@ -108,11 +108,11 @@ Functions</h2></td></tr>
 <tr class="memdesc:ga4e260e372742c5f517aca196cf1e62b3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the hyperbolic cosine function, (exp(x) + exp(-x)) / 2.  <a href="a00995.html#ga4e260e372742c5f517aca196cf1e62b3">More...</a><br /></td></tr>
 <tr class="separator:ga4e260e372742c5f517aca196cf1e62b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga8faec9e303538065911ba8b3caf7326b"><td class="memTemplParams" colspan="2">template&lt;length_t L, typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:ga8faec9e303538065911ba8b3caf7326b"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; L, T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00995.html#ga8faec9e303538065911ba8b3caf7326b">degrees</a> (vec&lt; L, T, Q &gt; const &amp;radians)</td></tr>
+<tr class="memitem:ga8faec9e303538065911ba8b3caf7326b"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr vec&lt; L, T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00995.html#ga8faec9e303538065911ba8b3caf7326b">degrees</a> (vec&lt; L, T, Q &gt; const &amp;radians)</td></tr>
 <tr class="memdesc:ga8faec9e303538065911ba8b3caf7326b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Converts radians to degrees and returns the result.  <a href="a00995.html#ga8faec9e303538065911ba8b3caf7326b">More...</a><br /></td></tr>
 <tr class="separator:ga8faec9e303538065911ba8b3caf7326b"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga6e1db4862c5e25afd553930e2fdd6a68"><td class="memTemplParams" colspan="2">template&lt;length_t L, typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:ga6e1db4862c5e25afd553930e2fdd6a68"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; L, T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00995.html#ga6e1db4862c5e25afd553930e2fdd6a68">radians</a> (vec&lt; L, T, Q &gt; const &amp;degrees)</td></tr>
+<tr class="memitem:ga6e1db4862c5e25afd553930e2fdd6a68"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr vec&lt; L, T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00995.html#ga6e1db4862c5e25afd553930e2fdd6a68">radians</a> (vec&lt; L, T, Q &gt; const &amp;degrees)</td></tr>
 <tr class="memdesc:ga6e1db4862c5e25afd553930e2fdd6a68"><td class="mdescLeft">&#160;</td><td class="mdescRight">Converts degrees to radians and returns the result.  <a href="a00995.html#ga6e1db4862c5e25afd553930e2fdd6a68">More...</a><br /></td></tr>
 <tr class="separator:ga6e1db4862c5e25afd553930e2fdd6a68"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga29747fd108cb7292ae5a284f69691a69"><td class="memTemplParams" colspan="2">template&lt;length_t L, typename T , qualifier Q&gt; </td></tr>
@@ -443,7 +443,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;L, T, Q&gt; glm::degrees </td>
+          <td class="memname">GLM_FUNC_DECL constexpr vec&lt;L, T, Q&gt; glm::degrees </td>
           <td>(</td>
           <td class="paramtype">vec&lt; L, T, Q &gt; const &amp;&#160;</td>
           <td class="paramname"><em>radians</em></td><td>)</td>
@@ -474,7 +474,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;L, T, Q&gt; glm::radians </td>
+          <td class="memname">GLM_FUNC_DECL constexpr vec&lt;L, T, Q&gt; glm::radians </td>
           <td>(</td>
           <td class="paramtype">vec&lt; L, T, Q &gt; const &amp;&#160;</td>
           <td class="paramname"><em>degrees</em></td><td>)</td>

+ 18 - 18
doc/api/a00996.html

@@ -72,39 +72,39 @@ $(function() {
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
 Functions</h2></td></tr>
 <tr class="memitem:ga87e53f50b679f5f95c5cb4780311b3dd"><td class="memTemplParams" colspan="2">template&lt;length_t L, qualifier Q&gt; </td></tr>
-<tr class="memitem:ga87e53f50b679f5f95c5cb4780311b3dd"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00996.html#ga87e53f50b679f5f95c5cb4780311b3dd">all</a> (vec&lt; L, bool, Q &gt; const &amp;v)</td></tr>
+<tr class="memitem:ga87e53f50b679f5f95c5cb4780311b3dd"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00996.html#ga87e53f50b679f5f95c5cb4780311b3dd">all</a> (vec&lt; L, bool, Q &gt; const &amp;v)</td></tr>
 <tr class="memdesc:ga87e53f50b679f5f95c5cb4780311b3dd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if all components of x are true.  <a href="a00996.html#ga87e53f50b679f5f95c5cb4780311b3dd">More...</a><br /></td></tr>
 <tr class="separator:ga87e53f50b679f5f95c5cb4780311b3dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga911b3f8e41459dd551ccb6d385d91061"><td class="memTemplParams" colspan="2">template&lt;length_t L, qualifier Q&gt; </td></tr>
-<tr class="memitem:ga911b3f8e41459dd551ccb6d385d91061"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00996.html#ga911b3f8e41459dd551ccb6d385d91061">any</a> (vec&lt; L, bool, Q &gt; const &amp;v)</td></tr>
+<tr class="memitem:ga911b3f8e41459dd551ccb6d385d91061"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00996.html#ga911b3f8e41459dd551ccb6d385d91061">any</a> (vec&lt; L, bool, Q &gt; const &amp;v)</td></tr>
 <tr class="memdesc:ga911b3f8e41459dd551ccb6d385d91061"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if any component of x is true.  <a href="a00996.html#ga911b3f8e41459dd551ccb6d385d91061">More...</a><br /></td></tr>
 <tr class="separator:ga911b3f8e41459dd551ccb6d385d91061"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gab4c5cfdaa70834421397a85aa83ad946"><td class="memTemplParams" colspan="2">template&lt;length_t L, typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:gab4c5cfdaa70834421397a85aa83ad946"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; L, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00996.html#gab4c5cfdaa70834421397a85aa83ad946">equal</a> (vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y)</td></tr>
+<tr class="memitem:gab4c5cfdaa70834421397a85aa83ad946"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr vec&lt; L, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00996.html#gab4c5cfdaa70834421397a85aa83ad946">equal</a> (vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y)</td></tr>
 <tr class="memdesc:gab4c5cfdaa70834421397a85aa83ad946"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the component-wise comparison of result x == y.  <a href="a00996.html#gab4c5cfdaa70834421397a85aa83ad946">More...</a><br /></td></tr>
 <tr class="separator:gab4c5cfdaa70834421397a85aa83ad946"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gadfdb8ea82deca869ddc7e63ea5a63ae4"><td class="memTemplParams" colspan="2">template&lt;length_t L, typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:gadfdb8ea82deca869ddc7e63ea5a63ae4"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; L, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00996.html#gadfdb8ea82deca869ddc7e63ea5a63ae4">greaterThan</a> (vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y)</td></tr>
+<tr class="memitem:gadfdb8ea82deca869ddc7e63ea5a63ae4"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr vec&lt; L, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00996.html#gadfdb8ea82deca869ddc7e63ea5a63ae4">greaterThan</a> (vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y)</td></tr>
 <tr class="memdesc:gadfdb8ea82deca869ddc7e63ea5a63ae4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the component-wise comparison of result x &gt; y.  <a href="a00996.html#gadfdb8ea82deca869ddc7e63ea5a63ae4">More...</a><br /></td></tr>
 <tr class="separator:gadfdb8ea82deca869ddc7e63ea5a63ae4"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga859975f538940f8d18fe62f916b9abd7"><td class="memTemplParams" colspan="2">template&lt;length_t L, typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:ga859975f538940f8d18fe62f916b9abd7"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; L, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00996.html#ga859975f538940f8d18fe62f916b9abd7">greaterThanEqual</a> (vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y)</td></tr>
+<tr class="memitem:ga859975f538940f8d18fe62f916b9abd7"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr vec&lt; L, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00996.html#ga859975f538940f8d18fe62f916b9abd7">greaterThanEqual</a> (vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y)</td></tr>
 <tr class="memdesc:ga859975f538940f8d18fe62f916b9abd7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the component-wise comparison of result x &gt;= y.  <a href="a00996.html#ga859975f538940f8d18fe62f916b9abd7">More...</a><br /></td></tr>
 <tr class="separator:ga859975f538940f8d18fe62f916b9abd7"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gae90ed1592c395f93e3f3dfce6b2f39c6"><td class="memTemplParams" colspan="2">template&lt;length_t L, typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:gae90ed1592c395f93e3f3dfce6b2f39c6"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; L, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00996.html#gae90ed1592c395f93e3f3dfce6b2f39c6">lessThan</a> (vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y)</td></tr>
+<tr class="memitem:gae90ed1592c395f93e3f3dfce6b2f39c6"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr vec&lt; L, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00996.html#gae90ed1592c395f93e3f3dfce6b2f39c6">lessThan</a> (vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y)</td></tr>
 <tr class="memdesc:gae90ed1592c395f93e3f3dfce6b2f39c6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the component-wise comparison result of x &lt; y.  <a href="a00996.html#gae90ed1592c395f93e3f3dfce6b2f39c6">More...</a><br /></td></tr>
 <tr class="separator:gae90ed1592c395f93e3f3dfce6b2f39c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gab0bdafc019d227257ff73fb5bcca1718"><td class="memTemplParams" colspan="2">template&lt;length_t L, typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:gab0bdafc019d227257ff73fb5bcca1718"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; L, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00996.html#gab0bdafc019d227257ff73fb5bcca1718">lessThanEqual</a> (vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y)</td></tr>
+<tr class="memitem:gab0bdafc019d227257ff73fb5bcca1718"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr vec&lt; L, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00996.html#gab0bdafc019d227257ff73fb5bcca1718">lessThanEqual</a> (vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y)</td></tr>
 <tr class="memdesc:gab0bdafc019d227257ff73fb5bcca1718"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the component-wise comparison of result x &lt;= y.  <a href="a00996.html#gab0bdafc019d227257ff73fb5bcca1718">More...</a><br /></td></tr>
 <tr class="separator:gab0bdafc019d227257ff73fb5bcca1718"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga610fcd175791fd246e328ffee10dbf1e"><td class="memTemplParams" colspan="2">template&lt;length_t L, qualifier Q&gt; </td></tr>
-<tr class="memitem:ga610fcd175791fd246e328ffee10dbf1e"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; L, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00996.html#ga610fcd175791fd246e328ffee10dbf1e">not_</a> (vec&lt; L, bool, Q &gt; const &amp;v)</td></tr>
+<tr class="memitem:ga610fcd175791fd246e328ffee10dbf1e"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr vec&lt; L, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00996.html#ga610fcd175791fd246e328ffee10dbf1e">not_</a> (vec&lt; L, bool, Q &gt; const &amp;v)</td></tr>
 <tr class="memdesc:ga610fcd175791fd246e328ffee10dbf1e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the component-wise logical complement of x.  <a href="a00996.html#ga610fcd175791fd246e328ffee10dbf1e">More...</a><br /></td></tr>
 <tr class="separator:ga610fcd175791fd246e328ffee10dbf1e"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga17c19dc1b76cd5aef63e9e7ff3aa3c27"><td class="memTemplParams" colspan="2">template&lt;length_t L, typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:ga17c19dc1b76cd5aef63e9e7ff3aa3c27"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; L, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00996.html#ga17c19dc1b76cd5aef63e9e7ff3aa3c27">notEqual</a> (vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y)</td></tr>
+<tr class="memitem:ga17c19dc1b76cd5aef63e9e7ff3aa3c27"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr vec&lt; L, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00996.html#ga17c19dc1b76cd5aef63e9e7ff3aa3c27">notEqual</a> (vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y)</td></tr>
 <tr class="memdesc:ga17c19dc1b76cd5aef63e9e7ff3aa3c27"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the component-wise comparison of result x != y.  <a href="a00996.html#ga17c19dc1b76cd5aef63e9e7ff3aa3c27">More...</a><br /></td></tr>
 <tr class="separator:ga17c19dc1b76cd5aef63e9e7ff3aa3c27"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>
@@ -121,7 +121,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR bool glm::all </td>
+          <td class="memname">GLM_FUNC_DECL constexpr bool glm::all </td>
           <td>(</td>
           <td class="paramtype">vec&lt; L, bool, Q &gt; const &amp;&#160;</td>
           <td class="paramname"><em>v</em></td><td>)</td>
@@ -150,7 +150,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR bool glm::any </td>
+          <td class="memname">GLM_FUNC_DECL constexpr bool glm::any </td>
           <td>(</td>
           <td class="paramtype">vec&lt; L, bool, Q &gt; const &amp;&#160;</td>
           <td class="paramname"><em>v</em></td><td>)</td>
@@ -179,7 +179,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;L, bool, Q&gt; glm::equal </td>
+          <td class="memname">GLM_FUNC_DECL constexpr vec&lt;L, bool, Q&gt; glm::equal </td>
           <td>(</td>
           <td class="paramtype">vec&lt; L, T, Q &gt; const &amp;&#160;</td>
           <td class="paramname"><em>x</em>, </td>
@@ -219,7 +219,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;L, bool, Q&gt; glm::greaterThan </td>
+          <td class="memname">GLM_FUNC_DECL constexpr vec&lt;L, bool, Q&gt; glm::greaterThan </td>
           <td>(</td>
           <td class="paramtype">vec&lt; L, T, Q &gt; const &amp;&#160;</td>
           <td class="paramname"><em>x</em>, </td>
@@ -259,7 +259,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;L, bool, Q&gt; glm::greaterThanEqual </td>
+          <td class="memname">GLM_FUNC_DECL constexpr vec&lt;L, bool, Q&gt; glm::greaterThanEqual </td>
           <td>(</td>
           <td class="paramtype">vec&lt; L, T, Q &gt; const &amp;&#160;</td>
           <td class="paramname"><em>x</em>, </td>
@@ -299,7 +299,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;L, bool, Q&gt; glm::lessThan </td>
+          <td class="memname">GLM_FUNC_DECL constexpr vec&lt;L, bool, Q&gt; glm::lessThan </td>
           <td>(</td>
           <td class="paramtype">vec&lt; L, T, Q &gt; const &amp;&#160;</td>
           <td class="paramname"><em>x</em>, </td>
@@ -339,7 +339,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;L, bool, Q&gt; glm::lessThanEqual </td>
+          <td class="memname">GLM_FUNC_DECL constexpr vec&lt;L, bool, Q&gt; glm::lessThanEqual </td>
           <td>(</td>
           <td class="paramtype">vec&lt; L, T, Q &gt; const &amp;&#160;</td>
           <td class="paramname"><em>x</em>, </td>
@@ -379,7 +379,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;L, bool, Q&gt; glm::not_ </td>
+          <td class="memname">GLM_FUNC_DECL constexpr vec&lt;L, bool, Q&gt; glm::not_ </td>
           <td>(</td>
           <td class="paramtype">vec&lt; L, bool, Q &gt; const &amp;&#160;</td>
           <td class="paramname"><em>v</em></td><td>)</td>
@@ -409,7 +409,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;L, bool, Q&gt; glm::notEqual </td>
+          <td class="memname">GLM_FUNC_DECL constexpr vec&lt;L, bool, Q&gt; glm::notEqual </td>
           <td>(</td>
           <td class="paramtype">vec&lt; L, T, Q &gt; const &amp;&#160;</td>
           <td class="paramname"><em>x</em>, </td>

+ 2 - 2
doc/api/a01702.html

@@ -82,7 +82,7 @@ $(function() {
 Functions</h2></td></tr>
 <tr class="memitem:ga81696f2b8d1db02ea1aff8da8f269314"><td class="memTemplParams" colspan="2">
 template&lt;typename genType &gt; </td></tr>
-<tr class="memitem:ga81696f2b8d1db02ea1aff8da8f269314"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00837.html#ga81696f2b8d1db02ea1aff8da8f269314">identity</a> ()</td></tr>
+<tr class="memitem:ga81696f2b8d1db02ea1aff8da8f269314"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00837.html#ga81696f2b8d1db02ea1aff8da8f269314">identity</a> ()</td></tr>
 <tr class="memdesc:ga81696f2b8d1db02ea1aff8da8f269314"><td class="mdescLeft">&#160;</td><td class="mdescRight">Builds an identity matrix. <br /></td></tr>
 <tr class="separator:ga81696f2b8d1db02ea1aff8da8f269314"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gaa64aa951a0e99136bba9008d2b59c78e"><td class="memTemplParams" colspan="2">template&lt;typename T , qualifier Q&gt; </td></tr>
@@ -110,7 +110,7 @@ template&lt;typename genType &gt; </td></tr>
 <tr class="memdesc:ga391e0142852ab4139dcea0d9b1bbc048"><td class="mdescLeft">&#160;</td><td class="mdescRight">Builds a scale 4 * 4 matrix created from point referent 3 shearers.  <a href="a00837.html#ga391e0142852ab4139dcea0d9b1bbc048">More...</a><br /></td></tr>
 <tr class="separator:ga391e0142852ab4139dcea0d9b1bbc048"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gac6b494bda2f47615b2fd3e70f3d2c912"><td class="memTemplParams" colspan="2">template&lt;typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:gac6b494bda2f47615b2fd3e70f3d2c912"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR mat&lt; 4, 4, T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00837.html#gac6b494bda2f47615b2fd3e70f3d2c912">translate</a> (mat&lt; 4, 4, T, Q &gt; const &amp;m, vec&lt; 3, T, Q &gt; const &amp;v)</td></tr>
+<tr class="memitem:gac6b494bda2f47615b2fd3e70f3d2c912"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr mat&lt; 4, 4, T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00837.html#gac6b494bda2f47615b2fd3e70f3d2c912">translate</a> (mat&lt; 4, 4, T, Q &gt; const &amp;m, vec&lt; 3, T, Q &gt; const &amp;v)</td></tr>
 <tr class="memdesc:gac6b494bda2f47615b2fd3e70f3d2c912"><td class="mdescLeft">&#160;</td><td class="mdescRight">Builds a translation 4 * 4 matrix created from a vector of 3 components.  <a href="a00837.html#gac6b494bda2f47615b2fd3e70f3d2c912">More...</a><br /></td></tr>
 <tr class="separator:gac6b494bda2f47615b2fd3e70f3d2c912"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>

+ 4 - 4
doc/api/a01702_source.html

@@ -87,10 +87,10 @@ $(function() {
 <div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;{</div>
 <div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160; </div>
 <div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> genType&gt;</div>
-<div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="a00837.html#ga81696f2b8d1db02ea1aff8da8f269314">   39</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00837.html#ga81696f2b8d1db02ea1aff8da8f269314">identity</a>();</div>
+<div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="a00837.html#ga81696f2b8d1db02ea1aff8da8f269314">   39</a></span>&#160;        GLM_FUNC_DECL constexpr genType <a class="code" href="a00837.html#ga81696f2b8d1db02ea1aff8da8f269314">identity</a>();</div>
 <div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160; </div>
 <div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="a00837.html#gac6b494bda2f47615b2fd3e70f3d2c912">   64</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR mat&lt;4, 4, T, Q&gt; <a class="code" href="a00837.html#gac6b494bda2f47615b2fd3e70f3d2c912">translate</a>(</div>
+<div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="a00837.html#gac6b494bda2f47615b2fd3e70f3d2c912">   64</a></span>&#160;        GLM_FUNC_DECL constexpr mat&lt;4, 4, T, Q&gt; <a class="code" href="a00837.html#gac6b494bda2f47615b2fd3e70f3d2c912">translate</a>(</div>
 <div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;                mat&lt;4, 4, T, Q&gt; <span class="keyword">const</span>&amp; m, vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160; </div>
 <div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
@@ -126,9 +126,9 @@ $(function() {
 <div class="ttc" id="aa00837_html_ga05051adbee603fb3c5095d8cf5cc229b"><div class="ttname"><a href="a00837.html#ga05051adbee603fb3c5095d8cf5cc229b">glm::scale</a></div><div class="ttdeci">GLM_FUNC_DECL mat&lt; 4, 4, T, Q &gt; scale(mat&lt; 4, 4, T, Q &gt; const &amp;m, vec&lt; 3, T, Q &gt; const &amp;v)</div><div class="ttdoc">Builds a scale 4 * 4 matrix created from 3 scalars.</div></div>
 <div class="ttc" id="aa00837_html_ga391e0142852ab4139dcea0d9b1bbc048"><div class="ttname"><a href="a00837.html#ga391e0142852ab4139dcea0d9b1bbc048">glm::shear</a></div><div class="ttdeci">GLM_FUNC_QUALIFIER mat&lt; 4, 4, T, Q &gt; shear(mat&lt; 4, 4, T, Q &gt; const &amp;m, vec&lt; 3, T, Q &gt; const &amp;p, vec&lt; 2, T, Q &gt; const &amp;l_x, vec&lt; 2, T, Q &gt; const &amp;l_y, vec&lt; 2, T, Q &gt; const &amp;l_z)</div><div class="ttdoc">Builds a scale 4 * 4 matrix created from point referent 3 shearers.</div></div>
 <div class="ttc" id="aa00837_html_gab2c09e25b0a16d3a9d89cc85bbae41b0"><div class="ttname"><a href="a00837.html#gab2c09e25b0a16d3a9d89cc85bbae41b0">glm::lookAtLH</a></div><div class="ttdeci">GLM_FUNC_DECL mat&lt; 4, 4, T, Q &gt; lookAtLH(vec&lt; 3, T, Q &gt; const &amp;eye, vec&lt; 3, T, Q &gt; const &amp;center, vec&lt; 3, T, Q &gt; const &amp;up)</div><div class="ttdoc">Build a left handed look at view matrix.</div></div>
-<div class="ttc" id="aa00837_html_ga81696f2b8d1db02ea1aff8da8f269314"><div class="ttname"><a href="a00837.html#ga81696f2b8d1db02ea1aff8da8f269314">glm::identity</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType identity()</div><div class="ttdoc">Builds an identity matrix.</div></div>
+<div class="ttc" id="aa00837_html_ga81696f2b8d1db02ea1aff8da8f269314"><div class="ttname"><a href="a00837.html#ga81696f2b8d1db02ea1aff8da8f269314">glm::identity</a></div><div class="ttdeci">GLM_FUNC_DECL constexpr genType identity()</div><div class="ttdoc">Builds an identity matrix.</div></div>
 <div class="ttc" id="aa00865_html_ga8aa248b31d5ade470c87304df5eb7bd8"><div class="ttname"><a href="a00865.html#ga8aa248b31d5ade470c87304df5eb7bd8">glm::angle</a></div><div class="ttdeci">GLM_FUNC_DECL T angle(qua&lt; T, Q &gt; const &amp;x)</div><div class="ttdoc">Returns the quaternion rotation angle.</div></div>
-<div class="ttc" id="aa00837_html_gac6b494bda2f47615b2fd3e70f3d2c912"><div class="ttname"><a href="a00837.html#gac6b494bda2f47615b2fd3e70f3d2c912">glm::translate</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR mat&lt; 4, 4, T, Q &gt; translate(mat&lt; 4, 4, T, Q &gt; const &amp;m, vec&lt; 3, T, Q &gt; const &amp;v)</div><div class="ttdoc">Builds a translation 4 * 4 matrix created from a vector of 3 components.</div></div>
+<div class="ttc" id="aa00837_html_gac6b494bda2f47615b2fd3e70f3d2c912"><div class="ttname"><a href="a00837.html#gac6b494bda2f47615b2fd3e70f3d2c912">glm::translate</a></div><div class="ttdeci">GLM_FUNC_DECL constexpr mat&lt; 4, 4, T, Q &gt; translate(mat&lt; 4, 4, T, Q &gt; const &amp;m, vec&lt; 3, T, Q &gt; const &amp;v)</div><div class="ttdoc">Builds a translation 4 * 4 matrix created from a vector of 3 components.</div></div>
 <div class="ttc" id="aa00837_html_gacfa12c8889c754846bc20c65d9b5c701"><div class="ttname"><a href="a00837.html#gacfa12c8889c754846bc20c65d9b5c701">glm::lookAtRH</a></div><div class="ttdeci">GLM_FUNC_DECL mat&lt; 4, 4, T, Q &gt; lookAtRH(vec&lt; 3, T, Q &gt; const &amp;eye, vec&lt; 3, T, Q &gt; const &amp;center, vec&lt; 3, T, Q &gt; const &amp;up)</div><div class="ttdoc">Build a right handed look at view matrix.</div></div>
 <div class="ttc" id="aa00865_html_ga764254f10248b505e936e5309a88c23d"><div class="ttname"><a href="a00865.html#ga764254f10248b505e936e5309a88c23d">glm::axis</a></div><div class="ttdeci">GLM_FUNC_DECL vec&lt; 3, T, Q &gt; axis(qua&lt; T, Q &gt; const &amp;x)</div><div class="ttdoc">Returns the q rotation axis.</div></div>
 <!-- start footer part -->

+ 4 - 4
doc/api/a01711.html

@@ -85,19 +85,19 @@ Functions</h2></td></tr>
 <tr class="memdesc:gaf4dd967dead22dd932fc7460ceecb03f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns euler angles, pitch as x, yaw as y, roll as z.  <a href="a00917.html#gaf4dd967dead22dd932fc7460ceecb03f">More...</a><br /></td></tr>
 <tr class="separator:gaf4dd967dead22dd932fc7460ceecb03f"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gab52513c338f90e9ba249faabdc115b67"><td class="memTemplParams" colspan="2">template&lt;typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:gab52513c338f90e9ba249faabdc115b67"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; 4, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00917.html#gab52513c338f90e9ba249faabdc115b67">greaterThan</a> (qua&lt; T, Q &gt; const &amp;x, qua&lt; T, Q &gt; const &amp;y)</td></tr>
+<tr class="memitem:gab52513c338f90e9ba249faabdc115b67"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr vec&lt; 4, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00917.html#gab52513c338f90e9ba249faabdc115b67">greaterThan</a> (qua&lt; T, Q &gt; const &amp;x, qua&lt; T, Q &gt; const &amp;y)</td></tr>
 <tr class="memdesc:gab52513c338f90e9ba249faabdc115b67"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the component-wise comparison of result x &gt; y.  <a href="a00917.html#gab52513c338f90e9ba249faabdc115b67">More...</a><br /></td></tr>
 <tr class="separator:gab52513c338f90e9ba249faabdc115b67"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gaa71814c544f0ed99ba6d141b17e026ae"><td class="memTemplParams" colspan="2">template&lt;typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:gaa71814c544f0ed99ba6d141b17e026ae"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; 4, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00917.html#gaa71814c544f0ed99ba6d141b17e026ae">greaterThanEqual</a> (qua&lt; T, Q &gt; const &amp;x, qua&lt; T, Q &gt; const &amp;y)</td></tr>
+<tr class="memitem:gaa71814c544f0ed99ba6d141b17e026ae"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr vec&lt; 4, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00917.html#gaa71814c544f0ed99ba6d141b17e026ae">greaterThanEqual</a> (qua&lt; T, Q &gt; const &amp;x, qua&lt; T, Q &gt; const &amp;y)</td></tr>
 <tr class="memdesc:gaa71814c544f0ed99ba6d141b17e026ae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the component-wise comparison of result x &gt;= y.  <a href="a00917.html#gaa71814c544f0ed99ba6d141b17e026ae">More...</a><br /></td></tr>
 <tr class="separator:gaa71814c544f0ed99ba6d141b17e026ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gae0ed978b5c2588d53b220e9ceebaca0b"><td class="memTemplParams" colspan="2">template&lt;typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:gae0ed978b5c2588d53b220e9ceebaca0b"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; 4, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00917.html#gae0ed978b5c2588d53b220e9ceebaca0b">lessThan</a> (qua&lt; T, Q &gt; const &amp;x, qua&lt; T, Q &gt; const &amp;y)</td></tr>
+<tr class="memitem:gae0ed978b5c2588d53b220e9ceebaca0b"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr vec&lt; 4, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00917.html#gae0ed978b5c2588d53b220e9ceebaca0b">lessThan</a> (qua&lt; T, Q &gt; const &amp;x, qua&lt; T, Q &gt; const &amp;y)</td></tr>
 <tr class="memdesc:gae0ed978b5c2588d53b220e9ceebaca0b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the component-wise comparison result of x &lt; y.  <a href="a00917.html#gae0ed978b5c2588d53b220e9ceebaca0b">More...</a><br /></td></tr>
 <tr class="separator:gae0ed978b5c2588d53b220e9ceebaca0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga3ee1ffe56e5428f659c51a5bfd67ab33"><td class="memTemplParams" colspan="2">template&lt;typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:ga3ee1ffe56e5428f659c51a5bfd67ab33"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; 4, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00917.html#ga3ee1ffe56e5428f659c51a5bfd67ab33">lessThanEqual</a> (qua&lt; T, Q &gt; const &amp;x, qua&lt; T, Q &gt; const &amp;y)</td></tr>
+<tr class="memitem:ga3ee1ffe56e5428f659c51a5bfd67ab33"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr vec&lt; 4, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00917.html#ga3ee1ffe56e5428f659c51a5bfd67ab33">lessThanEqual</a> (qua&lt; T, Q &gt; const &amp;x, qua&lt; T, Q &gt; const &amp;y)</td></tr>
 <tr class="memdesc:ga3ee1ffe56e5428f659c51a5bfd67ab33"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the component-wise comparison of result x &lt;= y.  <a href="a00917.html#ga3ee1ffe56e5428f659c51a5bfd67ab33">More...</a><br /></td></tr>
 <tr class="separator:ga3ee1ffe56e5428f659c51a5bfd67ab33"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga333ab70047fbe4132406100c292dbc89"><td class="memTemplParams" colspan="2">template&lt;typename T , qualifier Q&gt; </td></tr>

+ 8 - 8
doc/api/a01711_source.html

@@ -123,16 +123,16 @@ $(function() {
 <div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="a00917.html#ga4524810f07f72e8c7bdc7764fa11cb58">  106</a></span>&#160;        GLM_FUNC_DECL qua&lt;T, Q&gt; <a class="code" href="a00917.html#ga4524810f07f72e8c7bdc7764fa11cb58">quat_cast</a>(mat&lt;4, 4, T, Q&gt; <span class="keyword">const</span>&amp; x);</div>
 <div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160; </div>
 <div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00115"></a><span class="lineno"><a class="line" href="a00917.html#gae0ed978b5c2588d53b220e9ceebaca0b">  115</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;4, bool, Q&gt; <a class="code" href="a00917.html#gae0ed978b5c2588d53b220e9ceebaca0b">lessThan</a>(qua&lt;T, Q&gt; <span class="keyword">const</span>&amp; x, qua&lt;T, Q&gt; <span class="keyword">const</span>&amp; y);</div>
+<div class="line"><a name="l00115"></a><span class="lineno"><a class="line" href="a00917.html#gae0ed978b5c2588d53b220e9ceebaca0b">  115</a></span>&#160;        GLM_FUNC_DECL constexpr vec&lt;4, bool, Q&gt; <a class="code" href="a00917.html#gae0ed978b5c2588d53b220e9ceebaca0b">lessThan</a>(qua&lt;T, Q&gt; <span class="keyword">const</span>&amp; x, qua&lt;T, Q&gt; <span class="keyword">const</span>&amp; y);</div>
 <div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160; </div>
 <div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00124"></a><span class="lineno"><a class="line" href="a00917.html#ga3ee1ffe56e5428f659c51a5bfd67ab33">  124</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;4, bool, Q&gt; <a class="code" href="a00917.html#ga3ee1ffe56e5428f659c51a5bfd67ab33">lessThanEqual</a>(qua&lt;T, Q&gt; <span class="keyword">const</span>&amp; x, qua&lt;T, Q&gt; <span class="keyword">const</span>&amp; y);</div>
+<div class="line"><a name="l00124"></a><span class="lineno"><a class="line" href="a00917.html#ga3ee1ffe56e5428f659c51a5bfd67ab33">  124</a></span>&#160;        GLM_FUNC_DECL constexpr vec&lt;4, bool, Q&gt; <a class="code" href="a00917.html#ga3ee1ffe56e5428f659c51a5bfd67ab33">lessThanEqual</a>(qua&lt;T, Q&gt; <span class="keyword">const</span>&amp; x, qua&lt;T, Q&gt; <span class="keyword">const</span>&amp; y);</div>
 <div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160; </div>
 <div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00133"></a><span class="lineno"><a class="line" href="a00917.html#gab52513c338f90e9ba249faabdc115b67">  133</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;4, bool, Q&gt; <a class="code" href="a00917.html#gab52513c338f90e9ba249faabdc115b67">greaterThan</a>(qua&lt;T, Q&gt; <span class="keyword">const</span>&amp; x, qua&lt;T, Q&gt; <span class="keyword">const</span>&amp; y);</div>
+<div class="line"><a name="l00133"></a><span class="lineno"><a class="line" href="a00917.html#gab52513c338f90e9ba249faabdc115b67">  133</a></span>&#160;        GLM_FUNC_DECL constexpr vec&lt;4, bool, Q&gt; <a class="code" href="a00917.html#gab52513c338f90e9ba249faabdc115b67">greaterThan</a>(qua&lt;T, Q&gt; <span class="keyword">const</span>&amp; x, qua&lt;T, Q&gt; <span class="keyword">const</span>&amp; y);</div>
 <div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160; </div>
 <div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00142"></a><span class="lineno"><a class="line" href="a00917.html#gaa71814c544f0ed99ba6d141b17e026ae">  142</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;4, bool, Q&gt; <a class="code" href="a00917.html#gaa71814c544f0ed99ba6d141b17e026ae">greaterThanEqual</a>(qua&lt;T, Q&gt; <span class="keyword">const</span>&amp; x, qua&lt;T, Q&gt; <span class="keyword">const</span>&amp; y);</div>
+<div class="line"><a name="l00142"></a><span class="lineno"><a class="line" href="a00917.html#gaa71814c544f0ed99ba6d141b17e026ae">  142</a></span>&#160;        GLM_FUNC_DECL constexpr vec&lt;4, bool, Q&gt; <a class="code" href="a00917.html#gaa71814c544f0ed99ba6d141b17e026ae">greaterThanEqual</a>(qua&lt;T, Q&gt; <span class="keyword">const</span>&amp; x, qua&lt;T, Q&gt; <span class="keyword">const</span>&amp; y);</div>
 <div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160; </div>
 <div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
 <div class="line"><a name="l00149"></a><span class="lineno"><a class="line" href="a00917.html#gabe7fc5ec5feb41ab234d5d2b6254697f">  149</a></span>&#160;        GLM_FUNC_DECL qua&lt;T, Q&gt; <a class="code" href="a00917.html#gabe7fc5ec5feb41ab234d5d2b6254697f">quatLookAt</a>(</div>
@@ -154,15 +154,15 @@ $(function() {
 </div><!-- fragment --></div><!-- contents -->
 <div class="ttc" id="aa00917_html_ga0cc5ad970d0b00829b139fe0fe5a1e13"><div class="ttname"><a href="a00917.html#ga0cc5ad970d0b00829b139fe0fe5a1e13">glm::roll</a></div><div class="ttdeci">GLM_FUNC_DECL T roll(qua&lt; T, Q &gt; const &amp;x)</div><div class="ttdoc">Returns roll value of euler angles expressed in radians.</div></div>
 <div class="ttc" id="aa00917_html_ga333ab70047fbe4132406100c292dbc89"><div class="ttname"><a href="a00917.html#ga333ab70047fbe4132406100c292dbc89">glm::mat3_cast</a></div><div class="ttdeci">GLM_FUNC_DECL mat&lt; 3, 3, T, Q &gt; mat3_cast(qua&lt; T, Q &gt; const &amp;x)</div><div class="ttdoc">Converts a quaternion to a 3 * 3 matrix.</div></div>
-<div class="ttc" id="aa00917_html_gaa71814c544f0ed99ba6d141b17e026ae"><div class="ttname"><a href="a00917.html#gaa71814c544f0ed99ba6d141b17e026ae">glm::greaterThanEqual</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; 4, bool, Q &gt; greaterThanEqual(qua&lt; T, Q &gt; const &amp;x, qua&lt; T, Q &gt; const &amp;y)</div><div class="ttdoc">Returns the component-wise comparison of result x &gt;= y.</div></div>
-<div class="ttc" id="aa00917_html_gae0ed978b5c2588d53b220e9ceebaca0b"><div class="ttname"><a href="a00917.html#gae0ed978b5c2588d53b220e9ceebaca0b">glm::lessThan</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; 4, bool, Q &gt; lessThan(qua&lt; T, Q &gt; const &amp;x, qua&lt; T, Q &gt; const &amp;y)</div><div class="ttdoc">Returns the component-wise comparison result of x &lt; y.</div></div>
+<div class="ttc" id="aa00917_html_gaa71814c544f0ed99ba6d141b17e026ae"><div class="ttname"><a href="a00917.html#gaa71814c544f0ed99ba6d141b17e026ae">glm::greaterThanEqual</a></div><div class="ttdeci">GLM_FUNC_DECL constexpr vec&lt; 4, bool, Q &gt; greaterThanEqual(qua&lt; T, Q &gt; const &amp;x, qua&lt; T, Q &gt; const &amp;y)</div><div class="ttdoc">Returns the component-wise comparison of result x &gt;= y.</div></div>
+<div class="ttc" id="aa00917_html_gae0ed978b5c2588d53b220e9ceebaca0b"><div class="ttname"><a href="a00917.html#gae0ed978b5c2588d53b220e9ceebaca0b">glm::lessThan</a></div><div class="ttdeci">GLM_FUNC_DECL constexpr vec&lt; 4, bool, Q &gt; lessThan(qua&lt; T, Q &gt; const &amp;x, qua&lt; T, Q &gt; const &amp;y)</div><div class="ttdoc">Returns the component-wise comparison result of x &lt; y.</div></div>
 <div class="ttc" id="aa00917_html_ga4524810f07f72e8c7bdc7764fa11cb58"><div class="ttname"><a href="a00917.html#ga4524810f07f72e8c7bdc7764fa11cb58">glm::quat_cast</a></div><div class="ttdeci">GLM_FUNC_DECL qua&lt; T, Q &gt; quat_cast(mat&lt; 4, 4, T, Q &gt; const &amp;x)</div><div class="ttdoc">Converts a pure rotation 4 * 4 matrix to a quaternion.</div></div>
-<div class="ttc" id="aa00917_html_gab52513c338f90e9ba249faabdc115b67"><div class="ttname"><a href="a00917.html#gab52513c338f90e9ba249faabdc115b67">glm::greaterThan</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; 4, bool, Q &gt; greaterThan(qua&lt; T, Q &gt; const &amp;x, qua&lt; T, Q &gt; const &amp;y)</div><div class="ttdoc">Returns the component-wise comparison of result x &gt; y.</div></div>
+<div class="ttc" id="aa00917_html_gab52513c338f90e9ba249faabdc115b67"><div class="ttname"><a href="a00917.html#gab52513c338f90e9ba249faabdc115b67">glm::greaterThan</a></div><div class="ttdeci">GLM_FUNC_DECL constexpr vec&lt; 4, bool, Q &gt; greaterThan(qua&lt; T, Q &gt; const &amp;x, qua&lt; T, Q &gt; const &amp;y)</div><div class="ttdoc">Returns the component-wise comparison of result x &gt; y.</div></div>
 <div class="ttc" id="aa00917_html_gaf6529ac8c04a57fcc35865b5c9437cc8"><div class="ttname"><a href="a00917.html#gaf6529ac8c04a57fcc35865b5c9437cc8">glm::quatLookAtRH</a></div><div class="ttdeci">GLM_FUNC_DECL qua&lt; T, Q &gt; quatLookAtRH(vec&lt; 3, T, Q &gt; const &amp;direction, vec&lt; 3, T, Q &gt; const &amp;up)</div><div class="ttdoc">Build a right-handed look at quaternion.</div></div>
 <div class="ttc" id="aa00917_html_ga2da350c73411be3bb19441b226b81a74"><div class="ttname"><a href="a00917.html#ga2da350c73411be3bb19441b226b81a74">glm::quatLookAtLH</a></div><div class="ttdeci">GLM_FUNC_DECL qua&lt; T, Q &gt; quatLookAtLH(vec&lt; 3, T, Q &gt; const &amp;direction, vec&lt; 3, T, Q &gt; const &amp;up)</div><div class="ttdoc">Build a left-handed look at quaternion.</div></div>
 <div class="ttc" id="aa00917_html_gabe7fc5ec5feb41ab234d5d2b6254697f"><div class="ttname"><a href="a00917.html#gabe7fc5ec5feb41ab234d5d2b6254697f">glm::quatLookAt</a></div><div class="ttdeci">GLM_FUNC_DECL qua&lt; T, Q &gt; quatLookAt(vec&lt; 3, T, Q &gt; const &amp;direction, vec&lt; 3, T, Q &gt; const &amp;up)</div><div class="ttdoc">Build a look at quaternion based on the default handedness.</div></div>
 <div class="ttc" id="aa00917_html_ga7603e81477b46ddb448896909bc04928"><div class="ttname"><a href="a00917.html#ga7603e81477b46ddb448896909bc04928">glm::pitch</a></div><div class="ttdeci">GLM_FUNC_DECL T pitch(qua&lt; T, Q &gt; const &amp;x)</div><div class="ttdoc">Returns pitch value of euler angles expressed in radians.</div></div>
-<div class="ttc" id="aa00917_html_ga3ee1ffe56e5428f659c51a5bfd67ab33"><div class="ttname"><a href="a00917.html#ga3ee1ffe56e5428f659c51a5bfd67ab33">glm::lessThanEqual</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; 4, bool, Q &gt; lessThanEqual(qua&lt; T, Q &gt; const &amp;x, qua&lt; T, Q &gt; const &amp;y)</div><div class="ttdoc">Returns the component-wise comparison of result x &lt;= y.</div></div>
+<div class="ttc" id="aa00917_html_ga3ee1ffe56e5428f659c51a5bfd67ab33"><div class="ttname"><a href="a00917.html#ga3ee1ffe56e5428f659c51a5bfd67ab33">glm::lessThanEqual</a></div><div class="ttdeci">GLM_FUNC_DECL constexpr vec&lt; 4, bool, Q &gt; lessThanEqual(qua&lt; T, Q &gt; const &amp;x, qua&lt; T, Q &gt; const &amp;y)</div><div class="ttdoc">Returns the component-wise comparison of result x &lt;= y.</div></div>
 <div class="ttc" id="aa00917_html_gaf4dd967dead22dd932fc7460ceecb03f"><div class="ttname"><a href="a00917.html#gaf4dd967dead22dd932fc7460ceecb03f">glm::eulerAngles</a></div><div class="ttdeci">GLM_FUNC_DECL vec&lt; 3, T, Q &gt; eulerAngles(qua&lt; T, Q &gt; const &amp;x)</div><div class="ttdoc">Returns euler angles, pitch as x, yaw as y, roll as z.</div></div>
 <div class="ttc" id="aa00917_html_ga1113212d9bdefc2e31ad40e5bbb506f3"><div class="ttname"><a href="a00917.html#ga1113212d9bdefc2e31ad40e5bbb506f3">glm::mat4_cast</a></div><div class="ttdeci">GLM_FUNC_DECL mat&lt; 4, 4, T, Q &gt; mat4_cast(qua&lt; T, Q &gt; const &amp;x)</div><div class="ttdoc">Converts a quaternion to a 4 * 4 matrix.</div></div>
 <div class="ttc" id="aa00917_html_ga8da38cdfdc452dafa660c2f46506bad5"><div class="ttname"><a href="a00917.html#ga8da38cdfdc452dafa660c2f46506bad5">glm::yaw</a></div><div class="ttdeci">GLM_FUNC_DECL T yaw(qua&lt; T, Q &gt; const &amp;x)</div><div class="ttdoc">Returns yaw value of euler angles expressed in radians.</div></div>

+ 4 - 4
doc/api/a01714.html

@@ -81,11 +81,11 @@ $(function() {
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
 Functions</h2></td></tr>
 <tr class="memitem:gacbbbf93d24828d6bd9ba48d43abc985e"><td class="memTemplParams" colspan="2">template&lt;typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:gacbbbf93d24828d6bd9ba48d43abc985e"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; 3, T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00972.html#gacbbbf93d24828d6bd9ba48d43abc985e">cross</a> (qua&lt; T, Q &gt; const &amp;q, vec&lt; 3, T, Q &gt; const &amp;v)</td></tr>
+<tr class="memitem:gacbbbf93d24828d6bd9ba48d43abc985e"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr vec&lt; 3, T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00972.html#gacbbbf93d24828d6bd9ba48d43abc985e">cross</a> (qua&lt; T, Q &gt; const &amp;q, vec&lt; 3, T, Q &gt; const &amp;v)</td></tr>
 <tr class="memdesc:gacbbbf93d24828d6bd9ba48d43abc985e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute a cross product between a quaternion and a vector.  <a href="a00972.html#gacbbbf93d24828d6bd9ba48d43abc985e">More...</a><br /></td></tr>
 <tr class="separator:gacbbbf93d24828d6bd9ba48d43abc985e"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga7877a1ec00e43bbfccf6dd11894c0536"><td class="memTemplParams" colspan="2">template&lt;typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:ga7877a1ec00e43bbfccf6dd11894c0536"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; 3, T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00972.html#ga7877a1ec00e43bbfccf6dd11894c0536">cross</a> (vec&lt; 3, T, Q &gt; const &amp;v, qua&lt; T, Q &gt; const &amp;q)</td></tr>
+<tr class="memitem:ga7877a1ec00e43bbfccf6dd11894c0536"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr vec&lt; 3, T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00972.html#ga7877a1ec00e43bbfccf6dd11894c0536">cross</a> (vec&lt; 3, T, Q &gt; const &amp;v, qua&lt; T, Q &gt; const &amp;q)</td></tr>
 <tr class="memdesc:ga7877a1ec00e43bbfccf6dd11894c0536"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute a cross product between a vector and a quaternion.  <a href="a00972.html#ga7877a1ec00e43bbfccf6dd11894c0536">More...</a><br /></td></tr>
 <tr class="separator:ga7877a1ec00e43bbfccf6dd11894c0536"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga321953c1b2e7befe6f5dcfddbfc6b76b"><td class="memTemplParams" colspan="2">template&lt;typename T , qualifier Q&gt; </td></tr>
@@ -101,11 +101,11 @@ Functions</h2></td></tr>
 <tr class="memdesc:gacc5cd5f3e78de61d141c2355417424de"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an intermediate control point for squad interpolation.  <a href="a00972.html#gacc5cd5f3e78de61d141c2355417424de">More...</a><br /></td></tr>
 <tr class="separator:gacc5cd5f3e78de61d141c2355417424de"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga08eb643306c5ba9211a81b322bc89543"><td class="memTemplParams" colspan="2">template&lt;typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:ga08eb643306c5ba9211a81b322bc89543"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00972.html#ga08eb643306c5ba9211a81b322bc89543">length2</a> (qua&lt; T, Q &gt; const &amp;q)</td></tr>
+<tr class="memitem:ga08eb643306c5ba9211a81b322bc89543"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00972.html#ga08eb643306c5ba9211a81b322bc89543">length2</a> (qua&lt; T, Q &gt; const &amp;q)</td></tr>
 <tr class="memdesc:ga08eb643306c5ba9211a81b322bc89543"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the squared length of x.  <a href="a00972.html#ga08eb643306c5ba9211a81b322bc89543">More...</a><br /></td></tr>
 <tr class="separator:ga08eb643306c5ba9211a81b322bc89543"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga77d9e2c313b98a1002a1b12408bf5b45"><td class="memTemplParams" colspan="2">template&lt;typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:ga77d9e2c313b98a1002a1b12408bf5b45"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR qua&lt; T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00972.html#ga77d9e2c313b98a1002a1b12408bf5b45">quat_identity</a> ()</td></tr>
+<tr class="memitem:ga77d9e2c313b98a1002a1b12408bf5b45"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr qua&lt; T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00972.html#ga77d9e2c313b98a1002a1b12408bf5b45">quat_identity</a> ()</td></tr>
 <tr class="memdesc:ga77d9e2c313b98a1002a1b12408bf5b45"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create an identity quaternion.  <a href="a00972.html#ga77d9e2c313b98a1002a1b12408bf5b45">More...</a><br /></td></tr>
 <tr class="separator:ga77d9e2c313b98a1002a1b12408bf5b45"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga07da6ef58646442efe93b0c273d73776"><td class="memTemplParams" colspan="2">template&lt;typename T , qualifier Q&gt; </td></tr>

+ 7 - 7
doc/api/a01714_source.html

@@ -90,15 +90,15 @@ $(function() {
 <div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;{</div>
 <div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160; </div>
 <div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="a00972.html#ga77d9e2c313b98a1002a1b12408bf5b45">   38</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR qua&lt;T, Q&gt; <a class="code" href="a00972.html#ga77d9e2c313b98a1002a1b12408bf5b45">quat_identity</a>();</div>
+<div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="a00972.html#ga77d9e2c313b98a1002a1b12408bf5b45">   38</a></span>&#160;        GLM_FUNC_DECL constexpr qua&lt;T, Q&gt; <a class="code" href="a00972.html#ga77d9e2c313b98a1002a1b12408bf5b45">quat_identity</a>();</div>
 <div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160; </div>
 <div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="a00972.html#gacbbbf93d24828d6bd9ba48d43abc985e">   44</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; <a class="code" href="a00972.html#ga7877a1ec00e43bbfccf6dd11894c0536">cross</a>(</div>
+<div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="a00972.html#gacbbbf93d24828d6bd9ba48d43abc985e">   44</a></span>&#160;        GLM_FUNC_DECL constexpr vec&lt;3, T, Q&gt; <a class="code" href="a00972.html#ga7877a1ec00e43bbfccf6dd11894c0536">cross</a>(</div>
 <div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;                qua&lt;T, Q&gt; <span class="keyword">const</span>&amp; q,</div>
 <div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;                vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v);</div>
 <div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160; </div>
 <div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="a00972.html#ga7877a1ec00e43bbfccf6dd11894c0536">   52</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;3, T, Q&gt; <a class="code" href="a00972.html#ga7877a1ec00e43bbfccf6dd11894c0536">cross</a>(</div>
+<div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="a00972.html#ga7877a1ec00e43bbfccf6dd11894c0536">   52</a></span>&#160;        GLM_FUNC_DECL constexpr vec&lt;3, T, Q&gt; <a class="code" href="a00972.html#ga7877a1ec00e43bbfccf6dd11894c0536">cross</a>(</div>
 <div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;                vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; v,</div>
 <div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;                qua&lt;T, Q&gt; <span class="keyword">const</span>&amp; q);</div>
 <div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160; </div>
@@ -168,7 +168,7 @@ $(function() {
 <div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;                vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; dest);</div>
 <div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160; </div>
 <div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00167"></a><span class="lineno"><a class="line" href="a00972.html#ga08eb643306c5ba9211a81b322bc89543">  167</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR T <a class="code" href="a00972.html#ga08eb643306c5ba9211a81b322bc89543">length2</a>(qua&lt;T, Q&gt; <span class="keyword">const</span>&amp; q);</div>
+<div class="line"><a name="l00167"></a><span class="lineno"><a class="line" href="a00972.html#ga08eb643306c5ba9211a81b322bc89543">  167</a></span>&#160;        GLM_FUNC_DECL constexpr T <a class="code" href="a00972.html#ga08eb643306c5ba9211a81b322bc89543">length2</a>(qua&lt;T, Q&gt; <span class="keyword">const</span>&amp; q);</div>
 <div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160; </div>
 <div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;}<span class="comment">//namespace glm</span></div>
 <div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160; </div>
@@ -177,15 +177,15 @@ $(function() {
 <div class="ttc" id="aa00917_html_ga1108a4ab88ca87bac321454eea7702f8"><div class="ttname"><a href="a00917.html#ga1108a4ab88ca87bac321454eea7702f8">glm::quat_cast</a></div><div class="ttdeci">GLM_FUNC_DECL qua&lt; T, Q &gt; quat_cast(mat&lt; 3, 3, T, Q &gt; const &amp;x)</div><div class="ttdoc">Converts a pure rotation 3 * 3 matrix to a quaternion.</div></div>
 <div class="ttc" id="aa00972_html_ga264e10708d58dd0ff53b7902a2bd2561"><div class="ttname"><a href="a00972.html#ga264e10708d58dd0ff53b7902a2bd2561">glm::fastMix</a></div><div class="ttdeci">GLM_FUNC_DECL qua&lt; T, Q &gt; fastMix(qua&lt; T, Q &gt; const &amp;x, qua&lt; T, Q &gt; const &amp;y, T const &amp;a)</div><div class="ttdoc">Quaternion normalized linear interpolation.</div></div>
 <div class="ttc" id="aa00917_html_ga333ab70047fbe4132406100c292dbc89"><div class="ttname"><a href="a00917.html#ga333ab70047fbe4132406100c292dbc89">glm::mat3_cast</a></div><div class="ttdeci">GLM_FUNC_DECL mat&lt; 3, 3, T, Q &gt; mat3_cast(qua&lt; T, Q &gt; const &amp;x)</div><div class="ttdoc">Converts a quaternion to a 3 * 3 matrix.</div></div>
-<div class="ttc" id="aa00972_html_ga77d9e2c313b98a1002a1b12408bf5b45"><div class="ttname"><a href="a00972.html#ga77d9e2c313b98a1002a1b12408bf5b45">glm::quat_identity</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR qua&lt; T, Q &gt; quat_identity()</div><div class="ttdoc">Create an identity quaternion.</div></div>
+<div class="ttc" id="aa00972_html_ga77d9e2c313b98a1002a1b12408bf5b45"><div class="ttname"><a href="a00972.html#ga77d9e2c313b98a1002a1b12408bf5b45">glm::quat_identity</a></div><div class="ttdeci">GLM_FUNC_DECL constexpr qua&lt; T, Q &gt; quat_identity()</div><div class="ttdoc">Create an identity quaternion.</div></div>
 <div class="ttc" id="aa00972_html_ga321953c1b2e7befe6f5dcfddbfc6b76b"><div class="ttname"><a href="a00972.html#ga321953c1b2e7befe6f5dcfddbfc6b76b">glm::extractRealComponent</a></div><div class="ttdeci">GLM_FUNC_DECL T extractRealComponent(qua&lt; T, Q &gt; const &amp;q)</div><div class="ttdoc">Extract the real component of a quaternion.</div></div>
 <div class="ttc" id="aa00972_html_ga03e61282831cc3f52cc76f72f52ad2c5"><div class="ttname"><a href="a00972.html#ga03e61282831cc3f52cc76f72f52ad2c5">glm::rotation</a></div><div class="ttdeci">GLM_FUNC_DECL qua&lt; T, Q &gt; rotation(vec&lt; 3, T, Q &gt; const &amp;orig, vec&lt; 3, T, Q &gt; const &amp;dest)</div><div class="ttdoc">Compute the rotation between two vectors.</div></div>
 <div class="ttc" id="aa00972_html_gad0d0c14d7d3c852b41d6a6e4d1da6606"><div class="ttname"><a href="a00972.html#gad0d0c14d7d3c852b41d6a6e4d1da6606">glm::toMat4</a></div><div class="ttdeci">GLM_FUNC_QUALIFIER mat&lt; 4, 4, T, Q &gt; toMat4(qua&lt; T, Q &gt; const &amp;x)</div><div class="ttdoc">Converts a quaternion to a 4 * 4 matrix.</div><div class="ttdef"><b>Definition:</b> <a href="a01714_source.html#l00118">gtx/quaternion.hpp:118</a></div></div>
 <div class="ttc" id="aa00972_html_ga0b9bf3459e132ad8a18fe970669e3e35"><div class="ttname"><a href="a00972.html#ga0b9bf3459e132ad8a18fe970669e3e35">glm::squad</a></div><div class="ttdeci">GLM_FUNC_DECL qua&lt; T, Q &gt; squad(qua&lt; T, Q &gt; const &amp;q1, qua&lt; T, Q &gt; const &amp;q2, qua&lt; T, Q &gt; const &amp;s1, qua&lt; T, Q &gt; const &amp;s2, T const &amp;h)</div><div class="ttdoc">Compute a point on a path according squad equation.</div></div>
 <div class="ttc" id="aa00972_html_gafcb78dfff45fbf19a7fcb2bd03fbf196"><div class="ttname"><a href="a00972.html#gafcb78dfff45fbf19a7fcb2bd03fbf196">glm::rotate</a></div><div class="ttdeci">GLM_FUNC_DECL vec&lt; 4, T, Q &gt; rotate(qua&lt; T, Q &gt; const &amp;q, vec&lt; 4, T, Q &gt; const &amp;v)</div><div class="ttdoc">Rotates a 4 components vector by a quaternion.</div></div>
-<div class="ttc" id="aa00972_html_ga7877a1ec00e43bbfccf6dd11894c0536"><div class="ttname"><a href="a00972.html#ga7877a1ec00e43bbfccf6dd11894c0536">glm::cross</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; 3, T, Q &gt; cross(vec&lt; 3, T, Q &gt; const &amp;v, qua&lt; T, Q &gt; const &amp;q)</div><div class="ttdoc">Compute a cross product between a vector and a quaternion.</div></div>
+<div class="ttc" id="aa00972_html_ga7877a1ec00e43bbfccf6dd11894c0536"><div class="ttname"><a href="a00972.html#ga7877a1ec00e43bbfccf6dd11894c0536">glm::cross</a></div><div class="ttdeci">GLM_FUNC_DECL constexpr vec&lt; 3, T, Q &gt; cross(vec&lt; 3, T, Q &gt; const &amp;v, qua&lt; T, Q &gt; const &amp;q)</div><div class="ttdoc">Compute a cross product between a vector and a quaternion.</div></div>
 <div class="ttc" id="aa00972_html_ga4cf12d456770d716b590fd498bce6136"><div class="ttname"><a href="a00972.html#ga4cf12d456770d716b590fd498bce6136">glm::toQuat</a></div><div class="ttdeci">GLM_FUNC_QUALIFIER qua&lt; T, Q &gt; toQuat(mat&lt; 4, 4, T, Q &gt; const &amp;x)</div><div class="ttdoc">Converts a 4 * 4 matrix to a quaternion.</div><div class="ttdef"><b>Definition:</b> <a href="a01714_source.html#l00132">gtx/quaternion.hpp:132</a></div></div>
-<div class="ttc" id="aa00972_html_ga08eb643306c5ba9211a81b322bc89543"><div class="ttname"><a href="a00972.html#ga08eb643306c5ba9211a81b322bc89543">glm::length2</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR T length2(qua&lt; T, Q &gt; const &amp;q)</div><div class="ttdoc">Returns the squared length of x.</div></div>
+<div class="ttc" id="aa00972_html_ga08eb643306c5ba9211a81b322bc89543"><div class="ttname"><a href="a00972.html#ga08eb643306c5ba9211a81b322bc89543">glm::length2</a></div><div class="ttdeci">GLM_FUNC_DECL constexpr T length2(qua&lt; T, Q &gt; const &amp;q)</div><div class="ttdoc">Returns the squared length of x.</div></div>
 <div class="ttc" id="aa00972_html_gac228e3fcfa813841804362fcae02b337"><div class="ttname"><a href="a00972.html#gac228e3fcfa813841804362fcae02b337">glm::toMat3</a></div><div class="ttdeci">GLM_FUNC_QUALIFIER mat&lt; 3, 3, T, Q &gt; toMat3(qua&lt; T, Q &gt; const &amp;x)</div><div class="ttdoc">Converts a quaternion to a 3 * 3 matrix.</div><div class="ttdef"><b>Definition:</b> <a href="a01714_source.html#l00111">gtx/quaternion.hpp:111</a></div></div>
 <div class="ttc" id="aa00917_html_ga1113212d9bdefc2e31ad40e5bbb506f3"><div class="ttname"><a href="a00917.html#ga1113212d9bdefc2e31ad40e5bbb506f3">glm::mat4_cast</a></div><div class="ttdeci">GLM_FUNC_DECL mat&lt; 4, 4, T, Q &gt; mat4_cast(qua&lt; T, Q &gt; const &amp;x)</div><div class="ttdoc">Converts a quaternion to a 4 * 4 matrix.</div></div>
 <div class="ttc" id="aa00972_html_gadc576cc957adc2a568cdcbc3799175bc"><div class="ttname"><a href="a00972.html#gadc576cc957adc2a568cdcbc3799175bc">glm::shortMix</a></div><div class="ttdeci">GLM_FUNC_DECL qua&lt; T, Q &gt; shortMix(qua&lt; T, Q &gt; const &amp;x, qua&lt; T, Q &gt; const &amp;y, T const &amp;a)</div><div class="ttdoc">Quaternion interpolation using the rotation short path.</div></div>

+ 4 - 4
doc/api/a01717.html

@@ -81,19 +81,19 @@ $(function() {
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
 Functions</h2></td></tr>
 <tr class="memitem:ga90ebafeace352ccc14055418ebd220be"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
-<tr class="memitem:ga90ebafeace352ccc14055418ebd220be"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00872.html#ga90ebafeace352ccc14055418ebd220be">equal</a> (genType const &amp;x, genType const &amp;y, genType const &amp;epsilon)</td></tr>
+<tr class="memitem:ga90ebafeace352ccc14055418ebd220be"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00872.html#ga90ebafeace352ccc14055418ebd220be">equal</a> (genType const &amp;x, genType const &amp;y, genType const &amp;epsilon)</td></tr>
 <tr class="memdesc:ga90ebafeace352ccc14055418ebd220be"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the component-wise comparison of |x - y| &lt; epsilon.  <a href="a00872.html#ga90ebafeace352ccc14055418ebd220be">More...</a><br /></td></tr>
 <tr class="separator:ga90ebafeace352ccc14055418ebd220be"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga865b9a427c42df73b8af9cd3f7f25394"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
-<tr class="memitem:ga865b9a427c42df73b8af9cd3f7f25394"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00872.html#ga865b9a427c42df73b8af9cd3f7f25394">equal</a> (genType const &amp;x, genType const &amp;y, int ULPs)</td></tr>
+<tr class="memitem:ga865b9a427c42df73b8af9cd3f7f25394"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00872.html#ga865b9a427c42df73b8af9cd3f7f25394">equal</a> (genType const &amp;x, genType const &amp;y, int ULPs)</td></tr>
 <tr class="memdesc:ga865b9a427c42df73b8af9cd3f7f25394"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the component-wise comparison between two scalars in term of ULPs.  <a href="a00872.html#ga865b9a427c42df73b8af9cd3f7f25394">More...</a><br /></td></tr>
 <tr class="separator:ga865b9a427c42df73b8af9cd3f7f25394"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga835ecf946c74f3d68be93e70b10821e7"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
-<tr class="memitem:ga835ecf946c74f3d68be93e70b10821e7"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00872.html#ga835ecf946c74f3d68be93e70b10821e7">notEqual</a> (genType const &amp;x, genType const &amp;y, genType const &amp;epsilon)</td></tr>
+<tr class="memitem:ga835ecf946c74f3d68be93e70b10821e7"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00872.html#ga835ecf946c74f3d68be93e70b10821e7">notEqual</a> (genType const &amp;x, genType const &amp;y, genType const &amp;epsilon)</td></tr>
 <tr class="memdesc:ga835ecf946c74f3d68be93e70b10821e7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the component-wise comparison of |x - y| &gt;= epsilon.  <a href="a00872.html#ga835ecf946c74f3d68be93e70b10821e7">More...</a><br /></td></tr>
 <tr class="separator:ga835ecf946c74f3d68be93e70b10821e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gabd21e65b2e4c9d501d51536c4a6ef7cb"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
-<tr class="memitem:gabd21e65b2e4c9d501d51536c4a6ef7cb"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00872.html#gabd21e65b2e4c9d501d51536c4a6ef7cb">notEqual</a> (genType const &amp;x, genType const &amp;y, int ULPs)</td></tr>
+<tr class="memitem:gabd21e65b2e4c9d501d51536c4a6ef7cb"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00872.html#gabd21e65b2e4c9d501d51536c4a6ef7cb">notEqual</a> (genType const &amp;x, genType const &amp;y, int ULPs)</td></tr>
 <tr class="memdesc:gabd21e65b2e4c9d501d51536c4a6ef7cb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the component-wise comparison between two scalars in term of ULPs.  <a href="a00872.html#gabd21e65b2e4c9d501d51536c4a6ef7cb">More...</a><br /></td></tr>
 <tr class="separator:gabd21e65b2e4c9d501d51536c4a6ef7cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>

+ 7 - 7
doc/api/a01717_source.html

@@ -84,24 +84,24 @@ $(function() {
 <div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;{</div>
 <div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160; </div>
 <div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> genType&gt;</div>
-<div class="line"><a name="l00034"></a><span class="lineno"><a class="line" href="a00872.html#ga90ebafeace352ccc14055418ebd220be">   34</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR <span class="keywordtype">bool</span> <a class="code" href="a00872.html#ga865b9a427c42df73b8af9cd3f7f25394">equal</a>(genType <span class="keyword">const</span>&amp; x, genType <span class="keyword">const</span>&amp; y, genType <span class="keyword">const</span>&amp; <a class="code" href="a00867.html#ga2a1e57fc5592b69cfae84174cbfc9429">epsilon</a>);</div>
+<div class="line"><a name="l00034"></a><span class="lineno"><a class="line" href="a00872.html#ga90ebafeace352ccc14055418ebd220be">   34</a></span>&#160;        GLM_FUNC_DECL constexpr <span class="keywordtype">bool</span> <a class="code" href="a00872.html#ga865b9a427c42df73b8af9cd3f7f25394">equal</a>(genType <span class="keyword">const</span>&amp; x, genType <span class="keyword">const</span>&amp; y, genType <span class="keyword">const</span>&amp; <a class="code" href="a00867.html#ga2a1e57fc5592b69cfae84174cbfc9429">epsilon</a>);</div>
 <div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160; </div>
 <div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> genType&gt;</div>
-<div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="a00872.html#ga835ecf946c74f3d68be93e70b10821e7">   41</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR <span class="keywordtype">bool</span> <a class="code" href="a00872.html#gabd21e65b2e4c9d501d51536c4a6ef7cb">notEqual</a>(genType <span class="keyword">const</span>&amp; x, genType <span class="keyword">const</span>&amp; y, genType <span class="keyword">const</span>&amp; <a class="code" href="a00867.html#ga2a1e57fc5592b69cfae84174cbfc9429">epsilon</a>);</div>
+<div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="a00872.html#ga835ecf946c74f3d68be93e70b10821e7">   41</a></span>&#160;        GLM_FUNC_DECL constexpr <span class="keywordtype">bool</span> <a class="code" href="a00872.html#gabd21e65b2e4c9d501d51536c4a6ef7cb">notEqual</a>(genType <span class="keyword">const</span>&amp; x, genType <span class="keyword">const</span>&amp; y, genType <span class="keyword">const</span>&amp; <a class="code" href="a00867.html#ga2a1e57fc5592b69cfae84174cbfc9429">epsilon</a>);</div>
 <div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160; </div>
 <div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> genType&gt;</div>
-<div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="a00872.html#ga865b9a427c42df73b8af9cd3f7f25394">   52</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR <span class="keywordtype">bool</span> <a class="code" href="a00872.html#ga865b9a427c42df73b8af9cd3f7f25394">equal</a>(genType <span class="keyword">const</span>&amp; x, genType <span class="keyword">const</span>&amp; y, <span class="keywordtype">int</span> ULPs);</div>
+<div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="a00872.html#ga865b9a427c42df73b8af9cd3f7f25394">   52</a></span>&#160;        GLM_FUNC_DECL constexpr <span class="keywordtype">bool</span> <a class="code" href="a00872.html#ga865b9a427c42df73b8af9cd3f7f25394">equal</a>(genType <span class="keyword">const</span>&amp; x, genType <span class="keyword">const</span>&amp; y, <span class="keywordtype">int</span> ULPs);</div>
 <div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160; </div>
 <div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> genType&gt;</div>
-<div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="a00872.html#gabd21e65b2e4c9d501d51536c4a6ef7cb">   63</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR <span class="keywordtype">bool</span> <a class="code" href="a00872.html#gabd21e65b2e4c9d501d51536c4a6ef7cb">notEqual</a>(genType <span class="keyword">const</span>&amp; x, genType <span class="keyword">const</span>&amp; y, <span class="keywordtype">int</span> ULPs);</div>
+<div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="a00872.html#gabd21e65b2e4c9d501d51536c4a6ef7cb">   63</a></span>&#160;        GLM_FUNC_DECL constexpr <span class="keywordtype">bool</span> <a class="code" href="a00872.html#gabd21e65b2e4c9d501d51536c4a6ef7cb">notEqual</a>(genType <span class="keyword">const</span>&amp; x, genType <span class="keyword">const</span>&amp; y, <span class="keywordtype">int</span> ULPs);</div>
 <div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160; </div>
 <div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;}<span class="comment">//namespace glm</span></div>
 <div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160; </div>
 <div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="preprocessor">#include &quot;scalar_relational.inl&quot;</span></div>
 </div><!-- fragment --></div><!-- contents -->
-<div class="ttc" id="aa00872_html_gabd21e65b2e4c9d501d51536c4a6ef7cb"><div class="ttname"><a href="a00872.html#gabd21e65b2e4c9d501d51536c4a6ef7cb">glm::notEqual</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR bool notEqual(genType const &amp;x, genType const &amp;y, int ULPs)</div><div class="ttdoc">Returns the component-wise comparison between two scalars in term of ULPs.</div></div>
-<div class="ttc" id="aa00872_html_ga865b9a427c42df73b8af9cd3f7f25394"><div class="ttname"><a href="a00872.html#ga865b9a427c42df73b8af9cd3f7f25394">glm::equal</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR bool equal(genType const &amp;x, genType const &amp;y, int ULPs)</div><div class="ttdoc">Returns the component-wise comparison between two scalars in term of ULPs.</div></div>
-<div class="ttc" id="aa00867_html_ga2a1e57fc5592b69cfae84174cbfc9429"><div class="ttname"><a href="a00867.html#ga2a1e57fc5592b69cfae84174cbfc9429">glm::epsilon</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType epsilon()</div><div class="ttdoc">Return the epsilon constant for floating point types.</div></div>
+<div class="ttc" id="aa00872_html_gabd21e65b2e4c9d501d51536c4a6ef7cb"><div class="ttname"><a href="a00872.html#gabd21e65b2e4c9d501d51536c4a6ef7cb">glm::notEqual</a></div><div class="ttdeci">GLM_FUNC_DECL constexpr bool notEqual(genType const &amp;x, genType const &amp;y, int ULPs)</div><div class="ttdoc">Returns the component-wise comparison between two scalars in term of ULPs.</div></div>
+<div class="ttc" id="aa00872_html_ga865b9a427c42df73b8af9cd3f7f25394"><div class="ttname"><a href="a00872.html#ga865b9a427c42df73b8af9cd3f7f25394">glm::equal</a></div><div class="ttdeci">GLM_FUNC_DECL constexpr bool equal(genType const &amp;x, genType const &amp;y, int ULPs)</div><div class="ttdoc">Returns the component-wise comparison between two scalars in term of ULPs.</div></div>
+<div class="ttc" id="aa00867_html_ga2a1e57fc5592b69cfae84174cbfc9429"><div class="ttname"><a href="a00867.html#ga2a1e57fc5592b69cfae84174cbfc9429">glm::epsilon</a></div><div class="ttdeci">GLM_FUNC_DECL constexpr genType epsilon()</div><div class="ttdoc">Return the epsilon constant for floating point types.</div></div>
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
 Generated by &#160;<a href="http://www.doxygen.org/index.html">

+ 8 - 8
doc/api/a01729.html

@@ -81,35 +81,35 @@ $(function() {
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
 Functions</h2></td></tr>
 <tr class="memitem:ga2b46cb50911e97b32f4cd743c2c69771"><td class="memTemplParams" colspan="2">template&lt;length_t L, typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:ga2b46cb50911e97b32f4cd743c2c69771"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; L, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00890.html#ga2b46cb50911e97b32f4cd743c2c69771">equal</a> (vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y, int ULPs)</td></tr>
+<tr class="memitem:ga2b46cb50911e97b32f4cd743c2c69771"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr vec&lt; L, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00890.html#ga2b46cb50911e97b32f4cd743c2c69771">equal</a> (vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y, int ULPs)</td></tr>
 <tr class="memdesc:ga2b46cb50911e97b32f4cd743c2c69771"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the component-wise comparison between two vectors in term of ULPs.  <a href="a00890.html#ga2b46cb50911e97b32f4cd743c2c69771">More...</a><br /></td></tr>
 <tr class="separator:ga2b46cb50911e97b32f4cd743c2c69771"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga2ac7651a2fa7354f2da610dbd50d28e2"><td class="memTemplParams" colspan="2">template&lt;length_t L, typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:ga2ac7651a2fa7354f2da610dbd50d28e2"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; L, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00890.html#ga2ac7651a2fa7354f2da610dbd50d28e2">equal</a> (vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y, T epsilon)</td></tr>
+<tr class="memitem:ga2ac7651a2fa7354f2da610dbd50d28e2"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr vec&lt; L, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00890.html#ga2ac7651a2fa7354f2da610dbd50d28e2">equal</a> (vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y, T epsilon)</td></tr>
 <tr class="memdesc:ga2ac7651a2fa7354f2da610dbd50d28e2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the component-wise comparison of |x - y| &lt; epsilon.  <a href="a00890.html#ga2ac7651a2fa7354f2da610dbd50d28e2">More...</a><br /></td></tr>
 <tr class="separator:ga2ac7651a2fa7354f2da610dbd50d28e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga7da2b8605be7f245b39cb6fbf6d9d581"><td class="memTemplParams" colspan="2">template&lt;length_t L, typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:ga7da2b8605be7f245b39cb6fbf6d9d581"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; L, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00890.html#ga7da2b8605be7f245b39cb6fbf6d9d581">equal</a> (vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y, vec&lt; L, int, Q &gt; const &amp;ULPs)</td></tr>
+<tr class="memitem:ga7da2b8605be7f245b39cb6fbf6d9d581"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr vec&lt; L, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00890.html#ga7da2b8605be7f245b39cb6fbf6d9d581">equal</a> (vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y, vec&lt; L, int, Q &gt; const &amp;ULPs)</td></tr>
 <tr class="memdesc:ga7da2b8605be7f245b39cb6fbf6d9d581"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the component-wise comparison between two vectors in term of ULPs.  <a href="a00890.html#ga7da2b8605be7f245b39cb6fbf6d9d581">More...</a><br /></td></tr>
 <tr class="separator:ga7da2b8605be7f245b39cb6fbf6d9d581"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga37d261a65f69babc82cec2ae1af7145f"><td class="memTemplParams" colspan="2">template&lt;length_t L, typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:ga37d261a65f69babc82cec2ae1af7145f"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; L, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00890.html#ga37d261a65f69babc82cec2ae1af7145f">equal</a> (vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y, vec&lt; L, T, Q &gt; const &amp;epsilon)</td></tr>
+<tr class="memitem:ga37d261a65f69babc82cec2ae1af7145f"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr vec&lt; L, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00890.html#ga37d261a65f69babc82cec2ae1af7145f">equal</a> (vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y, vec&lt; L, T, Q &gt; const &amp;epsilon)</td></tr>
 <tr class="memdesc:ga37d261a65f69babc82cec2ae1af7145f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the component-wise comparison of |x - y| &lt; epsilon.  <a href="a00890.html#ga37d261a65f69babc82cec2ae1af7145f">More...</a><br /></td></tr>
 <tr class="separator:ga37d261a65f69babc82cec2ae1af7145f"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga8b5c2c3f83422ae5b71fa960d03b0339"><td class="memTemplParams" colspan="2">template&lt;length_t L, typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:ga8b5c2c3f83422ae5b71fa960d03b0339"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; L, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00890.html#ga8b5c2c3f83422ae5b71fa960d03b0339">notEqual</a> (vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y, int ULPs)</td></tr>
+<tr class="memitem:ga8b5c2c3f83422ae5b71fa960d03b0339"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr vec&lt; L, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00890.html#ga8b5c2c3f83422ae5b71fa960d03b0339">notEqual</a> (vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y, int ULPs)</td></tr>
 <tr class="memdesc:ga8b5c2c3f83422ae5b71fa960d03b0339"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the component-wise comparison between two vectors in term of ULPs.  <a href="a00890.html#ga8b5c2c3f83422ae5b71fa960d03b0339">More...</a><br /></td></tr>
 <tr class="separator:ga8b5c2c3f83422ae5b71fa960d03b0339"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga4a99cc41341567567a608719449c1fac"><td class="memTemplParams" colspan="2">template&lt;length_t L, typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:ga4a99cc41341567567a608719449c1fac"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; L, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00890.html#ga4a99cc41341567567a608719449c1fac">notEqual</a> (vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y, T epsilon)</td></tr>
+<tr class="memitem:ga4a99cc41341567567a608719449c1fac"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr vec&lt; L, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00890.html#ga4a99cc41341567567a608719449c1fac">notEqual</a> (vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y, T epsilon)</td></tr>
 <tr class="memdesc:ga4a99cc41341567567a608719449c1fac"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the component-wise comparison of |x - y| &gt;= epsilon.  <a href="a00890.html#ga4a99cc41341567567a608719449c1fac">More...</a><br /></td></tr>
 <tr class="separator:ga4a99cc41341567567a608719449c1fac"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga0b15ffe32987a6029b14398eb0def01a"><td class="memTemplParams" colspan="2">template&lt;length_t L, typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:ga0b15ffe32987a6029b14398eb0def01a"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; L, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00890.html#ga0b15ffe32987a6029b14398eb0def01a">notEqual</a> (vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y, vec&lt; L, int, Q &gt; const &amp;ULPs)</td></tr>
+<tr class="memitem:ga0b15ffe32987a6029b14398eb0def01a"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr vec&lt; L, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00890.html#ga0b15ffe32987a6029b14398eb0def01a">notEqual</a> (vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y, vec&lt; L, int, Q &gt; const &amp;ULPs)</td></tr>
 <tr class="memdesc:ga0b15ffe32987a6029b14398eb0def01a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the component-wise comparison between two vectors in term of ULPs.  <a href="a00890.html#ga0b15ffe32987a6029b14398eb0def01a">More...</a><br /></td></tr>
 <tr class="separator:ga0b15ffe32987a6029b14398eb0def01a"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga417cf51304359db18e819dda9bce5767"><td class="memTemplParams" colspan="2">template&lt;length_t L, typename T , qualifier Q&gt; </td></tr>
-<tr class="memitem:ga417cf51304359db18e819dda9bce5767"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; L, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00890.html#ga417cf51304359db18e819dda9bce5767">notEqual</a> (vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y, vec&lt; L, T, Q &gt; const &amp;epsilon)</td></tr>
+<tr class="memitem:ga417cf51304359db18e819dda9bce5767"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL constexpr vec&lt; L, bool, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00890.html#ga417cf51304359db18e819dda9bce5767">notEqual</a> (vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y, vec&lt; L, T, Q &gt; const &amp;epsilon)</td></tr>
 <tr class="memdesc:ga417cf51304359db18e819dda9bce5767"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the component-wise comparison of |x - y| &gt;= epsilon.  <a href="a00890.html#ga417cf51304359db18e819dda9bce5767">More...</a><br /></td></tr>
 <tr class="separator:ga417cf51304359db18e819dda9bce5767"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>

+ 11 - 11
doc/api/a01729_source.html

@@ -84,36 +84,36 @@ $(function() {
 <div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;{</div>
 <div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160; </div>
 <div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;        <span class="keyword">template</span>&lt;length_t L, <span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="a00890.html#ga2ac7651a2fa7354f2da610dbd50d28e2">   39</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;L, bool, Q&gt; <a class="code" href="a00890.html#ga7da2b8605be7f245b39cb6fbf6d9d581">equal</a>(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; x, vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; y, T <a class="code" href="a00867.html#ga2a1e57fc5592b69cfae84174cbfc9429">epsilon</a>);</div>
+<div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="a00890.html#ga2ac7651a2fa7354f2da610dbd50d28e2">   39</a></span>&#160;        GLM_FUNC_DECL constexpr vec&lt;L, bool, Q&gt; <a class="code" href="a00890.html#ga7da2b8605be7f245b39cb6fbf6d9d581">equal</a>(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; x, vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; y, T <a class="code" href="a00867.html#ga2a1e57fc5592b69cfae84174cbfc9429">epsilon</a>);</div>
 <div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160; </div>
 <div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;        <span class="keyword">template</span>&lt;length_t L, <span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="a00890.html#ga37d261a65f69babc82cec2ae1af7145f">   48</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;L, bool, Q&gt; <a class="code" href="a00890.html#ga7da2b8605be7f245b39cb6fbf6d9d581">equal</a>(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; x, vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; y, vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; <a class="code" href="a00867.html#ga2a1e57fc5592b69cfae84174cbfc9429">epsilon</a>);</div>
+<div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="a00890.html#ga37d261a65f69babc82cec2ae1af7145f">   48</a></span>&#160;        GLM_FUNC_DECL constexpr vec&lt;L, bool, Q&gt; <a class="code" href="a00890.html#ga7da2b8605be7f245b39cb6fbf6d9d581">equal</a>(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; x, vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; y, vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; <a class="code" href="a00867.html#ga2a1e57fc5592b69cfae84174cbfc9429">epsilon</a>);</div>
 <div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160; </div>
 <div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;        <span class="keyword">template</span>&lt;length_t L, <span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="a00890.html#ga4a99cc41341567567a608719449c1fac">   57</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;L, bool, Q&gt; <a class="code" href="a00890.html#ga0b15ffe32987a6029b14398eb0def01a">notEqual</a>(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; x, vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; y, T <a class="code" href="a00867.html#ga2a1e57fc5592b69cfae84174cbfc9429">epsilon</a>);</div>
+<div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="a00890.html#ga4a99cc41341567567a608719449c1fac">   57</a></span>&#160;        GLM_FUNC_DECL constexpr vec&lt;L, bool, Q&gt; <a class="code" href="a00890.html#ga0b15ffe32987a6029b14398eb0def01a">notEqual</a>(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; x, vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; y, T <a class="code" href="a00867.html#ga2a1e57fc5592b69cfae84174cbfc9429">epsilon</a>);</div>
 <div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160; </div>
 <div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;        <span class="keyword">template</span>&lt;length_t L, <span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="a00890.html#ga417cf51304359db18e819dda9bce5767">   66</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;L, bool, Q&gt; <a class="code" href="a00890.html#ga0b15ffe32987a6029b14398eb0def01a">notEqual</a>(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; x, vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; y, vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; <a class="code" href="a00867.html#ga2a1e57fc5592b69cfae84174cbfc9429">epsilon</a>);</div>
+<div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="a00890.html#ga417cf51304359db18e819dda9bce5767">   66</a></span>&#160;        GLM_FUNC_DECL constexpr vec&lt;L, bool, Q&gt; <a class="code" href="a00890.html#ga0b15ffe32987a6029b14398eb0def01a">notEqual</a>(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; x, vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; y, vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; <a class="code" href="a00867.html#ga2a1e57fc5592b69cfae84174cbfc9429">epsilon</a>);</div>
 <div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160; </div>
 <div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;        <span class="keyword">template</span>&lt;length_t L, <span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="a00890.html#ga2b46cb50911e97b32f4cd743c2c69771">   75</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;L, bool, Q&gt; <a class="code" href="a00890.html#ga7da2b8605be7f245b39cb6fbf6d9d581">equal</a>(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; x, vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; y, <span class="keywordtype">int</span> ULPs);</div>
+<div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="a00890.html#ga2b46cb50911e97b32f4cd743c2c69771">   75</a></span>&#160;        GLM_FUNC_DECL constexpr vec&lt;L, bool, Q&gt; <a class="code" href="a00890.html#ga7da2b8605be7f245b39cb6fbf6d9d581">equal</a>(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; x, vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; y, <span class="keywordtype">int</span> ULPs);</div>
 <div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160; </div>
 <div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;        <span class="keyword">template</span>&lt;length_t L, <span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="a00890.html#ga7da2b8605be7f245b39cb6fbf6d9d581">   84</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;L, bool, Q&gt; <a class="code" href="a00890.html#ga7da2b8605be7f245b39cb6fbf6d9d581">equal</a>(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; x, vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; y, vec&lt;L, int, Q&gt; <span class="keyword">const</span>&amp; ULPs);</div>
+<div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="a00890.html#ga7da2b8605be7f245b39cb6fbf6d9d581">   84</a></span>&#160;        GLM_FUNC_DECL constexpr vec&lt;L, bool, Q&gt; <a class="code" href="a00890.html#ga7da2b8605be7f245b39cb6fbf6d9d581">equal</a>(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; x, vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; y, vec&lt;L, int, Q&gt; <span class="keyword">const</span>&amp; ULPs);</div>
 <div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160; </div>
 <div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;        <span class="keyword">template</span>&lt;length_t L, <span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="a00890.html#ga8b5c2c3f83422ae5b71fa960d03b0339">   93</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;L, bool, Q&gt; <a class="code" href="a00890.html#ga0b15ffe32987a6029b14398eb0def01a">notEqual</a>(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; x, vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; y, <span class="keywordtype">int</span> ULPs);</div>
+<div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="a00890.html#ga8b5c2c3f83422ae5b71fa960d03b0339">   93</a></span>&#160;        GLM_FUNC_DECL constexpr vec&lt;L, bool, Q&gt; <a class="code" href="a00890.html#ga0b15ffe32987a6029b14398eb0def01a">notEqual</a>(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; x, vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; y, <span class="keywordtype">int</span> ULPs);</div>
 <div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160; </div>
 <div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;        <span class="keyword">template</span>&lt;length_t L, <span class="keyword">typename</span> T, qualifier Q&gt;</div>
-<div class="line"><a name="l00102"></a><span class="lineno"><a class="line" href="a00890.html#ga0b15ffe32987a6029b14398eb0def01a">  102</a></span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vec&lt;L, bool, Q&gt; <a class="code" href="a00890.html#ga0b15ffe32987a6029b14398eb0def01a">notEqual</a>(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; x, vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; y, vec&lt;L, int, Q&gt; <span class="keyword">const</span>&amp; ULPs);</div>
+<div class="line"><a name="l00102"></a><span class="lineno"><a class="line" href="a00890.html#ga0b15ffe32987a6029b14398eb0def01a">  102</a></span>&#160;        GLM_FUNC_DECL constexpr vec&lt;L, bool, Q&gt; <a class="code" href="a00890.html#ga0b15ffe32987a6029b14398eb0def01a">notEqual</a>(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; x, vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; y, vec&lt;L, int, Q&gt; <span class="keyword">const</span>&amp; ULPs);</div>
 <div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160; </div>
 <div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;}<span class="comment">//namespace glm</span></div>
 <div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160; </div>
 <div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="preprocessor">#include &quot;vector_relational.inl&quot;</span></div>
 </div><!-- fragment --></div><!-- contents -->
-<div class="ttc" id="aa00890_html_ga0b15ffe32987a6029b14398eb0def01a"><div class="ttname"><a href="a00890.html#ga0b15ffe32987a6029b14398eb0def01a">glm::notEqual</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; L, bool, Q &gt; notEqual(vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y, vec&lt; L, int, Q &gt; const &amp;ULPs)</div><div class="ttdoc">Returns the component-wise comparison between two vectors in term of ULPs.</div></div>
-<div class="ttc" id="aa00890_html_ga7da2b8605be7f245b39cb6fbf6d9d581"><div class="ttname"><a href="a00890.html#ga7da2b8605be7f245b39cb6fbf6d9d581">glm::equal</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR vec&lt; L, bool, Q &gt; equal(vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y, vec&lt; L, int, Q &gt; const &amp;ULPs)</div><div class="ttdoc">Returns the component-wise comparison between two vectors in term of ULPs.</div></div>
-<div class="ttc" id="aa00867_html_ga2a1e57fc5592b69cfae84174cbfc9429"><div class="ttname"><a href="a00867.html#ga2a1e57fc5592b69cfae84174cbfc9429">glm::epsilon</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType epsilon()</div><div class="ttdoc">Return the epsilon constant for floating point types.</div></div>
+<div class="ttc" id="aa00890_html_ga0b15ffe32987a6029b14398eb0def01a"><div class="ttname"><a href="a00890.html#ga0b15ffe32987a6029b14398eb0def01a">glm::notEqual</a></div><div class="ttdeci">GLM_FUNC_DECL constexpr vec&lt; L, bool, Q &gt; notEqual(vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y, vec&lt; L, int, Q &gt; const &amp;ULPs)</div><div class="ttdoc">Returns the component-wise comparison between two vectors in term of ULPs.</div></div>
+<div class="ttc" id="aa00890_html_ga7da2b8605be7f245b39cb6fbf6d9d581"><div class="ttname"><a href="a00890.html#ga7da2b8605be7f245b39cb6fbf6d9d581">glm::equal</a></div><div class="ttdeci">GLM_FUNC_DECL constexpr vec&lt; L, bool, Q &gt; equal(vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y, vec&lt; L, int, Q &gt; const &amp;ULPs)</div><div class="ttdoc">Returns the component-wise comparison between two vectors in term of ULPs.</div></div>
+<div class="ttc" id="aa00867_html_ga2a1e57fc5592b69cfae84174cbfc9429"><div class="ttname"><a href="a00867.html#ga2a1e57fc5592b69cfae84174cbfc9429">glm::epsilon</a></div><div class="ttdeci">GLM_FUNC_DECL constexpr genType epsilon()</div><div class="ttdoc">Return the epsilon constant for floating point types.</div></div>
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
 Generated by &#160;<a href="http://www.doxygen.org/index.html">

+ 15 - 15
glm/common.hpp

@@ -29,7 +29,7 @@ namespace glm
 	/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/abs.xml">GLSL abs man page</a>
 	/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.3 Common Functions</a>
 	template<typename genType>
-	GLM_FUNC_DECL GLM_CONSTEXPR genType abs(genType x);
+	GLM_FUNC_DECL constexpr genType abs(genType x);
 
 	/// Returns x if x >= 0; otherwise, it returns -x.
 	///
@@ -40,7 +40,7 @@ namespace glm
 	/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/abs.xml">GLSL abs man page</a>
 	/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.3 Common Functions</a>
 	template<length_t L, typename T, qualifier Q>
-	GLM_FUNC_DECL GLM_CONSTEXPR vec<L, T, Q> abs(vec<L, T, Q> const& x);
+	GLM_FUNC_DECL constexpr vec<L, T, Q> abs(vec<L, T, Q> const& x);
 
 	/// Returns 1.0 if x > 0, 0.0 if x == 0, or -1.0 if x < 0.
 	///
@@ -51,7 +51,7 @@ namespace glm
 	/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/sign.xml">GLSL sign man page</a>
 	/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.3 Common Functions</a>
 	template<length_t L, typename T, qualifier Q>
-	GLM_FUNC_DECL GLM_CONSTEXPR vec<L, T, Q> sign(vec<L, T, Q> const& x);
+	GLM_FUNC_DECL constexpr vec<L, T, Q> sign(vec<L, T, Q> const& x);
 
 	/// Returns a value equal to the nearest integer that is less then or equal to x.
 	///
@@ -174,7 +174,7 @@ namespace glm
 	/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/min.xml">GLSL min man page</a>
 	/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.3 Common Functions</a>
 	template<typename genType>
-	GLM_FUNC_DECL GLM_CONSTEXPR genType min(genType x, genType y);
+	GLM_FUNC_DECL constexpr genType min(genType x, genType y);
 
 	/// Returns y if y < x; otherwise, it returns x.
 	///
@@ -185,7 +185,7 @@ namespace glm
 	/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/min.xml">GLSL min man page</a>
 	/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.3 Common Functions</a>
 	template<length_t L, typename T, qualifier Q>
-	GLM_FUNC_DECL GLM_CONSTEXPR vec<L, T, Q> min(vec<L, T, Q> const& x, T y);
+	GLM_FUNC_DECL constexpr vec<L, T, Q> min(vec<L, T, Q> const& x, T y);
 
 	/// Returns y if y < x; otherwise, it returns x.
 	///
@@ -196,7 +196,7 @@ namespace glm
 	/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/min.xml">GLSL min man page</a>
 	/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.3 Common Functions</a>
 	template<length_t L, typename T, qualifier Q>
-	GLM_FUNC_DECL GLM_CONSTEXPR vec<L, T, Q> min(vec<L, T, Q> const& x, vec<L, T, Q> const& y);
+	GLM_FUNC_DECL constexpr vec<L, T, Q> min(vec<L, T, Q> const& x, vec<L, T, Q> const& y);
 
 	/// Returns y if x < y; otherwise, it returns x.
 	///
@@ -205,7 +205,7 @@ namespace glm
 	/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/max.xml">GLSL max man page</a>
 	/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.3 Common Functions</a>
 	template<typename genType>
-	GLM_FUNC_DECL GLM_CONSTEXPR genType max(genType x, genType y);
+	GLM_FUNC_DECL constexpr genType max(genType x, genType y);
 
 	/// Returns y if x < y; otherwise, it returns x.
 	///
@@ -216,7 +216,7 @@ namespace glm
 	/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/max.xml">GLSL max man page</a>
 	/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.3 Common Functions</a>
 	template<length_t L, typename T, qualifier Q>
-	GLM_FUNC_DECL GLM_CONSTEXPR vec<L, T, Q> max(vec<L, T, Q> const& x, T y);
+	GLM_FUNC_DECL constexpr vec<L, T, Q> max(vec<L, T, Q> const& x, T y);
 
 	/// Returns y if x < y; otherwise, it returns x.
 	///
@@ -227,7 +227,7 @@ namespace glm
 	/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/max.xml">GLSL max man page</a>
 	/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.3 Common Functions</a>
 	template<length_t L, typename T, qualifier Q>
-	GLM_FUNC_DECL GLM_CONSTEXPR vec<L, T, Q> max(vec<L, T, Q> const& x, vec<L, T, Q> const& y);
+	GLM_FUNC_DECL constexpr vec<L, T, Q> max(vec<L, T, Q> const& x, vec<L, T, Q> const& y);
 
 	/// Returns min(max(x, minVal), maxVal) for each component in x
 	/// using the floating-point values minVal and maxVal.
@@ -237,7 +237,7 @@ namespace glm
 	/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/clamp.xml">GLSL clamp man page</a>
 	/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.3 Common Functions</a>
 	template<typename genType>
-	GLM_FUNC_DECL GLM_CONSTEXPR genType clamp(genType x, genType minVal, genType maxVal);
+	GLM_FUNC_DECL constexpr genType clamp(genType x, genType minVal, genType maxVal);
 
 	/// Returns min(max(x, minVal), maxVal) for each component in x
 	/// using the floating-point values minVal and maxVal.
@@ -249,7 +249,7 @@ namespace glm
 	/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/clamp.xml">GLSL clamp man page</a>
 	/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.3 Common Functions</a>
 	template<length_t L, typename T, qualifier Q>
-	GLM_FUNC_DECL GLM_CONSTEXPR vec<L, T, Q> clamp(vec<L, T, Q> const& x, T minVal, T maxVal);
+	GLM_FUNC_DECL constexpr vec<L, T, Q> clamp(vec<L, T, Q> const& x, T minVal, T maxVal);
 
 	/// Returns min(max(x, minVal), maxVal) for each component in x
 	/// using the floating-point values minVal and maxVal.
@@ -261,7 +261,7 @@ namespace glm
 	/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/clamp.xml">GLSL clamp man page</a>
 	/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.3 Common Functions</a>
 	template<length_t L, typename T, qualifier Q>
-	GLM_FUNC_DECL GLM_CONSTEXPR vec<L, T, Q> clamp(vec<L, T, Q> const& x, vec<L, T, Q> const& minVal, vec<L, T, Q> const& maxVal);
+	GLM_FUNC_DECL constexpr vec<L, T, Q> clamp(vec<L, T, Q> const& x, vec<L, T, Q> const& minVal, vec<L, T, Q> const& maxVal);
 
 	/// If genTypeU is a floating scalar or vector:
 	/// Returns x * (1.0 - a) + y * a, i.e., the linear blend of
@@ -306,13 +306,13 @@ namespace glm
 	/// glm::vec4 u = glm::mix(g, h, r); // Interpolations can be perform per component with a vector for the last parameter.
 	/// @endcode
 	template<typename genTypeT, typename genTypeU>
-	GLM_FUNC_DECL GLM_CONSTEXPR genTypeT mix(genTypeT x, genTypeT y, genTypeU a);
+	GLM_FUNC_DECL constexpr genTypeT mix(genTypeT x, genTypeT y, genTypeU a);
 
 	template<length_t L, typename T, typename U, qualifier Q>
-	GLM_FUNC_DECL GLM_CONSTEXPR vec<L, T, Q> mix(vec<L, T, Q> const& x, vec<L, T, Q> const& y, vec<L, U, Q> const& a);
+	GLM_FUNC_DECL constexpr vec<L, T, Q> mix(vec<L, T, Q> const& x, vec<L, T, Q> const& y, vec<L, U, Q> const& a);
 
 	template<length_t L, typename T, typename U, qualifier Q>
-	GLM_FUNC_DECL GLM_CONSTEXPR vec<L, T, Q> mix(vec<L, T, Q> const& x, vec<L, T, Q> const& y, U a);
+	GLM_FUNC_DECL constexpr vec<L, T, Q> mix(vec<L, T, Q> const& x, vec<L, T, Q> const& y, U a);
 
 	/// Returns 0.0 if x < edge, otherwise it returns 1.0 for each component of a genType.
 	///

+ 16 - 16
glm/detail/_vectorize.hpp

@@ -9,7 +9,7 @@ namespace detail
 	template<template<length_t L, typename T, qualifier Q> class vec, typename R, typename T, qualifier Q>
 	struct functor1<vec, 1, R, T, Q>
 	{
-		GLM_FUNC_QUALIFIER GLM_CONSTEXPR static vec<1, R, Q> call(R (*Func) (T x), vec<1, T, Q> const& v)
+		GLM_FUNC_QUALIFIER constexpr static vec<1, R, Q> call(R (*Func) (T x), vec<1, T, Q> const& v)
 		{
 			return vec<1, R, Q>(Func(v.x));
 		}
@@ -18,7 +18,7 @@ namespace detail
 	template<template<length_t L, typename T, qualifier Q> class vec, typename R, typename T, qualifier Q>
 	struct functor1<vec, 2, R, T, Q>
 	{
-		GLM_FUNC_QUALIFIER GLM_CONSTEXPR static vec<2, R, Q> call(R (*Func) (T x), vec<2, T, Q> const& v)
+		GLM_FUNC_QUALIFIER constexpr static vec<2, R, Q> call(R (*Func) (T x), vec<2, T, Q> const& v)
 		{
 			return vec<2, R, Q>(Func(v.x), Func(v.y));
 		}
@@ -27,7 +27,7 @@ namespace detail
 	template<template<length_t L, typename T, qualifier Q> class vec, typename R, typename T, qualifier Q>
 	struct functor1<vec, 3, R, T, Q>
 	{
-		GLM_FUNC_QUALIFIER GLM_CONSTEXPR static vec<3, R, Q> call(R (*Func) (T x), vec<3, T, Q> const& v)
+		GLM_FUNC_QUALIFIER constexpr static vec<3, R, Q> call(R (*Func) (T x), vec<3, T, Q> const& v)
 		{
 			return vec<3, R, Q>(Func(v.x), Func(v.y), Func(v.z));
 		}
@@ -36,7 +36,7 @@ namespace detail
 	template<template<length_t L, typename T, qualifier Q> class vec, typename R, typename T, qualifier Q>
 	struct functor1<vec, 4, R, T, Q>
 	{
-		GLM_FUNC_QUALIFIER GLM_CONSTEXPR static vec<4, R, Q> call(R (*Func) (T x), vec<4, T, Q> const& v)
+		GLM_FUNC_QUALIFIER constexpr static vec<4, R, Q> call(R (*Func) (T x), vec<4, T, Q> const& v)
 		{
 			return vec<4, R, Q>(Func(v.x), Func(v.y), Func(v.z), Func(v.w));
 		}
@@ -54,7 +54,7 @@ namespace detail
 		}
 
 		template<typename Fct>
-		GLM_FUNC_QUALIFIER GLM_CONSTEXPR static vec<1, T, Q> call(Fct Func, vec<1, T, Q> const& a, vec<1, T, Q> const& b)
+		GLM_FUNC_QUALIFIER constexpr static vec<1, T, Q> call(Fct Func, vec<1, T, Q> const& a, vec<1, T, Q> const& b)
 		{
 			return vec<1, T, Q>(Func(a.x, b.x));
 		}
@@ -69,7 +69,7 @@ namespace detail
 		}
 
 		template<typename Fct>
-		GLM_FUNC_QUALIFIER GLM_CONSTEXPR static vec<2, T, Q> call(Fct Func, vec<2, T, Q> const& a, vec<2, T, Q> const& b)
+		GLM_FUNC_QUALIFIER constexpr static vec<2, T, Q> call(Fct Func, vec<2, T, Q> const& a, vec<2, T, Q> const& b)
 		{
 			return vec<2, T, Q>(Func(a.x, b.x), Func(a.y, b.y));
 		}
@@ -84,7 +84,7 @@ namespace detail
 		}
 
 		template<class Fct>
-		GLM_FUNC_QUALIFIER GLM_CONSTEXPR static vec<3, T, Q> call(Fct Func, vec<3, T, Q> const& a, vec<3, T, Q> const& b)
+		GLM_FUNC_QUALIFIER constexpr static vec<3, T, Q> call(Fct Func, vec<3, T, Q> const& a, vec<3, T, Q> const& b)
 		{
 			return vec<3, T, Q>(Func(a.x, b.x), Func(a.y, b.y), Func(a.z, b.z));
 		}
@@ -99,7 +99,7 @@ namespace detail
 		}
 
 		template<class Fct>
-		GLM_FUNC_QUALIFIER GLM_CONSTEXPR static vec<4, T, Q> call(Fct Func, vec<4, T, Q> const& a, vec<4, T, Q> const& b)
+		GLM_FUNC_QUALIFIER constexpr static vec<4, T, Q> call(Fct Func, vec<4, T, Q> const& a, vec<4, T, Q> const& b)
 		{
 			return vec<4, T, Q>(Func(a.x, b.x), Func(a.y, b.y), Func(a.z, b.z), Func(a.w, b.w));
 		}
@@ -116,7 +116,7 @@ namespace detail
 			return vec<1, T, Q>(Func(a.x, b));
 		}
 		template<class Fct>
-		GLM_FUNC_QUALIFIER GLM_CONSTEXPR static vec<1, T, Q> call(Fct Func, vec<1, T, Q> const& a, T b)
+		GLM_FUNC_QUALIFIER constexpr static vec<1, T, Q> call(Fct Func, vec<1, T, Q> const& a, T b)
 		{
 			return vec<1, T, Q>(Func(a.x, b));
 		}
@@ -131,7 +131,7 @@ namespace detail
 		}
 
 		template<class Fct>
-		GLM_FUNC_QUALIFIER GLM_CONSTEXPR static vec<2, T, Q> call(Fct Func, vec<2, T, Q> const& a, T b)
+		GLM_FUNC_QUALIFIER constexpr static vec<2, T, Q> call(Fct Func, vec<2, T, Q> const& a, T b)
 		{
 			return vec<2, T, Q>(Func(a.x, b), Func(a.y, b));
 		}
@@ -146,7 +146,7 @@ namespace detail
 		}
 
 		template<class Fct>
-		GLM_FUNC_QUALIFIER GLM_CONSTEXPR static vec<3, T, Q> call(Fct Func, vec<3, T, Q> const& a, T b)
+		GLM_FUNC_QUALIFIER constexpr static vec<3, T, Q> call(Fct Func, vec<3, T, Q> const& a, T b)
 		{
 			return vec<3, T, Q>(Func(a.x, b), Func(a.y, b), Func(a.z, b));
 		}
@@ -160,7 +160,7 @@ namespace detail
 			return vec<4, T, Q>(Func(a.x, b), Func(a.y, b), Func(a.z, b), Func(a.w, b));
 		}
 		template<class Fct>
-		GLM_FUNC_QUALIFIER GLM_CONSTEXPR static vec<4, T, Q> call(Fct Func, vec<4, T, Q> const& a, T b)
+		GLM_FUNC_QUALIFIER constexpr static vec<4, T, Q> call(Fct Func, vec<4, T, Q> const& a, T b)
 		{
 			return vec<4, T, Q>(Func(a.x, b), Func(a.y, b), Func(a.z, b), Func(a.w, b));
 		}
@@ -178,7 +178,7 @@ namespace detail
 		}
 
 		template<class Fct>
-		GLM_FUNC_QUALIFIER GLM_CONSTEXPR static vec<1, int, Q> call(Fct Func, vec<1, T, Q> const& a, vec<1, int, Q> const& b)
+		GLM_FUNC_QUALIFIER constexpr static vec<1, int, Q> call(Fct Func, vec<1, T, Q> const& a, vec<1, int, Q> const& b)
 		{
 			return vec<1, int, Q>(Func(a.x, b.x));
 		}
@@ -192,7 +192,7 @@ namespace detail
 			return vec<2, int, Q>(Func(a.x, b.x), Func(a.y, b.y));
 		}
 		template<class Fct>
-		GLM_FUNC_QUALIFIER GLM_CONSTEXPR static vec<2, int, Q> call(Fct Func, vec<2, T, Q> const& a, vec<2, int, Q> const& b)
+		GLM_FUNC_QUALIFIER constexpr static vec<2, int, Q> call(Fct Func, vec<2, T, Q> const& a, vec<2, int, Q> const& b)
 		{
 			return vec<2, int, Q>(Func(a.x, b.x), Func(a.y, b.y));
 		}
@@ -206,7 +206,7 @@ namespace detail
 			return vec<3, int, Q>(Func(a.x, b.x), Func(a.y, b.y), Func(a.z, b.z));
 		}
 		template<class Fct>
-		GLM_FUNC_QUALIFIER GLM_CONSTEXPR static vec<3, int, Q> call(Fct Func, vec<3, T, Q> const& a, vec<3, int, Q> const& b)
+		GLM_FUNC_QUALIFIER constexpr static vec<3, int, Q> call(Fct Func, vec<3, T, Q> const& a, vec<3, int, Q> const& b)
 		{
 			return vec<3, int, Q>(Func(a.x, b.x), Func(a.y, b.y), Func(a.z, b.z));
 		}
@@ -221,7 +221,7 @@ namespace detail
 		}
 
 		template<class Fct>
-		GLM_FUNC_QUALIFIER GLM_CONSTEXPR static vec<4, int, Q> call(Fct Func, vec<4, T, Q> const& a, vec<4, int, Q> const& b)
+		GLM_FUNC_QUALIFIER constexpr static vec<4, int, Q> call(Fct Func, vec<4, T, Q> const& a, vec<4, int, Q> const& b)
 		{
 			return vec<4, int, Q>(Func(a.x, b.x), Func(a.y, b.y), Func(a.z, b.z), Func(a.w, b.w));
 		}

+ 4 - 4
glm/detail/compute_common.hpp

@@ -13,9 +13,9 @@ namespace detail
 	template<typename genFIType>
 	struct compute_abs<genFIType, true>
 	{
-		GLM_FUNC_QUALIFIER GLM_CONSTEXPR static genFIType call(genFIType x)
+		GLM_FUNC_QUALIFIER constexpr static genFIType call(genFIType x)
 		{
-			GLM_STATIC_ASSERT(
+			static_assert(
 				std::numeric_limits<genFIType>::is_iec559 || GLM_CONFIG_UNRESTRICTED_FLOAT || std::numeric_limits<genFIType>::is_signed,
 				"'abs' only accept floating-point and integer scalar or vector inputs");
 
@@ -38,9 +38,9 @@ namespace detail
 	template<typename genFIType>
 	struct compute_abs<genFIType, false>
 	{
-		GLM_FUNC_QUALIFIER GLM_CONSTEXPR static genFIType call(genFIType x)
+		GLM_FUNC_QUALIFIER constexpr static genFIType call(genFIType x)
 		{
-			GLM_STATIC_ASSERT(
+			static_assert(
 				(!std::numeric_limits<genFIType>::is_signed && std::numeric_limits<genFIType>::is_integer),
 				"'abs' only accept floating-point and integer scalar or vector inputs");
 			return x;

+ 13 - 13
glm/detail/compute_vector_decl.hpp

@@ -51,7 +51,7 @@ namespace glm {
 		template<length_t L, typename T, qualifier Q>
 		struct compute_vec_add<L, T, Q, false>
 		{
-			GLM_FUNC_QUALIFIER GLM_CONSTEXPR static vec<L, T, Q> call(vec<L, T, Q> const& a, vec<L, T, Q> const& b)
+			GLM_FUNC_QUALIFIER constexpr static vec<L, T, Q> call(vec<L, T, Q> const& a, vec<L, T, Q> const& b)
 			{
 				return detail::functor2<vec, L, T, Q>::call(std::plus<T>(), a, b);
 			}
@@ -60,7 +60,7 @@ namespace glm {
 		template<length_t L, typename T, qualifier Q>
 		struct compute_vec_sub<L, T, Q, false>
 		{
-			GLM_FUNC_QUALIFIER GLM_CONSTEXPR static vec<L, T, Q> call(vec<L, T, Q> const& a, vec<L, T, Q> const& b)
+			GLM_FUNC_QUALIFIER constexpr static vec<L, T, Q> call(vec<L, T, Q> const& a, vec<L, T, Q> const& b)
 			{
 				return detail::functor2<vec, L, T, Q>::call(std::minus<T>(), a, b);
 			}
@@ -69,7 +69,7 @@ namespace glm {
 		template<length_t L, typename T, qualifier Q>
 		struct compute_vec_mul<L, T, Q, false>
 		{
-			GLM_FUNC_QUALIFIER GLM_CONSTEXPR static vec<L, T, Q> call(vec<L, T, Q> const& a, vec<L, T, Q> const& b)
+			GLM_FUNC_QUALIFIER constexpr static vec<L, T, Q> call(vec<L, T, Q> const& a, vec<L, T, Q> const& b)
 			{
 				return detail::functor2<vec, L, T, Q>::call(std::multiplies<T>(), a, b);
 			}
@@ -78,7 +78,7 @@ namespace glm {
 		template<length_t L, typename T, qualifier Q>
 		struct compute_vec_div<L, T, Q, false>
 		{
-			GLM_FUNC_QUALIFIER GLM_CONSTEXPR static vec<L, T, Q> call(vec<L, T, Q> const& a, vec<L, T, Q> const& b)
+			GLM_FUNC_QUALIFIER constexpr static vec<L, T, Q> call(vec<L, T, Q> const& a, vec<L, T, Q> const& b)
 			{
 				return detail::functor2<vec, L, T, Q>::call(std::divides<T>(), a, b);
 			}
@@ -87,7 +87,7 @@ namespace glm {
 		template<length_t L, typename T, qualifier Q>
 		struct compute_vec_mod<L, T, Q, false>
 		{
-			GLM_FUNC_QUALIFIER GLM_CONSTEXPR static vec<L, T, Q> call(vec<L, T, Q> const& a, vec<L, T, Q> const& b)
+			GLM_FUNC_QUALIFIER constexpr static vec<L, T, Q> call(vec<L, T, Q> const& a, vec<L, T, Q> const& b)
 			{
 				return detail::functor2<vec, L, T, Q>::call(std::modulus<T>(), a, b);
 			}
@@ -96,7 +96,7 @@ namespace glm {
 		template<length_t L, typename T, qualifier Q, int IsInt, std::size_t Size>
 		struct compute_vec_and<L, T, Q, IsInt, Size, false>
 		{
-			GLM_FUNC_QUALIFIER GLM_CONSTEXPR static vec<L, T, Q> call(vec<L, T, Q> const& a, vec<L, T, Q> const& b)
+			GLM_FUNC_QUALIFIER constexpr static vec<L, T, Q> call(vec<L, T, Q> const& a, vec<L, T, Q> const& b)
 			{
 				vec<L, T, Q> v(a);
 				for (length_t i = 0; i < L; ++i)
@@ -108,7 +108,7 @@ namespace glm {
 		template<length_t L, typename T, qualifier Q, int IsInt, std::size_t Size>
 		struct compute_vec_or<L, T, Q, IsInt, Size, false>
 		{
-			GLM_FUNC_QUALIFIER GLM_CONSTEXPR static vec<L, T, Q> call(vec<L, T, Q> const& a, vec<L, T, Q> const& b)
+			GLM_FUNC_QUALIFIER constexpr static vec<L, T, Q> call(vec<L, T, Q> const& a, vec<L, T, Q> const& b)
 			{
 				vec<L, T, Q> v(a);
 				for (length_t i = 0; i < L; ++i)
@@ -120,7 +120,7 @@ namespace glm {
 		template<length_t L, typename T, qualifier Q, int IsInt, std::size_t Size>
 		struct compute_vec_xor<L, T, Q, IsInt, Size, false>
 		{
-			GLM_FUNC_QUALIFIER GLM_CONSTEXPR static vec<L, T, Q> call(vec<L, T, Q> const& a, vec<L, T, Q> const& b)
+			GLM_FUNC_QUALIFIER constexpr static vec<L, T, Q> call(vec<L, T, Q> const& a, vec<L, T, Q> const& b)
 			{
 				vec<L, T, Q> v(a);
 				for (length_t i = 0; i < L; ++i)
@@ -132,7 +132,7 @@ namespace glm {
 		template<length_t L, typename T, qualifier Q, int IsInt, std::size_t Size>
 		struct compute_vec_shift_left<L, T, Q, IsInt, Size, false>
 		{
-			GLM_FUNC_QUALIFIER GLM_CONSTEXPR static vec<L, T, Q> call(vec<L, T, Q> const& a, vec<L, T, Q> const& b)
+			GLM_FUNC_QUALIFIER constexpr static vec<L, T, Q> call(vec<L, T, Q> const& a, vec<L, T, Q> const& b)
 			{
 				vec<L, T, Q> v(a);
 				for (length_t i = 0; i < L; ++i)
@@ -144,7 +144,7 @@ namespace glm {
 		template<length_t L, typename T, qualifier Q, int IsInt, std::size_t Size>
 		struct compute_vec_shift_right<L, T, Q, IsInt, Size, false>
 		{
-			GLM_FUNC_QUALIFIER GLM_CONSTEXPR static vec<L, T, Q> call(vec<L, T, Q> const& a, vec<L, T, Q> const& b)
+			GLM_FUNC_QUALIFIER constexpr static vec<L, T, Q> call(vec<L, T, Q> const& a, vec<L, T, Q> const& b)
 			{
 				vec<L, T, Q> v(a);
 				for (length_t i = 0; i < L; ++i)
@@ -156,7 +156,7 @@ namespace glm {
 		template<length_t L, typename T, qualifier Q, int IsInt, std::size_t Size>
 		struct compute_vec_equal<L, T, Q, IsInt, Size, false>
 		{
-			GLM_FUNC_QUALIFIER GLM_CONSTEXPR static bool call(vec<L, T, Q> const& v1, vec<L, T, Q> const& v2)
+			GLM_FUNC_QUALIFIER constexpr static bool call(vec<L, T, Q> const& v1, vec<L, T, Q> const& v2)
 			{
 				bool b = true;
 				for (length_t i = 0; b && i < L; ++i)
@@ -168,7 +168,7 @@ namespace glm {
 		template<length_t L, typename T, qualifier Q, int IsInt, std::size_t Size>
 		struct compute_vec_nequal<L, T, Q, IsInt, Size, false>
 		{
-			GLM_FUNC_QUALIFIER GLM_CONSTEXPR static bool call(vec<4, T, Q> const& v1, vec<4, T, Q> const& v2)
+			GLM_FUNC_QUALIFIER constexpr static bool call(vec<4, T, Q> const& v1, vec<4, T, Q> const& v2)
 			{
 				return !compute_vec_equal<L, T, Q, detail::is_int<T>::value, sizeof(T) * 8, detail::is_aligned<Q>::value>::call(v1, v2);
 			}
@@ -177,7 +177,7 @@ namespace glm {
 		template<length_t L, typename T, qualifier Q, int IsInt, std::size_t Size>
 		struct compute_vec_bitwise_not<L, T, Q, IsInt, Size, false>
 		{
-			GLM_FUNC_QUALIFIER GLM_CONSTEXPR static vec<L, T, Q> call(vec<L, T, Q> const& a)
+			GLM_FUNC_QUALIFIER constexpr static vec<L, T, Q> call(vec<L, T, Q> const& a)
 			{
 				vec<L, T, Q> v(a);
 				for (length_t i = 0; i < L; ++i)

+ 2 - 2
glm/detail/compute_vector_relational.hpp

@@ -10,7 +10,7 @@ namespace detail
 	template <typename T, bool isFloat>
 	struct compute_equal
 	{
-		GLM_FUNC_QUALIFIER GLM_CONSTEXPR static bool call(T a, T b)
+		GLM_FUNC_QUALIFIER constexpr static bool call(T a, T b)
 		{
 			return a == b;
 		}
@@ -19,7 +19,7 @@ namespace detail
 	template <typename T>
 	struct compute_equal<T, true>
 	{
-		GLM_FUNC_QUALIFIER GLM_CONSTEXPR static bool call(T a, T b)
+		GLM_FUNC_QUALIFIER constexpr static bool call(T a, T b)
 		{
 			return detail::compute_abs<T, std::numeric_limits<T>::is_signed>::call(b - a) <= static_cast<T>(0);
 			//return std::memcmp(&a, &b, sizeof(T)) == 0;

+ 53 - 53
glm/detail/func_common.inl

@@ -14,9 +14,9 @@ namespace glm
 {
 	// min
 	template<typename genType>
-	GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType min(genType x, genType y)
+	GLM_FUNC_QUALIFIER constexpr genType min(genType x, genType y)
 	{
-		GLM_STATIC_ASSERT(std::numeric_limits<genType>::is_iec559 || GLM_CONFIG_UNRESTRICTED_FLOAT || std::numeric_limits<genType>::is_integer, "'min' only accept floating-point or integer inputs");
+		static_assert(std::numeric_limits<genType>::is_iec559 || GLM_CONFIG_UNRESTRICTED_FLOAT || std::numeric_limits<genType>::is_integer, "'min' only accept floating-point or integer inputs");
 		return (y < x) ? y : x;
 	}
 
@@ -27,9 +27,9 @@ namespace glm
 
 	// max
 	template<typename genType>
-	GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType max(genType x, genType y)
+	GLM_FUNC_QUALIFIER constexpr genType max(genType x, genType y)
 	{
-		GLM_STATIC_ASSERT(std::numeric_limits<genType>::is_iec559 || GLM_CONFIG_UNRESTRICTED_FLOAT || std::numeric_limits<genType>::is_integer, "'max' only accept floating-point or integer inputs");
+		static_assert(std::numeric_limits<genType>::is_iec559 || GLM_CONFIG_UNRESTRICTED_FLOAT || std::numeric_limits<genType>::is_integer, "'max' only accept floating-point or integer inputs");
 
 		return (x < y) ? y : x;
 	}
@@ -41,7 +41,7 @@ namespace glm
 
 	// abs
 	template<>
-	GLM_FUNC_QUALIFIER GLM_CONSTEXPR int abs(int x)
+	GLM_FUNC_QUALIFIER constexpr int abs(int x)
 	{
 		int const y = x >> (sizeof(int) * 8 - 1);
 		return (x ^ y) - y;
@@ -59,7 +59,7 @@ namespace glm
 		template<typename genType>
 		GLM_FUNC_QUALIFIER genType round(genType x)
 		{
-			GLM_STATIC_ASSERT(std::numeric_limits<genType>::is_iec559 || GLM_CONFIG_UNRESTRICTED_FLOAT, "'round' only accept floating-point inputs");
+			static_assert(std::numeric_limits<genType>::is_iec559 || GLM_CONFIG_UNRESTRICTED_FLOAT, "'round' only accept floating-point inputs");
 
 			return x < static_cast<genType>(0) ? static_cast<genType>(int(x - static_cast<genType>(0.5))) : static_cast<genType>(int(x + static_cast<genType>(0.5)));
 		}
@@ -77,7 +77,7 @@ namespace glm
 		template<typename genType>
 		GLM_FUNC_QUALIFIER genType trunc(genType x)
 		{
-			GLM_STATIC_ASSERT(std::numeric_limits<genType>::is_iec559 || GLM_CONFIG_UNRESTRICTED_FLOAT, "'trunc' only accept floating-point inputs");
+			static_assert(std::numeric_limits<genType>::is_iec559 || GLM_CONFIG_UNRESTRICTED_FLOAT, "'trunc' only accept floating-point inputs");
 
 			return x < static_cast<genType>(0) ? -std::floor(-x) : std::floor(x);
 		}
@@ -101,7 +101,7 @@ namespace detail
 	template<length_t L, typename T, qualifier Q, bool Aligned>
 	struct compute_abs_vector
 	{
-		GLM_FUNC_QUALIFIER GLM_CONSTEXPR static vec<L, T, Q> call(vec<L, T, Q> const& x)
+		GLM_FUNC_QUALIFIER constexpr static vec<L, T, Q> call(vec<L, T, Q> const& x)
 		{
 			return detail::functor1<vec, L, T, T, Q>::call(abs, x);
 		}
@@ -112,7 +112,7 @@ namespace detail
 	{
 		GLM_FUNC_QUALIFIER static vec<L, T, Q> call(vec<L, T, Q> const& x, vec<L, T, Q> const& y, vec<L, U, Q> const& a)
 		{
-			GLM_STATIC_ASSERT(std::numeric_limits<U>::is_iec559 || GLM_CONFIG_UNRESTRICTED_FLOAT || GLM_CONFIG_UNRESTRICTED_GENTYPE, "'mix' only accept floating-point inputs for the interpolator a");
+			static_assert(std::numeric_limits<U>::is_iec559 || GLM_CONFIG_UNRESTRICTED_FLOAT || GLM_CONFIG_UNRESTRICTED_GENTYPE, "'mix' only accept floating-point inputs for the interpolator a");
 
 			return vec<L, T, Q>(vec<L, U, Q>(x) * (static_cast<U>(1) - a) + vec<L, U, Q>(y) * a);
 		}
@@ -135,7 +135,7 @@ namespace detail
 	{
 		GLM_FUNC_QUALIFIER static vec<L, T, Q> call(vec<L, T, Q> const& x, vec<L, T, Q> const& y, U const& a)
 		{
-			GLM_STATIC_ASSERT(std::numeric_limits<U>::is_iec559 || GLM_CONFIG_UNRESTRICTED_FLOAT || GLM_CONFIG_UNRESTRICTED_GENTYPE, "'mix' only accept floating-point inputs for the interpolator a");
+			static_assert(std::numeric_limits<U>::is_iec559 || GLM_CONFIG_UNRESTRICTED_FLOAT || GLM_CONFIG_UNRESTRICTED_GENTYPE, "'mix' only accept floating-point inputs for the interpolator a");
 
 			return vec<L, T, Q>(vec<L, U, Q>(x) * (static_cast<U>(1) - a) + vec<L, U, Q>(y) * a);
 		}
@@ -155,7 +155,7 @@ namespace detail
 	{
 		GLM_FUNC_QUALIFIER static T call(T const& x, T const& y, U const& a)
 		{
-			GLM_STATIC_ASSERT(std::numeric_limits<U>::is_iec559 || GLM_CONFIG_UNRESTRICTED_FLOAT || GLM_CONFIG_UNRESTRICTED_GENTYPE, "'mix' only accept floating-point inputs for the interpolator a");
+			static_assert(std::numeric_limits<U>::is_iec559 || GLM_CONFIG_UNRESTRICTED_FLOAT || GLM_CONFIG_UNRESTRICTED_GENTYPE, "'mix' only accept floating-point inputs for the interpolator a");
 
 			return static_cast<T>(static_cast<U>(x) * (static_cast<U>(1) - a) + static_cast<U>(y) * a);
 		}
@@ -243,7 +243,7 @@ namespace detail
 	{
 		GLM_FUNC_QUALIFIER static vec<L, T, Q> call(vec<L, T, Q> const& a, vec<L, T, Q> const& b)
 		{
-			GLM_STATIC_ASSERT(std::numeric_limits<T>::is_iec559 || GLM_CONFIG_UNRESTRICTED_FLOAT, "'mod' only accept floating-point inputs. Include <glm/gtc/integer.hpp> for integer inputs.");
+			static_assert(std::numeric_limits<T>::is_iec559 || GLM_CONFIG_UNRESTRICTED_FLOAT, "'mod' only accept floating-point inputs. Include <glm/gtc/integer.hpp> for integer inputs.");
 			return a - b * floor(a / b);
 		}
 	};
@@ -298,7 +298,7 @@ namespace detail
 	{
 		GLM_FUNC_QUALIFIER static vec<L, T, Q> call(vec<L, T, Q> const& edge0, vec<L, T, Q> const& edge1, vec<L, T, Q> const& x)
 		{
-			GLM_STATIC_ASSERT(std::numeric_limits<T>::is_iec559 || GLM_CONFIG_UNRESTRICTED_FLOAT || GLM_CONFIG_UNRESTRICTED_GENTYPE, "'smoothstep' only accept floating-point inputs");
+			static_assert(std::numeric_limits<T>::is_iec559 || GLM_CONFIG_UNRESTRICTED_FLOAT || GLM_CONFIG_UNRESTRICTED_GENTYPE, "'smoothstep' only accept floating-point inputs");
 			vec<L, T, Q> const tmp(clamp((x - edge0) / (edge1 - edge0), static_cast<T>(0), static_cast<T>(1)));
 			return tmp * tmp * (static_cast<T>(3) - static_cast<T>(2) * tmp);
 		}
@@ -343,7 +343,7 @@ namespace detail
 	template<length_t L, typename T, qualifier Q, bool Aligned>
 	struct convert_splat {
 		template<int c>
-		GLM_FUNC_QUALIFIER GLM_CONSTEXPR static vec<L, T, Q> call(vec<L, T, Q> const& a)
+		GLM_FUNC_QUALIFIER constexpr static vec<L, T, Q> call(vec<L, T, Q> const& a)
 		{
 			vec<L, T, Q> v(0);
 			for (int i = 0; i < L; ++i)
@@ -356,13 +356,13 @@ namespace detail
 }//namespace detail
 
 	template<typename genFIType>
-	GLM_FUNC_QUALIFIER GLM_CONSTEXPR genFIType abs(genFIType x)
+	GLM_FUNC_QUALIFIER constexpr genFIType abs(genFIType x)
 	{
 		return detail::compute_abs<genFIType, std::numeric_limits<genFIType>::is_signed>::call(x);
 	}
 
 	template<length_t L, typename T, qualifier Q>
-	GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<L, T, Q> abs(vec<L, T, Q> const& x)
+	GLM_FUNC_QUALIFIER constexpr vec<L, T, Q> abs(vec<L, T, Q> const& x)
 	{
 		return detail::compute_abs_vector<L, T, Q, detail::is_aligned<Q>::value>::call(x);
 	}
@@ -370,9 +370,9 @@ namespace detail
 	// sign
 	// fast and works for any type
 	template<typename genFIType>
-	GLM_FUNC_QUALIFIER GLM_CONSTEXPR genFIType sign(genFIType x)
+	GLM_FUNC_QUALIFIER constexpr genFIType sign(genFIType x)
 	{
-		GLM_STATIC_ASSERT(
+		static_assert(
 			std::numeric_limits<genFIType>::is_iec559 || GLM_CONFIG_UNRESTRICTED_FLOAT || (std::numeric_limits<genFIType>::is_signed && std::numeric_limits<genFIType>::is_integer),
 			"'sign' only accept signed inputs");
 
@@ -381,9 +381,9 @@ namespace detail
 	}
 
 	template<length_t L, typename T, qualifier Q>
-	GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<L, T, Q> sign(vec<L, T, Q> const& x)
+	GLM_FUNC_QUALIFIER constexpr vec<L, T, Q> sign(vec<L, T, Q> const& x)
 	{
-		GLM_STATIC_ASSERT(
+		static_assert(
 			std::numeric_limits<T>::is_iec559 || GLM_CONFIG_UNRESTRICTED_FLOAT || (std::numeric_limits<T>::is_signed && std::numeric_limits<T>::is_integer),
 			"'sign' only accept signed inputs");
 
@@ -395,21 +395,21 @@ namespace detail
 	template<length_t L, typename T, qualifier Q>
 	GLM_FUNC_QUALIFIER vec<L, T, Q> floor(vec<L, T, Q> const& x)
 	{
-		GLM_STATIC_ASSERT(std::numeric_limits<T>::is_iec559 || GLM_CONFIG_UNRESTRICTED_FLOAT, "'floor' only accept floating-point inputs.");
+		static_assert(std::numeric_limits<T>::is_iec559 || GLM_CONFIG_UNRESTRICTED_FLOAT, "'floor' only accept floating-point inputs.");
 		return detail::compute_floor<L, T, Q, detail::is_aligned<Q>::value>::call(x);
 	}
 
 	template<length_t L, typename T, qualifier Q>
 	GLM_FUNC_QUALIFIER vec<L, T, Q> trunc(vec<L, T, Q> const& x)
 	{
-		GLM_STATIC_ASSERT(std::numeric_limits<T>::is_iec559 || GLM_CONFIG_UNRESTRICTED_FLOAT, "'trunc' only accept floating-point inputs");
+		static_assert(std::numeric_limits<T>::is_iec559 || GLM_CONFIG_UNRESTRICTED_FLOAT, "'trunc' only accept floating-point inputs");
 		return detail::compute_trunc<L, T, Q, detail::is_aligned<Q>::value>::call(x);
 	}
 
 	template<length_t L, typename T, qualifier Q>
 	GLM_FUNC_QUALIFIER vec<L, T, Q> round(vec<L, T, Q> const& x)
 	{
-		GLM_STATIC_ASSERT(std::numeric_limits<T>::is_iec559 || GLM_CONFIG_UNRESTRICTED_FLOAT, "'round' only accept floating-point inputs");
+		static_assert(std::numeric_limits<T>::is_iec559 || GLM_CONFIG_UNRESTRICTED_FLOAT, "'round' only accept floating-point inputs");
 		return detail::compute_round<L, T, Q, detail::is_aligned<Q>::value>::call(x);
 	}
 
@@ -418,7 +418,7 @@ namespace detail
 	template<typename genType>
 	GLM_FUNC_QUALIFIER genType roundEven(genType const& x)
 	{
-		GLM_STATIC_ASSERT(std::numeric_limits<genType>::is_iec559 || GLM_CONFIG_UNRESTRICTED_FLOAT, "'roundEven' only accept floating-point inputs");
+		static_assert(std::numeric_limits<genType>::is_iec559 || GLM_CONFIG_UNRESTRICTED_FLOAT, "'roundEven' only accept floating-point inputs");
 
 		return genType(int(x + genType(int(x) % 2)));
 	}
@@ -428,7 +428,7 @@ namespace detail
 	template<typename genType>
 	GLM_FUNC_QUALIFIER genType roundEven(genType x)
 	{
-		GLM_STATIC_ASSERT(std::numeric_limits<genType>::is_iec559 || GLM_CONFIG_UNRESTRICTED_FLOAT, "'roundEven' only accept floating-point inputs");
+		static_assert(std::numeric_limits<genType>::is_iec559 || GLM_CONFIG_UNRESTRICTED_FLOAT, "'roundEven' only accept floating-point inputs");
 
 		int Integer = static_cast<int>(x);
 		genType IntegerPart = static_cast<genType>(Integer);
@@ -459,7 +459,7 @@ namespace detail
 	template<length_t L, typename T, qualifier Q>
 	GLM_FUNC_QUALIFIER vec<L, T, Q> roundEven(vec<L, T, Q> const& x)
 	{
-		GLM_STATIC_ASSERT(std::numeric_limits<T>::is_iec559 || GLM_CONFIG_UNRESTRICTED_FLOAT, "'roundEven' only accept floating-point inputs");
+		static_assert(std::numeric_limits<T>::is_iec559 || GLM_CONFIG_UNRESTRICTED_FLOAT, "'roundEven' only accept floating-point inputs");
 		return detail::functor1<vec, L, T, T, Q>::call(roundEven, x);
 	}
 
@@ -468,7 +468,7 @@ namespace detail
 	template<length_t L, typename T, qualifier Q>
 	GLM_FUNC_QUALIFIER vec<L, T, Q> ceil(vec<L, T, Q> const& x)
 	{
-		GLM_STATIC_ASSERT(std::numeric_limits<T>::is_iec559 || GLM_CONFIG_UNRESTRICTED_FLOAT, "'ceil' only accept floating-point inputs");
+		static_assert(std::numeric_limits<T>::is_iec559 || GLM_CONFIG_UNRESTRICTED_FLOAT, "'ceil' only accept floating-point inputs");
 		return detail::compute_ceil<L, T, Q, detail::is_aligned<Q>::value>::call(x);
 	}
 
@@ -482,7 +482,7 @@ namespace detail
 	template<length_t L, typename T, qualifier Q>
 	GLM_FUNC_QUALIFIER vec<L, T, Q> fract(vec<L, T, Q> const& x)
 	{
-		GLM_STATIC_ASSERT(std::numeric_limits<T>::is_iec559 || GLM_CONFIG_UNRESTRICTED_FLOAT, "'fract' only accept floating-point inputs");
+		static_assert(std::numeric_limits<T>::is_iec559 || GLM_CONFIG_UNRESTRICTED_FLOAT, "'fract' only accept floating-point inputs");
 		return detail::compute_fract<L, T, Q, detail::is_aligned<Q>::value>::call(x);
 	}
 
@@ -570,7 +570,7 @@ namespace detail
 	template<typename genType>
 	GLM_FUNC_QUALIFIER genType modf(genType x, genType & i)
 	{
-		GLM_STATIC_ASSERT(std::numeric_limits<genType>::is_iec559 || GLM_CONFIG_UNRESTRICTED_FLOAT, "'modf' only accept floating-point inputs");
+		static_assert(std::numeric_limits<genType>::is_iec559 || GLM_CONFIG_UNRESTRICTED_FLOAT, "'modf' only accept floating-point inputs");
 		return std::modf(x, &i);
 	}
 
@@ -618,68 +618,68 @@ namespace detail
 
 	// min
 	template<length_t L, typename T, qualifier Q>
-	GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<L, T, Q> min(vec<L, T, Q> const& a, T b)
+	GLM_FUNC_QUALIFIER constexpr vec<L, T, Q> min(vec<L, T, Q> const& a, T b)
 	{
-		GLM_STATIC_ASSERT(std::numeric_limits<T>::is_iec559 || GLM_CONFIG_UNRESTRICTED_FLOAT || std::numeric_limits<T>::is_integer, "'min' only accept floating-point or integer inputs");
+		static_assert(std::numeric_limits<T>::is_iec559 || GLM_CONFIG_UNRESTRICTED_FLOAT || std::numeric_limits<T>::is_integer, "'min' only accept floating-point or integer inputs");
 		return detail::compute_min_vector<L, T, Q, detail::is_aligned<Q>::value>::call(a, vec<L, T, Q>(b));
 	}
 
 	template<length_t L, typename T, qualifier Q>
-	GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<L, T, Q> min(vec<L, T, Q> const& a, vec<L, T, Q> const& b)
+	GLM_FUNC_QUALIFIER constexpr vec<L, T, Q> min(vec<L, T, Q> const& a, vec<L, T, Q> const& b)
 	{
 		return detail::compute_min_vector<L, T, Q, detail::is_aligned<Q>::value>::call(a, b);
 	}
 
 	// max
 	template<length_t L, typename T, qualifier Q>
-	GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<L, T, Q> max(vec<L, T, Q> const& a, T b)
+	GLM_FUNC_QUALIFIER constexpr vec<L, T, Q> max(vec<L, T, Q> const& a, T b)
 	{
-		GLM_STATIC_ASSERT(std::numeric_limits<T>::is_iec559 || GLM_CONFIG_UNRESTRICTED_FLOAT || std::numeric_limits<T>::is_integer, "'max' only accept floating-point or integer inputs");
+		static_assert(std::numeric_limits<T>::is_iec559 || GLM_CONFIG_UNRESTRICTED_FLOAT || std::numeric_limits<T>::is_integer, "'max' only accept floating-point or integer inputs");
 		return detail::compute_max_vector<L, T, Q, detail::is_aligned<Q>::value>::call(a, vec<L, T, Q>(b));
 	}
 
 	template<length_t L, typename T, qualifier Q>
-	GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<L, T, Q> max(vec<L, T, Q> const& a, vec<L, T, Q> const& b)
+	GLM_FUNC_QUALIFIER constexpr vec<L, T, Q> max(vec<L, T, Q> const& a, vec<L, T, Q> const& b)
 	{
 		return detail::compute_max_vector<L, T, Q, detail::is_aligned<Q>::value>::call(a, b);
 	}
 
 	// clamp
 	template<typename genType>
-	GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType clamp(genType x, genType minVal, genType maxVal)
+	GLM_FUNC_QUALIFIER constexpr genType clamp(genType x, genType minVal, genType maxVal)
 	{
-		GLM_STATIC_ASSERT(std::numeric_limits<genType>::is_iec559 || GLM_CONFIG_UNRESTRICTED_FLOAT || std::numeric_limits<genType>::is_integer, "'clamp' only accept floating-point or integer inputs");
+		static_assert(std::numeric_limits<genType>::is_iec559 || GLM_CONFIG_UNRESTRICTED_FLOAT || std::numeric_limits<genType>::is_integer, "'clamp' only accept floating-point or integer inputs");
 		return min(max(x, minVal), maxVal);
 	}
 
 	template<length_t L, typename T, qualifier Q>
-	GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<L, T, Q> clamp(vec<L, T, Q> const& x, T minVal, T maxVal)
+	GLM_FUNC_QUALIFIER constexpr vec<L, T, Q> clamp(vec<L, T, Q> const& x, T minVal, T maxVal)
 	{
-		GLM_STATIC_ASSERT(std::numeric_limits<T>::is_iec559 || GLM_CONFIG_UNRESTRICTED_FLOAT || std::numeric_limits<T>::is_integer, "'clamp' only accept floating-point or integer inputs");
+		static_assert(std::numeric_limits<T>::is_iec559 || GLM_CONFIG_UNRESTRICTED_FLOAT || std::numeric_limits<T>::is_integer, "'clamp' only accept floating-point or integer inputs");
 		return detail::compute_clamp_vector<L, T, Q, detail::is_aligned<Q>::value>::call(x, vec<L, T, Q>(minVal), vec<L, T, Q>(maxVal));
 	}
 
 	template<length_t L, typename T, qualifier Q>
-	GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<L, T, Q> clamp(vec<L, T, Q> const& x, vec<L, T, Q> const& minVal, vec<L, T, Q> const& maxVal)
+	GLM_FUNC_QUALIFIER constexpr vec<L, T, Q> clamp(vec<L, T, Q> const& x, vec<L, T, Q> const& minVal, vec<L, T, Q> const& maxVal)
 	{
-		GLM_STATIC_ASSERT(std::numeric_limits<T>::is_iec559 || GLM_CONFIG_UNRESTRICTED_FLOAT || std::numeric_limits<T>::is_integer, "'clamp' only accept floating-point or integer inputs");
+		static_assert(std::numeric_limits<T>::is_iec559 || GLM_CONFIG_UNRESTRICTED_FLOAT || std::numeric_limits<T>::is_integer, "'clamp' only accept floating-point or integer inputs");
 		return detail::compute_clamp_vector<L, T, Q, detail::is_aligned<Q>::value>::call(x, minVal, maxVal);
 	}
 
 	template<typename genTypeT, typename genTypeU>
-	GLM_FUNC_QUALIFIER GLM_CONSTEXPR genTypeT mix(genTypeT x, genTypeT y, genTypeU a)
+	GLM_FUNC_QUALIFIER constexpr genTypeT mix(genTypeT x, genTypeT y, genTypeU a)
 	{
 		return detail::compute_mix<genTypeT, genTypeU>::call(x, y, a);
 	}
 
 	template<length_t L, typename T, typename U, qualifier Q>
-	GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<L, T, Q> mix(vec<L, T, Q> const& x, vec<L, T, Q> const& y, U a)
+	GLM_FUNC_QUALIFIER constexpr vec<L, T, Q> mix(vec<L, T, Q> const& x, vec<L, T, Q> const& y, U a)
 	{
 		return detail::compute_mix_scalar<L, T, U, Q, detail::is_aligned<Q>::value>::call(x, y, a);
 	}
 
 	template<length_t L, typename T, typename U, qualifier Q>
-	GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<L, T, Q> mix(vec<L, T, Q> const& x, vec<L, T, Q> const& y, vec<L, U, Q> const& a)
+	GLM_FUNC_QUALIFIER constexpr vec<L, T, Q> mix(vec<L, T, Q> const& x, vec<L, T, Q> const& y, vec<L, U, Q> const& a)
 	{
 		return detail::compute_mix_vector<L, T, U, Q, detail::is_aligned<Q>::value>::call(x, y, a);
 	}
@@ -707,7 +707,7 @@ namespace detail
 	template<typename genType>
 	GLM_FUNC_QUALIFIER genType smoothstep(genType edge0, genType edge1, genType x)
 	{
-		GLM_STATIC_ASSERT(std::numeric_limits<genType>::is_iec559 || GLM_CONFIG_UNRESTRICTED_FLOAT || GLM_CONFIG_UNRESTRICTED_GENTYPE, "'smoothstep' only accept floating-point inputs");
+		static_assert(std::numeric_limits<genType>::is_iec559 || GLM_CONFIG_UNRESTRICTED_FLOAT || GLM_CONFIG_UNRESTRICTED_GENTYPE, "'smoothstep' only accept floating-point inputs");
 
 		genType const tmp(clamp((x - edge0) / (edge1 - edge0), genType(0), genType(1)));
 		return tmp * tmp * (genType(3) - genType(2) * tmp);
@@ -731,7 +731,7 @@ namespace detail
 		template<typename genType>
 		GLM_FUNC_QUALIFIER bool isnan(genType x)
 		{
-			GLM_STATIC_ASSERT(std::numeric_limits<genType>::is_iec559 || GLM_CONFIG_UNRESTRICTED_FLOAT, "'isnan' only accept floating-point inputs");
+			static_assert(std::numeric_limits<genType>::is_iec559 || GLM_CONFIG_UNRESTRICTED_FLOAT, "'isnan' only accept floating-point inputs");
 
 #			if GLM_HAS_CXX11_STL
 				return std::isnan(x);
@@ -756,7 +756,7 @@ namespace detail
 	template<length_t L, typename T, qualifier Q>
 	GLM_FUNC_QUALIFIER vec<L, bool, Q> isnan(vec<L, T, Q> const& v)
 	{
-		GLM_STATIC_ASSERT(std::numeric_limits<T>::is_iec559 || GLM_CONFIG_UNRESTRICTED_FLOAT, "'isnan' only accept floating-point inputs");
+		static_assert(std::numeric_limits<T>::is_iec559 || GLM_CONFIG_UNRESTRICTED_FLOAT, "'isnan' only accept floating-point inputs");
 
 		vec<L, bool, Q> Result(0);
 		for (length_t l = 0; l < v.length(); ++l)
@@ -770,7 +770,7 @@ namespace detail
 		template<typename genType>
 		GLM_FUNC_QUALIFIER bool isinf(genType x)
 		{
-			GLM_STATIC_ASSERT(std::numeric_limits<genType>::is_iec559 || GLM_CONFIG_UNRESTRICTED_FLOAT, "'isinf' only accept floating-point inputs");
+			static_assert(std::numeric_limits<genType>::is_iec559 || GLM_CONFIG_UNRESTRICTED_FLOAT, "'isinf' only accept floating-point inputs");
 
 #			if GLM_HAS_CXX11_STL
 				return std::isinf(x);
@@ -798,7 +798,7 @@ namespace detail
 	template<length_t L, typename T, qualifier Q>
 	GLM_FUNC_QUALIFIER vec<L, bool, Q> isinf(vec<L, T, Q> const& v)
 	{
-		GLM_STATIC_ASSERT(std::numeric_limits<T>::is_iec559 || GLM_CONFIG_UNRESTRICTED_FLOAT, "'isinf' only accept floating-point inputs");
+		static_assert(std::numeric_limits<T>::is_iec559 || GLM_CONFIG_UNRESTRICTED_FLOAT, "'isinf' only accept floating-point inputs");
 
 		vec<L, bool, Q> Result(0);
 		for (length_t l = 0; l < v.length(); ++l)
@@ -895,7 +895,7 @@ namespace detail
 	template<typename genType>
 	GLM_FUNC_QUALIFIER genType frexp(genType x, int& exp)
 	{
-		GLM_STATIC_ASSERT(std::numeric_limits<genType>::is_iec559 || GLM_CONFIG_UNRESTRICTED_FLOAT, "'frexp' only accept floating-point inputs");
+		static_assert(std::numeric_limits<genType>::is_iec559 || GLM_CONFIG_UNRESTRICTED_FLOAT, "'frexp' only accept floating-point inputs");
 
 		return std::frexp(x, &exp);
 	}
@@ -903,7 +903,7 @@ namespace detail
 	template<length_t L, typename T, qualifier Q>
 	GLM_FUNC_QUALIFIER vec<L, T, Q> frexp(vec<L, T, Q> const& v, vec<L, int, Q>& exp)
 	{
-		GLM_STATIC_ASSERT(std::numeric_limits<T>::is_iec559 || GLM_CONFIG_UNRESTRICTED_FLOAT, "'frexp' only accept floating-point inputs");
+		static_assert(std::numeric_limits<T>::is_iec559 || GLM_CONFIG_UNRESTRICTED_FLOAT, "'frexp' only accept floating-point inputs");
 
 		vec<L, T, Q> Result(0);
 		for (length_t l = 0; l < v.length(); ++l)
@@ -914,7 +914,7 @@ namespace detail
 	template<typename genType>
 	GLM_FUNC_QUALIFIER genType ldexp(genType const& x, int const& exp)
 	{
-		GLM_STATIC_ASSERT(std::numeric_limits<genType>::is_iec559 || GLM_CONFIG_UNRESTRICTED_FLOAT, "'ldexp' only accept floating-point inputs");
+		static_assert(std::numeric_limits<genType>::is_iec559 || GLM_CONFIG_UNRESTRICTED_FLOAT, "'ldexp' only accept floating-point inputs");
 
 		return std::ldexp(x, exp);
 	}
@@ -922,7 +922,7 @@ namespace detail
 	template<length_t L, typename T, qualifier Q>
 	GLM_FUNC_QUALIFIER vec<L, T, Q> ldexp(vec<L, T, Q> const& v, vec<L, int, Q> const& exp)
 	{
-		GLM_STATIC_ASSERT(std::numeric_limits<T>::is_iec559 || GLM_CONFIG_UNRESTRICTED_FLOAT, "'ldexp' only accept floating-point inputs");
+		static_assert(std::numeric_limits<T>::is_iec559 || GLM_CONFIG_UNRESTRICTED_FLOAT, "'ldexp' only accept floating-point inputs");
 
 		vec<L, T, Q> Result(0);
 		for (length_t l = 0; l < v.length(); ++l)

+ 8 - 8
glm/detail/func_common_simd.inl

@@ -402,7 +402,7 @@ namespace detail
 	template<length_t L, qualifier Q>
 	struct convert_splat<L, float, Q, true> {
 		template<int c>
-		GLM_FUNC_QUALIFIER GLM_CONSTEXPR static vec<L, float, Q> call(vec<L, float, Q> const& a)
+		GLM_FUNC_QUALIFIER constexpr static vec<L, float, Q> call(vec<L, float, Q> const& a)
 		{
 			vec<L, float, Q> Result;
 			const int s = _MM_SHUFFLE(c, c, c, c);
@@ -427,7 +427,7 @@ namespace detail
 		template<int c>
 		struct detailSSE<true, c>
 		{
-			GLM_FUNC_QUALIFIER GLM_CONSTEXPR static vec<L, double, Q> call(vec<L, double, Q> const& a)
+			GLM_FUNC_QUALIFIER constexpr static vec<L, double, Q> call(vec<L, double, Q> const& a)
 			{
 				vec<L, double, Q> Result;
 				glm_f64vec2 r0 = _mm_shuffle_pd(a.data.getv(0), a.data.getv(0), c | c << 1);
@@ -440,7 +440,7 @@ namespace detail
 		template<int c>
 		struct detailSSE<false, c>
 		{
-			GLM_FUNC_QUALIFIER GLM_CONSTEXPR static vec<L, double, Q> call(vec<L, double, Q> const& a)
+			GLM_FUNC_QUALIFIER constexpr static vec<L, double, Q> call(vec<L, double, Q> const& a)
 			{
 				vec<L, double, Q> Result;
 				const unsigned int d = static_cast<unsigned int>(c - 2);
@@ -459,7 +459,7 @@ namespace detail
 		template<bool b>
 		struct detailAVX<b, 0>
 		{
-			GLM_FUNC_QUALIFIER GLM_CONSTEXPR static vec<L, double, Q> call(vec<L, double, Q> const& a)
+			GLM_FUNC_QUALIFIER constexpr static vec<L, double, Q> call(vec<L, double, Q> const& a)
 			{
 				vec<L, double, Q> Result;
 				__m256d t1 = _mm256_permute2f128_pd(a.data, a.data, 0x0);
@@ -471,7 +471,7 @@ namespace detail
 		template<bool b>
 		struct detailAVX<b, 1>
 		{
-			GLM_FUNC_QUALIFIER GLM_CONSTEXPR static vec<L, double, Q> call(vec<L, double, Q> const& a)
+			GLM_FUNC_QUALIFIER constexpr static vec<L, double, Q> call(vec<L, double, Q> const& a)
 			{
 				vec<L, double, Q> Result;
 				__m256d t1 = _mm256_permute2f128_pd(a.data, a.data, 0x0);
@@ -483,7 +483,7 @@ namespace detail
 		template<bool b>
 		struct detailAVX<b, 2>
 		{
-			GLM_FUNC_QUALIFIER GLM_CONSTEXPR static vec<L, double, Q> call(vec<L, double, Q> const& a)
+			GLM_FUNC_QUALIFIER constexpr static vec<L, double, Q> call(vec<L, double, Q> const& a)
 			{
 				vec<L, double, Q> Result;
 				__m256d t2 = _mm256_permute2f128_pd(a.data, a.data, 0x11);
@@ -495,7 +495,7 @@ namespace detail
 		template<bool b>
 		struct detailAVX<b, 3>
 		{
-			GLM_FUNC_QUALIFIER GLM_CONSTEXPR static vec<L, double, Q> call(vec<L, double, Q> const& a)
+			GLM_FUNC_QUALIFIER constexpr static vec<L, double, Q> call(vec<L, double, Q> const& a)
 			{
 				vec<L, double, Q> Result;
 				__m256d t2 = _mm256_permute2f128_pd(a.data, a.data, 0x11);
@@ -506,7 +506,7 @@ namespace detail
 #endif //GLM_ARCH & GLM_ARCH_AVX_BIT
 
 		template<int c>
-		GLM_FUNC_QUALIFIER GLM_CONSTEXPR static vec<L, double, Q> call(vec<L, double, Q> const& a)
+		GLM_FUNC_QUALIFIER constexpr static vec<L, double, Q> call(vec<L, double, Q> const& a)
 		{
 			//return compute_splat<L, double, Q, false>::call<c>(a);
 			vec<L, double, Q> Result;

+ 4 - 4
glm/detail/func_exponential.inl

@@ -25,7 +25,7 @@ namespace detail
 	{
 		GLM_FUNC_QUALIFIER static vec<L, T, Q> call(vec<L, T, Q> const& v)
 		{
-			GLM_STATIC_ASSERT(std::numeric_limits<T>::is_iec559 || GLM_CONFIG_UNRESTRICTED_FLOAT, "'log2' only accept floating-point inputs. Include <glm/gtc/integer.hpp> for integer inputs.");
+			static_assert(std::numeric_limits<T>::is_iec559 || GLM_CONFIG_UNRESTRICTED_FLOAT, "'log2' only accept floating-point inputs. Include <glm/gtc/integer.hpp> for integer inputs.");
 
 			return detail::functor1<vec, L, T, T, Q>::call(log2, v);
 		}
@@ -97,7 +97,7 @@ namespace detail
 	template<typename genType>
 	GLM_FUNC_QUALIFIER genType exp2(genType x)
 	{
-		GLM_STATIC_ASSERT(std::numeric_limits<genType>::is_iec559 || GLM_CONFIG_UNRESTRICTED_FLOAT, "'exp2' only accept floating-point inputs");
+		static_assert(std::numeric_limits<genType>::is_iec559 || GLM_CONFIG_UNRESTRICTED_FLOAT, "'exp2' only accept floating-point inputs");
 
 		return std::exp(static_cast<genType>(0.69314718055994530941723212145818) * x);
 	}
@@ -127,7 +127,7 @@ namespace detail
 	template<length_t L, typename T, qualifier Q>
 	GLM_FUNC_QUALIFIER vec<L, T, Q> sqrt(vec<L, T, Q> const& x)
 	{
-		GLM_STATIC_ASSERT(std::numeric_limits<T>::is_iec559 || GLM_CONFIG_UNRESTRICTED_FLOAT, "'sqrt' only accept floating-point inputs");
+		static_assert(std::numeric_limits<T>::is_iec559 || GLM_CONFIG_UNRESTRICTED_FLOAT, "'sqrt' only accept floating-point inputs");
 		return detail::compute_sqrt<L, T, Q, detail::is_aligned<Q>::value>::call(x);
 	}
 
@@ -141,7 +141,7 @@ namespace detail
 	template<length_t L, typename T, qualifier Q>
 	GLM_FUNC_QUALIFIER vec<L, T, Q> inversesqrt(vec<L, T, Q> const& x)
 	{
-		GLM_STATIC_ASSERT(std::numeric_limits<T>::is_iec559 || GLM_CONFIG_UNRESTRICTED_FLOAT, "'inversesqrt' only accept floating-point inputs");
+		static_assert(std::numeric_limits<T>::is_iec559 || GLM_CONFIG_UNRESTRICTED_FLOAT, "'inversesqrt' only accept floating-point inputs");
 		return detail::compute_inversesqrt<L, T, Q, detail::is_aligned<Q>::value>::call(x);
 	}
 }//namespace glm

+ 22 - 22
glm/detail/func_geometric.inl

@@ -28,7 +28,7 @@ namespace detail
 	template<typename T, qualifier Q, bool Aligned>
 	struct compute_dot<vec<1, T, Q>, T, Aligned>
 	{
-		GLM_FUNC_QUALIFIER GLM_CONSTEXPR static T call(vec<1, T, Q> const& a, vec<1, T, Q> const& b)
+		GLM_FUNC_QUALIFIER constexpr static T call(vec<1, T, Q> const& a, vec<1, T, Q> const& b)
 		{
 			return a.x * b.x;
 		}
@@ -37,7 +37,7 @@ namespace detail
 	template<typename T, qualifier Q, bool Aligned>
 	struct compute_dot<vec<2, T, Q>, T, Aligned>
 	{
-		GLM_FUNC_QUALIFIER GLM_CONSTEXPR static T call(vec<2, T, Q> const& a, vec<2, T, Q> const& b)
+		GLM_FUNC_QUALIFIER constexpr static T call(vec<2, T, Q> const& a, vec<2, T, Q> const& b)
 		{
 			vec<2, T, Q> tmp(a * b);
 			return tmp.x + tmp.y;
@@ -47,7 +47,7 @@ namespace detail
 	template<typename T, qualifier Q, bool Aligned>
 	struct compute_dot<vec<3, T, Q>, T, Aligned>
 	{
-		GLM_FUNC_QUALIFIER GLM_CONSTEXPR static T call(vec<3, T, Q> const& a, vec<3, T, Q> const& b)
+		GLM_FUNC_QUALIFIER constexpr static T call(vec<3, T, Q> const& a, vec<3, T, Q> const& b)
 		{
 			vec<3, T, Q> tmp(a * b);
 			return tmp.x + tmp.y + tmp.z;
@@ -57,7 +57,7 @@ namespace detail
 	template<typename T, qualifier Q, bool Aligned>
 	struct compute_dot<vec<4, T, Q>, T, Aligned>
 	{
-		GLM_FUNC_QUALIFIER GLM_CONSTEXPR static T call(vec<4, T, Q> const& a, vec<4, T, Q> const& b)
+		GLM_FUNC_QUALIFIER constexpr static T call(vec<4, T, Q> const& a, vec<4, T, Q> const& b)
 		{
 			// VS 17.7.4 generates longer assembly (~20 instructions vs 11 instructions)
 			#if defined(_MSC_VER)
@@ -72,9 +72,9 @@ namespace detail
 	template<typename T, qualifier Q, bool Aligned>
 	struct compute_cross
 	{
-		GLM_FUNC_QUALIFIER GLM_CONSTEXPR static vec<3, T, Q> call(vec<3, T, Q> const& x, vec<3, T, Q> const& y)
+		GLM_FUNC_QUALIFIER constexpr static vec<3, T, Q> call(vec<3, T, Q> const& x, vec<3, T, Q> const& y)
 		{
-			GLM_STATIC_ASSERT(std::numeric_limits<T>::is_iec559, "'cross' accepts only floating-point inputs");
+			static_assert(std::numeric_limits<T>::is_iec559, "'cross' accepts only floating-point inputs");
 
 			return vec<3, T, Q>(
 				x.y * y.z - y.y * x.z,
@@ -82,9 +82,9 @@ namespace detail
 				x.x * y.y - y.x * x.y);
 		}
 
-		GLM_FUNC_QUALIFIER GLM_CONSTEXPR static vec<4, T, Q> call(vec<4, T, Q> const& x, vec<4, T, Q> const& y)
+		GLM_FUNC_QUALIFIER constexpr static vec<4, T, Q> call(vec<4, T, Q> const& x, vec<4, T, Q> const& y)
 		{
-			GLM_STATIC_ASSERT(std::numeric_limits<T>::is_iec559, "'cross' accepts only floating-point inputs");
+			static_assert(std::numeric_limits<T>::is_iec559, "'cross' accepts only floating-point inputs");
 
 			return vec<4, T, Q>(
 				x.y * y.z - y.y * x.z,
@@ -99,7 +99,7 @@ namespace detail
 	{
 		GLM_FUNC_QUALIFIER static vec<L, T, Q> call(vec<L, T, Q> const& v)
 		{
-			GLM_STATIC_ASSERT(std::numeric_limits<T>::is_iec559, "'normalize' accepts only floating-point inputs");
+			static_assert(std::numeric_limits<T>::is_iec559, "'normalize' accepts only floating-point inputs");
 
 			return v * inversesqrt(dot(v, v));
 		}
@@ -110,7 +110,7 @@ namespace detail
 	{
 		GLM_FUNC_QUALIFIER static vec<L, T, Q> call(vec<L, T, Q> const& N, vec<L, T, Q> const& I, vec<L, T, Q> const& Nref)
 		{
-			GLM_STATIC_ASSERT(std::numeric_limits<T>::is_iec559, "'normalize' accepts only floating-point inputs");
+			static_assert(std::numeric_limits<T>::is_iec559, "'normalize' accepts only floating-point inputs");
 
 			return dot(Nref, I) < static_cast<T>(0) ? N : -N;
 		}
@@ -143,7 +143,7 @@ namespace detail
 	template<typename genType>
 	GLM_FUNC_QUALIFIER genType length(genType x)
 	{
-		GLM_STATIC_ASSERT(std::numeric_limits<genType>::is_iec559, "'length' accepts only floating-point inputs");
+		static_assert(std::numeric_limits<genType>::is_iec559, "'length' accepts only floating-point inputs");
 
 		return abs(x);
 	}
@@ -151,7 +151,7 @@ namespace detail
 	template<length_t L, typename T, qualifier Q>
 	GLM_FUNC_QUALIFIER T length(vec<L, T, Q> const& v)
 	{
-		GLM_STATIC_ASSERT(std::numeric_limits<T>::is_iec559, "'length' accepts only floating-point inputs");
+		static_assert(std::numeric_limits<T>::is_iec559, "'length' accepts only floating-point inputs");
 
 		return detail::compute_length<L, T, Q, detail::is_aligned<Q>::value>::call(v);
 	}
@@ -160,7 +160,7 @@ namespace detail
 	template<typename genType>
 	GLM_FUNC_QUALIFIER genType distance(genType const& p0, genType const& p1)
 	{
-		GLM_STATIC_ASSERT(std::numeric_limits<genType>::is_iec559, "'distance' accepts only floating-point inputs");
+		static_assert(std::numeric_limits<genType>::is_iec559, "'distance' accepts only floating-point inputs");
 
 		return length(p1 - p0);
 	}
@@ -173,22 +173,22 @@ namespace detail
 
 	// dot
 	template<typename T>
-	GLM_FUNC_QUALIFIER GLM_CONSTEXPR T dot(T x, T y)
+	GLM_FUNC_QUALIFIER constexpr T dot(T x, T y)
 	{
-		GLM_STATIC_ASSERT(std::numeric_limits<T>::is_iec559, "'dot' accepts only floating-point inputs");
+		static_assert(std::numeric_limits<T>::is_iec559, "'dot' accepts only floating-point inputs");
 		return x * y;
 	}
 
 	template<length_t L, typename T, qualifier Q>
-	GLM_FUNC_QUALIFIER GLM_CONSTEXPR T dot(vec<L, T, Q> const& x, vec<L, T, Q> const& y)
+	GLM_FUNC_QUALIFIER constexpr T dot(vec<L, T, Q> const& x, vec<L, T, Q> const& y)
 	{
-		GLM_STATIC_ASSERT(std::numeric_limits<T>::is_iec559, "'dot' accepts only floating-point inputs");
+		static_assert(std::numeric_limits<T>::is_iec559, "'dot' accepts only floating-point inputs");
 		return detail::compute_dot<vec<L, T, Q>, T, detail::is_aligned<Q>::value>::call(x, y);
 	}
 
 	// cross
 	template<typename T, qualifier Q>
-	GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q> cross(vec<3, T, Q> const& x, vec<3, T, Q> const& y)
+	GLM_FUNC_QUALIFIER constexpr vec<3, T, Q> cross(vec<3, T, Q> const& x, vec<3, T, Q> const& y)
 	{
 		return detail::compute_cross<T, Q, detail::is_aligned<Q>::value>::call(x, y);
 	}
@@ -197,7 +197,7 @@ namespace detail
 	template<typename genType>
 	GLM_FUNC_QUALIFIER genType normalize(genType const& x)
 	{
-		GLM_STATIC_ASSERT(std::numeric_limits<genType>::is_iec559, "'normalize' accepts only floating-point inputs");
+		static_assert(std::numeric_limits<genType>::is_iec559, "'normalize' accepts only floating-point inputs");
 
 		return x < genType(0) ? genType(-1) : genType(1);
 	}
@@ -205,7 +205,7 @@ namespace detail
 	template<length_t L, typename T, qualifier Q>
 	GLM_FUNC_QUALIFIER vec<L, T, Q> normalize(vec<L, T, Q> const& x)
 	{
-		GLM_STATIC_ASSERT(std::numeric_limits<T>::is_iec559, "'normalize' accepts only floating-point inputs");
+		static_assert(std::numeric_limits<T>::is_iec559, "'normalize' accepts only floating-point inputs");
 
 		return detail::compute_normalize<L, T, Q, detail::is_aligned<Q>::value>::call(x);
 	}
@@ -240,7 +240,7 @@ namespace detail
 	template<typename genType>
 	GLM_FUNC_QUALIFIER genType refract(genType const& I, genType const& N, genType eta)
 	{
-		GLM_STATIC_ASSERT(std::numeric_limits<genType>::is_iec559, "'refract' accepts only floating-point inputs");
+		static_assert(std::numeric_limits<genType>::is_iec559, "'refract' accepts only floating-point inputs");
 		genType const dotValue(dot(N, I));
 		genType const k(static_cast<genType>(1) - eta * eta * (static_cast<genType>(1) - dotValue * dotValue));
 		return (eta * I - (eta * dotValue + sqrt(k)) * N) * static_cast<genType>(k >= static_cast<genType>(0));
@@ -249,7 +249,7 @@ namespace detail
 	template<length_t L, typename T, qualifier Q>
 	GLM_FUNC_QUALIFIER vec<L, T, Q> refract(vec<L, T, Q> const& I, vec<L, T, Q> const& N, T eta)
 	{
-		GLM_STATIC_ASSERT(std::numeric_limits<T>::is_iec559, "'refract' accepts only floating-point inputs");
+		static_assert(std::numeric_limits<T>::is_iec559, "'refract' accepts only floating-point inputs");
 		return detail::compute_refract<L, T, Q, detail::is_aligned<Q>::value>::call(I, N, eta);
 	}
 }//namespace glm

+ 11 - 11
glm/detail/func_integer.inl

@@ -253,7 +253,7 @@ namespace detail
 	template<length_t L, typename T, qualifier Q>
 	GLM_FUNC_QUALIFIER vec<L, T, Q> bitfieldExtract(vec<L, T, Q> const& Value, int Offset, int Bits)
 	{
-		GLM_STATIC_ASSERT(std::numeric_limits<T>::is_integer, "'bitfieldExtract' only accept integer inputs");
+		static_assert(std::numeric_limits<T>::is_integer, "'bitfieldExtract' only accept integer inputs");
 
 		return (Value >> static_cast<T>(Offset)) & static_cast<T>(detail::mask(Bits));
 	}
@@ -262,7 +262,7 @@ namespace detail
 	template<typename genIUType>
 	GLM_FUNC_QUALIFIER genIUType bitfieldInsert(genIUType const& Base, genIUType const& Insert, int Offset, int Bits)
 	{
-		GLM_STATIC_ASSERT(std::numeric_limits<genIUType>::is_integer, "'bitfieldInsert' only accept integer values");
+		static_assert(std::numeric_limits<genIUType>::is_integer, "'bitfieldInsert' only accept integer values");
 
 		return bitfieldInsert(vec<1, genIUType>(Base), vec<1, genIUType>(Insert), Offset, Bits).x;
 	}
@@ -270,7 +270,7 @@ namespace detail
 	template<length_t L, typename T, qualifier Q>
 	GLM_FUNC_QUALIFIER vec<L, T, Q> bitfieldInsert(vec<L, T, Q> const& Base, vec<L, T, Q> const& Insert, int Offset, int Bits)
 	{
-		GLM_STATIC_ASSERT(std::numeric_limits<T>::is_integer, "'bitfieldInsert' only accept integer values");
+		static_assert(std::numeric_limits<T>::is_integer, "'bitfieldInsert' only accept integer values");
 
 		T const Mask = detail::mask(static_cast<T>(Bits)) << Offset;
 		return (Base & ~Mask) | ((Insert << static_cast<T>(Offset)) & Mask);
@@ -285,7 +285,7 @@ namespace detail
 	template<typename genIUType>
 	GLM_FUNC_QUALIFIER genIUType bitfieldReverse(genIUType x)
 	{
-		GLM_STATIC_ASSERT(std::numeric_limits<genIUType>::is_integer, "'bitfieldReverse' only accept integer values");
+		static_assert(std::numeric_limits<genIUType>::is_integer, "'bitfieldReverse' only accept integer values");
 
 		return bitfieldReverse(glm::vec<1, genIUType, glm::defaultp>(x)).x;
 	}
@@ -293,7 +293,7 @@ namespace detail
 	template<length_t L, typename T, qualifier Q>
 	GLM_FUNC_QUALIFIER vec<L, T, Q> bitfieldReverse(vec<L, T, Q> const& v)
 	{
-		GLM_STATIC_ASSERT(std::numeric_limits<T>::is_integer, "'bitfieldReverse' only accept integer values");
+		static_assert(std::numeric_limits<T>::is_integer, "'bitfieldReverse' only accept integer values");
 
 		vec<L, T, Q> x(v);
 		x = detail::compute_bitfieldReverseStep<L, T, Q, detail::is_aligned<Q>::value, sizeof(T) * 8>=  2>::call(x, static_cast<T>(0x5555555555555555ull), static_cast<T>( 1));
@@ -313,7 +313,7 @@ namespace detail
 	template<typename genIUType>
 	GLM_FUNC_QUALIFIER int bitCount(genIUType x)
 	{
-		GLM_STATIC_ASSERT(std::numeric_limits<genIUType>::is_integer, "'bitCount' only accept integer values");
+		static_assert(std::numeric_limits<genIUType>::is_integer, "'bitCount' only accept integer values");
 
 		return bitCount(glm::vec<1, genIUType, glm::defaultp>(x)).x;
 	}
@@ -321,7 +321,7 @@ namespace detail
 	template<length_t L, typename T, qualifier Q>
 	GLM_FUNC_QUALIFIER vec<L, int, Q> bitCount(vec<L, T, Q> const& v)
 	{
-		GLM_STATIC_ASSERT(std::numeric_limits<T>::is_integer, "'bitCount' only accept integer values");
+		static_assert(std::numeric_limits<T>::is_integer, "'bitCount' only accept integer values");
 
 #		if GLM_COMPILER & GLM_COMPILER_VC
 #			pragma warning(push)
@@ -346,7 +346,7 @@ namespace detail
 	template<typename genIUType>
 	GLM_FUNC_QUALIFIER int findLSB(genIUType Value)
 	{
-		GLM_STATIC_ASSERT(std::numeric_limits<genIUType>::is_integer, "'findLSB' only accept integer values");
+		static_assert(std::numeric_limits<genIUType>::is_integer, "'findLSB' only accept integer values");
 
 		return detail::compute_findLSB<genIUType, sizeof(genIUType) * 8>::call(Value);
 	}
@@ -354,7 +354,7 @@ namespace detail
 	template<length_t L, typename T, qualifier Q>
 	GLM_FUNC_QUALIFIER vec<L, int, Q> findLSB(vec<L, T, Q> const& x)
 	{
-		GLM_STATIC_ASSERT(std::numeric_limits<T>::is_integer, "'findLSB' only accept integer values");
+		static_assert(std::numeric_limits<T>::is_integer, "'findLSB' only accept integer values");
 
 		return detail::functor1<vec, L, int, T, Q>::call(findLSB, x);
 	}
@@ -363,7 +363,7 @@ namespace detail
 	template<typename genIUType>
 	GLM_FUNC_QUALIFIER int findMSB(genIUType v)
 	{
-		GLM_STATIC_ASSERT(std::numeric_limits<genIUType>::is_integer, "'findMSB' only accept integer values");
+		static_assert(std::numeric_limits<genIUType>::is_integer, "'findMSB' only accept integer values");
 
 		return findMSB(vec<1, genIUType>(v)).x;
 	}
@@ -371,7 +371,7 @@ namespace detail
 	template<length_t L, typename T, qualifier Q>
 	GLM_FUNC_QUALIFIER vec<L, int, Q> findMSB(vec<L, T, Q> const& v)
 	{
-		GLM_STATIC_ASSERT(std::numeric_limits<T>::is_integer, "'findMSB' only accept integer values");
+		static_assert(std::numeric_limits<T>::is_integer, "'findMSB' only accept integer values");
 
 		return detail::compute_findMSB_vec<L, T, Q, static_cast<int>(sizeof(T) * 8)>::call(v);
 	}

+ 5 - 5
glm/detail/func_matrix.inl

@@ -20,7 +20,7 @@ namespace detail
 	struct compute_matrixCompMult_type {
 		GLM_FUNC_QUALIFIER static mat<C, R, T, Q> call(mat<C, R, T, Q> const& x, mat<C, R, T, Q> const& y)
 		{
-			GLM_STATIC_ASSERT(std::numeric_limits<T>::is_iec559 || GLM_CONFIG_UNRESTRICTED_GENTYPE, 
+			static_assert(std::numeric_limits<T>::is_iec559 || GLM_CONFIG_UNRESTRICTED_GENTYPE, 
 				"'matrixCompMult' only accept floating-point inputs, include <glm/ext/matrix_integer.hpp> to discard this restriction.");
 			return detail::compute_matrixCompMult<C, R, T, Q, detail::is_aligned<Q>::value>::call(x, y);
 		}
@@ -41,7 +41,7 @@ namespace detail
 	struct compute_outerProduct_type {
 		GLM_FUNC_QUALIFIER static typename detail::outerProduct_trait<DA, DB, T, Q>::type call(vec<DA, T, Q> const& c, vec<DB, T, Q> const& r)
 		{
-			GLM_STATIC_ASSERT(std::numeric_limits<T>::is_iec559 || GLM_CONFIG_UNRESTRICTED_GENTYPE,
+			static_assert(std::numeric_limits<T>::is_iec559 || GLM_CONFIG_UNRESTRICTED_GENTYPE,
 				"'outerProduct' only accept floating-point inputs, include <glm/ext/matrix_integer.hpp> to discard this restriction.");
 
 			return detail::compute_outerProduct<DA, DB, T, Q>::call(c, r);
@@ -231,7 +231,7 @@ namespace detail
 	struct compute_transpose_type {
 		GLM_FUNC_QUALIFIER static mat<R, C, T, Q> call(mat<C, R, T, Q> const& m)
 		{
-			GLM_STATIC_ASSERT(std::numeric_limits<T>::is_iec559 || GLM_CONFIG_UNRESTRICTED_GENTYPE, 
+			static_assert(std::numeric_limits<T>::is_iec559 || GLM_CONFIG_UNRESTRICTED_GENTYPE, 
 				"'transpose' only accept floating-point inputs, include <glm/ext/matrix_integer.hpp> to discard this restriction.");
 			return detail::compute_transpose<C, R, T, Q, detail::is_aligned<Q>::value>::call(m);
 		}
@@ -290,7 +290,7 @@ namespace detail
 	
 		GLM_FUNC_QUALIFIER static T call(mat<C, R, T, Q> const& m)
 		{
-			GLM_STATIC_ASSERT(std::numeric_limits<T>::is_iec559 || GLM_CONFIG_UNRESTRICTED_GENTYPE, 
+			static_assert(std::numeric_limits<T>::is_iec559 || GLM_CONFIG_UNRESTRICTED_GENTYPE, 
 				"'determinant' only accept floating-point inputs, include <glm/ext/matrix_integer.hpp> to discard this restriction.");
 			return detail::compute_determinant<C, R, T, Q, detail::is_aligned<Q>::value>::call(m);
 		}
@@ -473,7 +473,7 @@ namespace detail
 	template<length_t C, length_t R, typename T, qualifier Q>
 	GLM_FUNC_QUALIFIER mat<C, R, T, Q> inverse(mat<C, R, T, Q> const& m)
 	{
-		GLM_STATIC_ASSERT(std::numeric_limits<T>::is_iec559 || GLM_CONFIG_UNRESTRICTED_GENTYPE, "'inverse' only accept floating-point inputs");
+		static_assert(std::numeric_limits<T>::is_iec559 || GLM_CONFIG_UNRESTRICTED_GENTYPE, "'inverse' only accept floating-point inputs");
 		return detail::compute_inverse<C, R, T, Q, detail::is_aligned<Q>::value>::call(m);
 	}
 }//namespace glm

+ 1 - 1
glm/detail/func_matrix_simd.inl

@@ -12,7 +12,7 @@ namespace detail
 	template<qualifier Q>
 	struct compute_matrixCompMult<4, 4, float, Q, true>
 	{
-		GLM_STATIC_ASSERT(detail::is_aligned<Q>::value, "Specialization requires aligned");
+		static_assert(detail::is_aligned<Q>::value, "Specialization requires aligned");
 
 		GLM_FUNC_QUALIFIER static mat<4, 4, float, Q> call(mat<4, 4, float, Q> const& x, mat<4, 4, float, Q> const& y)
 		{

+ 10 - 10
glm/detail/func_trigonometric.inl

@@ -6,30 +6,30 @@ namespace glm
 {
 	// radians
 	template<typename genType>
-	GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType radians(genType degrees)
+	GLM_FUNC_QUALIFIER constexpr genType radians(genType degrees)
 	{
-		GLM_STATIC_ASSERT(std::numeric_limits<genType>::is_iec559 || GLM_CONFIG_UNRESTRICTED_FLOAT, "'radians' only accept floating-point input");
+		static_assert(std::numeric_limits<genType>::is_iec559 || GLM_CONFIG_UNRESTRICTED_FLOAT, "'radians' only accept floating-point input");
 
 		return degrees * static_cast<genType>(0.01745329251994329576923690768489);
 	}
 
 	template<length_t L, typename T, qualifier Q>
-	GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<L, T, Q> radians(vec<L, T, Q> const& v)
+	GLM_FUNC_QUALIFIER constexpr vec<L, T, Q> radians(vec<L, T, Q> const& v)
 	{
 		return detail::functor1<vec, L, T, T, Q>::call(radians, v);
 	}
 
 	// degrees
 	template<typename genType>
-	GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType degrees(genType radians)
+	GLM_FUNC_QUALIFIER constexpr genType degrees(genType radians)
 	{
-		GLM_STATIC_ASSERT(std::numeric_limits<genType>::is_iec559 || GLM_CONFIG_UNRESTRICTED_FLOAT, "'degrees' only accept floating-point input");
+		static_assert(std::numeric_limits<genType>::is_iec559 || GLM_CONFIG_UNRESTRICTED_FLOAT, "'degrees' only accept floating-point input");
 
 		return radians * static_cast<genType>(57.295779513082320876798154814105);
 	}
 
 	template<length_t L, typename T, qualifier Q>
-	GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<L, T, Q> degrees(vec<L, T, Q> const& v)
+	GLM_FUNC_QUALIFIER constexpr vec<L, T, Q> degrees(vec<L, T, Q> const& v)
 	{
 		return detail::functor1<vec, L, T, T, Q>::call(degrees, v);
 	}
@@ -83,7 +83,7 @@ namespace glm
 	template<typename genType>
 	GLM_FUNC_QUALIFIER genType atan(genType y, genType x)
 	{
-		GLM_STATIC_ASSERT(std::numeric_limits<genType>::is_iec559 || GLM_CONFIG_UNRESTRICTED_FLOAT, "'atan' only accept floating-point input");
+		static_assert(std::numeric_limits<genType>::is_iec559 || GLM_CONFIG_UNRESTRICTED_FLOAT, "'atan' only accept floating-point input");
 
 		return ::std::atan2(y, x);
 	}
@@ -136,7 +136,7 @@ namespace glm
 		template<typename genType>
 		GLM_FUNC_QUALIFIER genType asinh(genType x)
 		{
-			GLM_STATIC_ASSERT(std::numeric_limits<genType>::is_iec559 || GLM_CONFIG_UNRESTRICTED_FLOAT, "'asinh' only accept floating-point input");
+			static_assert(std::numeric_limits<genType>::is_iec559 || GLM_CONFIG_UNRESTRICTED_FLOAT, "'asinh' only accept floating-point input");
 
 			return (x < static_cast<genType>(0) ? static_cast<genType>(-1) : (x > static_cast<genType>(0) ? static_cast<genType>(1) : static_cast<genType>(0))) * log(std::abs(x) + sqrt(static_cast<genType>(1) + x * x));
 		}
@@ -155,7 +155,7 @@ namespace glm
 		template<typename genType>
 		GLM_FUNC_QUALIFIER genType acosh(genType x)
 		{
-			GLM_STATIC_ASSERT(std::numeric_limits<genType>::is_iec559 || GLM_CONFIG_UNRESTRICTED_FLOAT, "'acosh' only accept floating-point input");
+			static_assert(std::numeric_limits<genType>::is_iec559 || GLM_CONFIG_UNRESTRICTED_FLOAT, "'acosh' only accept floating-point input");
 
 			if(x < static_cast<genType>(1))
 				return static_cast<genType>(0);
@@ -176,7 +176,7 @@ namespace glm
 		template<typename genType>
 		GLM_FUNC_QUALIFIER genType atanh(genType x)
 		{
-			GLM_STATIC_ASSERT(std::numeric_limits<genType>::is_iec559 || GLM_CONFIG_UNRESTRICTED_FLOAT, "'atanh' only accept floating-point input");
+			static_assert(std::numeric_limits<genType>::is_iec559 || GLM_CONFIG_UNRESTRICTED_FLOAT, "'atanh' only accept floating-point input");
 
 			if(std::abs(x) >= static_cast<genType>(1))
 				return 0;

+ 9 - 9
glm/detail/func_vector_relational.inl

@@ -1,7 +1,7 @@
 namespace glm
 {
 	template<length_t L, typename T, qualifier Q>
-	GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<L, bool, Q> lessThan(vec<L, T, Q> const& x, vec<L, T, Q> const& y)
+	GLM_FUNC_QUALIFIER constexpr vec<L, bool, Q> lessThan(vec<L, T, Q> const& x, vec<L, T, Q> const& y)
 	{
 		vec<L, bool, Q> Result(true);
 		for(length_t i = 0; i < L; ++i)
@@ -10,7 +10,7 @@ namespace glm
 	}
 
 	template<length_t L, typename T, qualifier Q>
-	GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<L, bool, Q> lessThanEqual(vec<L, T, Q> const& x, vec<L, T, Q> const& y)
+	GLM_FUNC_QUALIFIER constexpr vec<L, bool, Q> lessThanEqual(vec<L, T, Q> const& x, vec<L, T, Q> const& y)
 	{
 		vec<L, bool, Q> Result(true);
 		for(length_t i = 0; i < L; ++i)
@@ -19,7 +19,7 @@ namespace glm
 	}
 
 	template<length_t L, typename T, qualifier Q>
-	GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<L, bool, Q> greaterThan(vec<L, T, Q> const& x, vec<L, T, Q> const& y)
+	GLM_FUNC_QUALIFIER constexpr vec<L, bool, Q> greaterThan(vec<L, T, Q> const& x, vec<L, T, Q> const& y)
 	{
 		vec<L, bool, Q> Result(true);
 		for(length_t i = 0; i < L; ++i)
@@ -28,7 +28,7 @@ namespace glm
 	}
 
 	template<length_t L, typename T, qualifier Q>
-	GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<L, bool, Q> greaterThanEqual(vec<L, T, Q> const& x, vec<L, T, Q> const& y)
+	GLM_FUNC_QUALIFIER constexpr vec<L, bool, Q> greaterThanEqual(vec<L, T, Q> const& x, vec<L, T, Q> const& y)
 	{
 		vec<L, bool, Q> Result(true);
 		for(length_t i = 0; i < L; ++i)
@@ -37,7 +37,7 @@ namespace glm
 	}
 
 	template<length_t L, typename T, qualifier Q>
-	GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<L, bool, Q> equal(vec<L, T, Q> const& x, vec<L, T, Q> const& y)
+	GLM_FUNC_QUALIFIER constexpr vec<L, bool, Q> equal(vec<L, T, Q> const& x, vec<L, T, Q> const& y)
 	{
 		vec<L, bool, Q> Result(true);
 		for(length_t i = 0; i < L; ++i)
@@ -46,7 +46,7 @@ namespace glm
 	}
 
 	template<length_t L, typename T, qualifier Q>
-	GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<L, bool, Q> notEqual(vec<L, T, Q> const& x, vec<L, T, Q> const& y)
+	GLM_FUNC_QUALIFIER constexpr vec<L, bool, Q> notEqual(vec<L, T, Q> const& x, vec<L, T, Q> const& y)
 	{
 		vec<L, bool, Q> Result(true);
 		for(length_t i = 0; i < L; ++i)
@@ -55,7 +55,7 @@ namespace glm
 	}
 
 	template<length_t L, qualifier Q>
-	GLM_FUNC_QUALIFIER GLM_CONSTEXPR bool any(vec<L, bool, Q> const& v)
+	GLM_FUNC_QUALIFIER constexpr bool any(vec<L, bool, Q> const& v)
 	{
 		bool Result = false;
 		for(length_t i = 0; i < L; ++i)
@@ -64,7 +64,7 @@ namespace glm
 	}
 
 	template<length_t L, qualifier Q>
-	GLM_FUNC_QUALIFIER GLM_CONSTEXPR bool all(vec<L, bool, Q> const& v)
+	GLM_FUNC_QUALIFIER constexpr bool all(vec<L, bool, Q> const& v)
 	{
 		bool Result = true;
 		for(length_t i = 0; i < L; ++i)
@@ -73,7 +73,7 @@ namespace glm
 	}
 
 	template<length_t L, qualifier Q>
-	GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<L, bool, Q> not_(vec<L, bool, Q> const& v)
+	GLM_FUNC_QUALIFIER constexpr vec<L, bool, Q> not_(vec<L, bool, Q> const& v)
 	{
 		vec<L, bool, Q> Result(true);
 		for(length_t i = 0; i < L; ++i)

+ 4 - 7
glm/detail/qualifier.hpp

@@ -178,10 +178,10 @@ namespace detail
 		struct type
 		{
 			glm_f64vec2 data[2];
-			GLM_CONSTEXPR glm_f64vec2 getv(int i) const {
+			constexpr glm_f64vec2 getv(int i) const {
 				return data[i];
 			}
-			GLM_CONSTEXPR void setv(int i, const glm_f64vec2& v) {
+			constexpr void setv(int i, const glm_f64vec2& v) {
 				data[i] = v;
 			}
 		};
@@ -240,15 +240,12 @@ namespace detail
 	struct storage<3, unsigned int, true> : public storage<4, unsigned int, true>
 	{};
 
-#	if GLM_HAS_ALIGNOF
-	template<>
 	struct storage<3, double, true>
 	{
 		typedef struct alignas(4 * sizeof(double)) type {
 			double data[4];
 		} type;
 	};
-#	endif//GLM_HAS_ALIGNOF
 
 #	endif
 
@@ -277,7 +274,7 @@ namespace detail
 	template<typename genType>
 	struct init_gentype<genType, GENTYPE_QUAT>
 	{
-		GLM_FUNC_QUALIFIER GLM_CONSTEXPR static genType identity()
+		GLM_FUNC_QUALIFIER constexpr static genType identity()
 		{
 			return genType(1, 0, 0, 0);
 		}
@@ -286,7 +283,7 @@ namespace detail
 	template<typename genType>
 	struct init_gentype<genType, GENTYPE_MAT>
 	{
-		GLM_FUNC_QUALIFIER GLM_CONSTEXPR static genType identity()
+		GLM_FUNC_QUALIFIER constexpr static genType identity()
 		{
 			return genType(1);
 		}

+ 23 - 388
glm/detail/setup.hpp

@@ -93,16 +93,12 @@
 #	define GLM_LANG 0
 #elif defined(GLM_FORCE_CXX20)
 #	define GLM_LANG (GLM_LANG_CXX20 | GLM_LANG_EXT)
-#	define GLM_LANG_STL11_FORCED
 #elif defined(GLM_FORCE_CXX17)
 #	define GLM_LANG (GLM_LANG_CXX17 | GLM_LANG_EXT)
-#	define GLM_LANG_STL11_FORCED
 #elif defined(GLM_FORCE_CXX14)
 #	define GLM_LANG (GLM_LANG_CXX14 | GLM_LANG_EXT)
-#	define GLM_LANG_STL11_FORCED
 #elif defined(GLM_FORCE_CXX11)
 #	define GLM_LANG (GLM_LANG_CXX11 | GLM_LANG_EXT)
-#	define GLM_LANG_STL11_FORCED
 #elif defined(GLM_FORCE_CXX03)
 #	define GLM_LANG (GLM_LANG_CXX03 | GLM_LANG_EXT)
 #elif defined(GLM_FORCE_CXX98)
@@ -148,152 +144,9 @@
 // http://gcc.gnu.org/projects/cxx0x.html
 // http://msdn.microsoft.com/en-us/library/vstudio/hh567368(v=vs.120).aspx
 
-#if (GLM_COMPILER & GLM_COMPILER_CUDA_RTC) == GLM_COMPILER_CUDA_RTC
-#	define GLM_HAS_CXX11_STL 0
-#elif (GLM_COMPILER & GLM_COMPILER_HIP)
-#	define GLM_HAS_CXX11_STL 0
-#elif GLM_COMPILER & GLM_COMPILER_CLANG
-#	if (defined(_LIBCPP_VERSION) || (GLM_LANG & GLM_LANG_CXX11_FLAG) || defined(GLM_LANG_STL11_FORCED))
-#		define GLM_HAS_CXX11_STL 1
-#	else
-#		define GLM_HAS_CXX11_STL 0
-#	endif
-#elif GLM_LANG & GLM_LANG_CXX11_FLAG
-#	define GLM_HAS_CXX11_STL 1
-#else
-#	define GLM_HAS_CXX11_STL ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (\
-		((GLM_COMPILER & GLM_COMPILER_GCC) && (GLM_COMPILER >= GLM_COMPILER_GCC48)) || \
-		((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC12)) || \
-		((GLM_PLATFORM != GLM_PLATFORM_WINDOWS) && (GLM_COMPILER & GLM_COMPILER_INTEL) && (GLM_COMPILER >= GLM_COMPILER_INTEL15))))
-#endif
-
-// N1720
-#if GLM_COMPILER & GLM_COMPILER_CLANG
-#	define GLM_HAS_STATIC_ASSERT __has_feature(cxx_static_assert)
-#elif GLM_LANG & GLM_LANG_CXX11_FLAG
-#	define GLM_HAS_STATIC_ASSERT 1
-#else
-#	define GLM_HAS_STATIC_ASSERT ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (\
-		((GLM_COMPILER & GLM_COMPILER_CUDA)) || \
-		((GLM_COMPILER & GLM_COMPILER_VC)) || \
-		((GLM_COMPILER & GLM_COMPILER_HIP))))
-#endif
-
-// N1988
-#if GLM_LANG & GLM_LANG_CXX11_FLAG
-#	define GLM_HAS_EXTENDED_INTEGER_TYPE 1
-#else
-#	define GLM_HAS_EXTENDED_INTEGER_TYPE (\
-		((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (GLM_COMPILER & GLM_COMPILER_VC)) || \
-		((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (GLM_COMPILER & GLM_COMPILER_CUDA)) || \
-		((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (GLM_COMPILER & GLM_COMPILER_CLANG)) || \
-		((GLM_COMPILER & GLM_COMPILER_HIP)))
-#endif
-
-// N2672 Initializer lists http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2672.htm
-#if GLM_COMPILER & GLM_COMPILER_CLANG
-#	define GLM_HAS_INITIALIZER_LISTS __has_feature(cxx_generalized_initializers)
-#elif GLM_LANG & GLM_LANG_CXX11_FLAG
-#	define GLM_HAS_INITIALIZER_LISTS 1
-#else
-#	define GLM_HAS_INITIALIZER_LISTS ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (\
-		((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC15)) || \
-		((GLM_COMPILER & GLM_COMPILER_INTEL) && (GLM_COMPILER >= GLM_COMPILER_INTEL14)) || \
-		((GLM_COMPILER & GLM_COMPILER_CUDA)) || \
-		((GLM_COMPILER & GLM_COMPILER_HIP))))
-#endif
-
-// N2544 Unrestricted unions http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2544.pdf
-#if GLM_COMPILER & GLM_COMPILER_CLANG
-#	define GLM_HAS_UNRESTRICTED_UNIONS __has_feature(cxx_unrestricted_unions)
-#elif GLM_LANG & GLM_LANG_CXX11_FLAG
-#	define GLM_HAS_UNRESTRICTED_UNIONS 1
-#else
-#	define GLM_HAS_UNRESTRICTED_UNIONS (GLM_LANG & GLM_LANG_CXX0X_FLAG) && (\
-		(GLM_COMPILER & GLM_COMPILER_VC) || \
-		((GLM_COMPILER & GLM_COMPILER_CUDA)) || \
-		((GLM_COMPILER & GLM_COMPILER_HIP)))
-#endif
-
-// N2346
-#if GLM_COMPILER & GLM_COMPILER_CLANG
-#	define GLM_HAS_DEFAULTED_FUNCTIONS __has_feature(cxx_defaulted_functions)
-#elif GLM_LANG & GLM_LANG_CXX11_FLAG
-#	define GLM_HAS_DEFAULTED_FUNCTIONS 1
-#else
-#	define GLM_HAS_DEFAULTED_FUNCTIONS ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (\
-		((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC12)) || \
-		((GLM_COMPILER & GLM_COMPILER_INTEL)) || \
-		(GLM_COMPILER & GLM_COMPILER_CUDA)) || \
-		((GLM_COMPILER & GLM_COMPILER_HIP)))
-#endif
-
-// N2118
-#if GLM_COMPILER & GLM_COMPILER_CLANG
-#	define GLM_HAS_RVALUE_REFERENCES __has_feature(cxx_rvalue_references)
-#elif GLM_LANG & GLM_LANG_CXX11_FLAG
-#	define GLM_HAS_RVALUE_REFERENCES 1
-#else
-#	define GLM_HAS_RVALUE_REFERENCES ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (\
-		((GLM_COMPILER & GLM_COMPILER_VC)) || \
-		((GLM_COMPILER & GLM_COMPILER_CUDA)) || \
-		((GLM_COMPILER & GLM_COMPILER_HIP))))
-#endif
-
-// N2437 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2437.pdf
-#if GLM_COMPILER & GLM_COMPILER_CLANG
-#	define GLM_HAS_EXPLICIT_CONVERSION_OPERATORS __has_feature(cxx_explicit_conversions)
-#elif GLM_LANG & GLM_LANG_CXX11_FLAG
-#	define GLM_HAS_EXPLICIT_CONVERSION_OPERATORS 1
-#else
-#	define GLM_HAS_EXPLICIT_CONVERSION_OPERATORS ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (\
-		((GLM_COMPILER & GLM_COMPILER_INTEL) && (GLM_COMPILER >= GLM_COMPILER_INTEL14)) || \
-		((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC12)) || \
-		((GLM_COMPILER & GLM_COMPILER_CUDA)) || \
-		((GLM_COMPILER & GLM_COMPILER_HIP))))
-#endif
-
-// N2258 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2258.pdf
-#if GLM_COMPILER & GLM_COMPILER_CLANG
-#	define GLM_HAS_TEMPLATE_ALIASES __has_feature(cxx_alias_templates)
-#elif GLM_LANG & GLM_LANG_CXX11_FLAG
-#	define GLM_HAS_TEMPLATE_ALIASES 1
-#else
-#	define GLM_HAS_TEMPLATE_ALIASES ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (\
-		((GLM_COMPILER & GLM_COMPILER_INTEL)) || \
-		((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC12)) || \
-		((GLM_COMPILER & GLM_COMPILER_CUDA)) || \
-		((GLM_COMPILER & GLM_COMPILER_HIP))))
-#endif
-
-// N2930 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2009/n2930.html
-#if GLM_COMPILER & GLM_COMPILER_CLANG
-#	define GLM_HAS_RANGE_FOR __has_feature(cxx_range_for)
-#elif GLM_LANG & GLM_LANG_CXX11_FLAG
-#	define GLM_HAS_RANGE_FOR 1
-#else
-#	define GLM_HAS_RANGE_FOR ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (\
-		((GLM_COMPILER & GLM_COMPILER_INTEL)) || \
-		((GLM_COMPILER & GLM_COMPILER_VC)) || \
-		((GLM_COMPILER & GLM_COMPILER_CUDA)) || \
-		((GLM_COMPILER & GLM_COMPILER_HIP))))
-#endif
-
-// N2341 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2341.pdf
-#if GLM_COMPILER & GLM_COMPILER_CLANG
-#	define GLM_HAS_ALIGNOF __has_feature(cxx_alignas)
-#elif GLM_LANG & GLM_LANG_CXX11_FLAG
-#	define GLM_HAS_ALIGNOF 1
-#else
-#	define GLM_HAS_ALIGNOF ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (\
-		((GLM_COMPILER & GLM_COMPILER_INTEL) && (GLM_COMPILER >= GLM_COMPILER_INTEL15)) || \
-		((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC14)) || \
-		((GLM_COMPILER & GLM_COMPILER_CUDA)) || \
-		((GLM_COMPILER & GLM_COMPILER_HIP))))
-#endif
-
 // N2235 Generalized Constant Expressions http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2235.pdf
 // N3652 Extended Constant Expressions http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3652.html
+/*
 #if (GLM_ARCH & GLM_ARCH_SIMD_BIT) // Compiler SIMD intrinsics don't support constexpr...
 #	define GLM_HAS_CONSTEXPR 0
 #elif (GLM_COMPILER & GLM_COMPILER_CLANG)
@@ -307,62 +160,11 @@
 #endif
 
 #if GLM_HAS_CONSTEXPR
-#	define GLM_CONSTEXPR constexpr
+#	define constexpr constexpr
 #else
-#	define GLM_CONSTEXPR
-#endif
-
-//
-#if GLM_HAS_CONSTEXPR
-# if (GLM_COMPILER & GLM_COMPILER_CLANG)
-#	if __has_feature(cxx_if_constexpr)
-#		define GLM_HAS_IF_CONSTEXPR 1
-#	else
-# 		define GLM_HAS_IF_CONSTEXPR 0
-#	endif
-# elif (GLM_LANG & GLM_LANG_CXX17_FLAG)
-# 	define GLM_HAS_IF_CONSTEXPR 1
-# else
-# 	define GLM_HAS_IF_CONSTEXPR 0
-# endif
-#else
-#	define GLM_HAS_IF_CONSTEXPR 0
-#endif
-
-#if GLM_HAS_IF_CONSTEXPR
-# 	define GLM_IF_CONSTEXPR if constexpr
-#else
-#	define GLM_IF_CONSTEXPR if
-#endif
-
-// [nodiscard]
-#if GLM_LANG & GLM_LANG_CXX17_FLAG
-#	define GLM_NODISCARD [[nodiscard]]
-#else
-#	define GLM_NODISCARD
-#endif
-
-//
-#if GLM_LANG & GLM_LANG_CXX11_FLAG
-#	define GLM_HAS_ASSIGNABLE 1
-#else
-#	define GLM_HAS_ASSIGNABLE ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (\
-		((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC15)) || \
-		((GLM_COMPILER & GLM_COMPILER_GCC) && (GLM_COMPILER >= GLM_COMPILER_GCC49))))
-#endif
-
-//
-#define GLM_HAS_TRIVIAL_QUERIES 0
-
-//
-#if GLM_LANG & GLM_LANG_CXX11_FLAG
-#	define GLM_HAS_MAKE_SIGNED 1
-#else
-#	define GLM_HAS_MAKE_SIGNED ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (\
-		((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC12)) || \
-		((GLM_COMPILER & GLM_COMPILER_CUDA)) || \
-		((GLM_COMPILER & GLM_COMPILER_HIP))))
+#	define constexpr
 #endif
+*/
 
 //
 #if defined(GLM_FORCE_INTRINSICS)
@@ -373,23 +175,11 @@
 #	define GLM_HAS_BITSCAN_WINDOWS 0
 #endif
 
-#if GLM_LANG & GLM_LANG_CXX11_FLAG
-#	define GLM_HAS_NOEXCEPT 1
-#else
-#	define GLM_HAS_NOEXCEPT 0
-#endif
-
-#if GLM_HAS_NOEXCEPT
-#	define GLM_NOEXCEPT noexcept
-#else
-#	define GLM_NOEXCEPT
-#endif
-
 ///////////////////////////////////////////////////////////////////////////////////
 // OpenMP
 #ifdef _OPENMP
 #	if GLM_COMPILER & GLM_COMPILER_GCC
-#		if GLM_COMPILER >= GLM_COMPILER_GCC61
+#		if GLM_COMPILER >= GLM_COMPILER_GCC15
 #			define GLM_HAS_OPENMP 45
 #		elif GLM_COMPILER >= GLM_COMPILER_GCC49
 #			define GLM_HAS_OPENMP 40
@@ -399,7 +189,11 @@
 #			define GLM_HAS_OPENMP 0
 #		endif
 #	elif GLM_COMPILER & GLM_COMPILER_CLANG
-#		if GLM_COMPILER >= GLM_COMPILER_CLANG38
+#		if GLM_COMPILER >= GLM_COMPILER_CLANG11
+#			define GLM_HAS_OPENMP 50
+#		elif GLM_COMPILER >= GLM_COMPILER_CLANG39
+#			define GLM_HAS_OPENMP 45
+#		elif GLM_COMPILER >= GLM_COMPILER_CLANG38
 #			define GLM_HAS_OPENMP 31
 #		else
 #			define GLM_HAS_OPENMP 0
@@ -408,6 +202,8 @@
 #		define GLM_HAS_OPENMP 20
 #	elif GLM_COMPILER & GLM_COMPILER_INTEL
 #		if GLM_COMPILER >= GLM_COMPILER_INTEL16
+#			define GLM_HAS_OPENMP 45
+#		elif GLM_COMPILER >= GLM_COMPILER_INTEL15
 #			define GLM_HAS_OPENMP 40
 #		else
 #			define GLM_HAS_OPENMP 0
@@ -419,32 +215,6 @@
 #	define GLM_HAS_OPENMP 0
 #endif
 
-///////////////////////////////////////////////////////////////////////////////////
-// nullptr
-
-#if GLM_LANG & GLM_LANG_CXX0X_FLAG
-#	define GLM_CONFIG_NULLPTR GLM_ENABLE
-#else
-#	define GLM_CONFIG_NULLPTR GLM_DISABLE
-#endif
-
-#if GLM_CONFIG_NULLPTR == GLM_ENABLE
-#	define GLM_NULLPTR nullptr
-#else
-#	define GLM_NULLPTR 0
-#endif
-
-///////////////////////////////////////////////////////////////////////////////////
-// Static assert
-
-#if GLM_HAS_STATIC_ASSERT
-#	define GLM_STATIC_ASSERT(x, message) static_assert(x, message)
-#elif GLM_COMPILER & GLM_COMPILER_VC
-#	define GLM_STATIC_ASSERT(x, message) typedef char __CASSERT__##__LINE__[(x) ? 1 : -1]
-#else
-#	define GLM_STATIC_ASSERT(x, message) assert(x)
-#endif//GLM_LANG
-
 ///////////////////////////////////////////////////////////////////////////////////
 // Qualifiers
 
@@ -489,9 +259,9 @@
 #	define GLM_NEVER_INLINE
 #endif//defined(GLM_FORCE_INLINE)
 
-#define GLM_CTOR_DECL GLM_CUDA_FUNC_DECL GLM_CONSTEXPR
+#define GLM_CTOR_DECL GLM_CUDA_FUNC_DECL constexpr
 #define GLM_FUNC_DISCARD_DECL GLM_CUDA_FUNC_DECL
-#define GLM_FUNC_DECL GLM_NODISCARD GLM_CUDA_FUNC_DECL
+#define GLM_FUNC_DECL [[nodiscard]] GLM_CUDA_FUNC_DECL
 #define GLM_FUNC_QUALIFIER GLM_CUDA_FUNC_DEF GLM_INLINE
 
 // Do not use CUDA function qualifiers on CUDA compiler when functions are made default
@@ -591,11 +361,7 @@
 #	define GLM_DEPRECATED __declspec(deprecated)
 #	define GLM_ALIGNED_TYPEDEF(type, name, alignment) typedef __declspec(align(alignment)) type name
 #elif GLM_COMPILER & (GLM_COMPILER_GCC | GLM_COMPILER_CLANG | GLM_COMPILER_INTEL)
-#	if GLM_LANG & GLM_LANG_CXX14_FLAG
-#		define GLM_DEPRECATED [[deprecated]]
-#	else
-#		define GLM_DEPRECATED __attribute__((__deprecated__))
-#	endif
+#	define GLM_DEPRECATED __attribute__((__deprecated__))
 #	define GLM_ALIGNED_TYPEDEF(type, name, alignment) typedef type name __attribute__((aligned(alignment)))
 #elif (GLM_COMPILER & GLM_COMPILER_CUDA) || (GLM_COMPILER & GLM_COMPILER_HIP)
 #	define GLM_DEPRECATED
@@ -639,31 +405,6 @@ namespace glm
 #	endif
 }//namespace glm
 
-///////////////////////////////////////////////////////////////////////////////////
-// constexpr
-
-#if GLM_HAS_CONSTEXPR
-#	define GLM_CONFIG_CONSTEXP GLM_ENABLE
-
-	namespace glm
-	{
-		template<typename T, std::size_t N>
-		constexpr std::size_t countof(T const (&)[N])
-		{
-			return N;
-		}
-	}//namespace glm
-#	define GLM_COUNTOF(arr) glm::countof(arr)
-#elif defined(_MSC_VER)
-#	define GLM_CONFIG_CONSTEXP GLM_DISABLE
-
-#	define GLM_COUNTOF(arr) _countof(arr)
-#else
-#	define GLM_CONFIG_CONSTEXP GLM_DISABLE
-
-#	define GLM_COUNTOF(arr) sizeof(arr) / sizeof(arr[0])
-#endif
-
 ///////////////////////////////////////////////////////////////////////////////////
 // uint
 
@@ -695,42 +436,20 @@ namespace detail
 ///////////////////////////////////////////////////////////////////////////////////
 // 64-bit int
 
-#if GLM_HAS_EXTENDED_INTEGER_TYPE
-#	include <cstdint>
-#endif
+#include <cstdint>
 
 namespace glm{
 namespace detail
 {
-#	if GLM_HAS_EXTENDED_INTEGER_TYPE
-		typedef std::uint64_t						uint64;
-		typedef std::int64_t						int64;
-#	elif (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)) // C99 detected, 64 bit types available
-		typedef uint64_t							uint64;
-		typedef int64_t								int64;
-#	elif GLM_COMPILER & GLM_COMPILER_VC
-		typedef unsigned __int64					uint64;
-		typedef signed __int64						int64;
-#	elif GLM_COMPILER & GLM_COMPILER_GCC
-#		pragma GCC diagnostic ignored "-Wlong-long"
-		__extension__ typedef unsigned long long	uint64;
-		__extension__ typedef signed long long		int64;
-#	elif (GLM_COMPILER & GLM_COMPILER_CLANG)
-#		pragma clang diagnostic ignored "-Wc++11-long-long"
-		typedef unsigned long long					uint64;
-		typedef signed long long					int64;
-#	else//unknown compiler
-		typedef unsigned long long					uint64;
-		typedef signed long long					int64;
-#	endif
+	typedef std::uint64_t						uint64;
+	typedef std::int64_t						int64;
 }//namespace detail
 }//namespace glm
 
 ///////////////////////////////////////////////////////////////////////////////////
 // make_unsigned
 
-#if GLM_HAS_MAKE_SIGNED
-#	include <type_traits>
+#include <type_traits>
 
 namespace glm{
 namespace detail
@@ -739,82 +458,6 @@ namespace detail
 }//namespace detail
 }//namespace glm
 
-#else
-
-namespace glm{
-namespace detail
-{
-	template<typename genType>
-	struct make_unsigned
-	{};
-
-	template<>
-	struct make_unsigned<char>
-	{
-		typedef unsigned char type;
-	};
-
-	template<>
-	struct make_unsigned<signed char>
-	{
-		typedef unsigned char type;
-	};
-
-	template<>
-	struct make_unsigned<short>
-	{
-		typedef unsigned short type;
-	};
-
-	template<>
-	struct make_unsigned<int>
-	{
-		typedef unsigned int type;
-	};
-
-	template<>
-	struct make_unsigned<long>
-	{
-		typedef unsigned long type;
-	};
-
-	template<>
-	struct make_unsigned<int64>
-	{
-		typedef uint64 type;
-	};
-
-	template<>
-	struct make_unsigned<unsigned char>
-	{
-		typedef unsigned char type;
-	};
-
-	template<>
-	struct make_unsigned<unsigned short>
-	{
-		typedef unsigned short type;
-	};
-
-	template<>
-	struct make_unsigned<unsigned int>
-	{
-		typedef unsigned int type;
-	};
-
-	template<>
-	struct make_unsigned<unsigned long>
-	{
-		typedef unsigned long type;
-	};
-
-	template<>
-	struct make_unsigned<uint64>
-	{
-		typedef uint64 type;
-	};
-}//namespace detail
-}//namespace glm
 #endif
 
 ///////////////////////////////////////////////////////////////////////////////////
@@ -853,17 +496,9 @@ namespace detail
 ///////////////////////////////////////////////////////////////////////////////////
 // Configure the use of defaulted function
 
-#if GLM_HAS_DEFAULTED_FUNCTIONS
-#	define GLM_CONFIG_DEFAULTED_FUNCTIONS GLM_ENABLE
-#	define GLM_DEFAULT = default
-#else
-#	define GLM_CONFIG_DEFAULTED_FUNCTIONS GLM_DISABLE
-#	define GLM_DEFAULT
-#endif
-
-#if GLM_CONFIG_CTOR_INIT == GLM_CTOR_INIT_DISABLE && GLM_CONFIG_DEFAULTED_FUNCTIONS == GLM_ENABLE
+#if GLM_CONFIG_CTOR_INIT == GLM_CTOR_INIT_DISABLE
 #	define GLM_CONFIG_DEFAULTED_DEFAULT_CTOR GLM_ENABLE
-#	define GLM_DEFAULT_CTOR GLM_DEFAULT
+#	define GLM_DEFAULT_CTOR = default
 #else
 #	define GLM_CONFIG_DEFAULTED_DEFAULT_CTOR GLM_DISABLE
 #	define GLM_DEFAULT_CTOR
@@ -963,11 +598,11 @@ namespace detail
 
 ///////////////////////////////////////////////////////////////////////////////////
 // Check inclusions of different versions of GLM
-
+/*
 #elif ((GLM_SETUP_INCLUDED != GLM_VERSION) && !defined(GLM_FORCE_IGNORE_VERSION))
 #	error "GLM error: A different version of GLM is already included. Define GLM_FORCE_IGNORE_VERSION before including GLM headers to ignore this error."
 #elif GLM_SETUP_INCLUDED == GLM_VERSION
-
+*/
 ///////////////////////////////////////////////////////////////////////////////////
 // Messages
 

+ 10 - 10
glm/detail/type_float.hpp

@@ -21,18 +21,18 @@ namespace detail
 		typedef int int_type;
 		typedef float float_type;
 
-		GLM_CONSTEXPR float_t(float_type Num = 0.0f) : f(Num) {}
+		constexpr float_t(float_type Num = 0.0f) : f(Num) {}
 
-		GLM_CONSTEXPR float_t& operator=(float_t const& x)
+		constexpr float_t& operator=(float_t const& x)
 		{
 			f = x.f;
 			return *this;
 		}
 
 		// Portable extraction of components.
-		GLM_CONSTEXPR bool negative() const { return i < 0; }
-		GLM_CONSTEXPR int_type mantissa() const { return i & ((1 << 23) - 1); }
-		GLM_CONSTEXPR int_type exponent() const { return (i >> 23) & ((1 << 8) - 1); }
+		constexpr bool negative() const { return i < 0; }
+		constexpr int_type mantissa() const { return i & ((1 << 23) - 1); }
+		constexpr int_type exponent() const { return (i >> 23) & ((1 << 8) - 1); }
 
 		int_type i;
 		float_type f;
@@ -44,18 +44,18 @@ namespace detail
 		typedef detail::int64 int_type;
 		typedef double float_type;
 
-		GLM_CONSTEXPR float_t(float_type Num = static_cast<float_type>(0)) : f(Num) {}
+		constexpr float_t(float_type Num = static_cast<float_type>(0)) : f(Num) {}
 
-		GLM_CONSTEXPR float_t& operator=(float_t const& x)
+		constexpr float_t& operator=(float_t const& x)
 		{
 			f = x.f;
 			return *this;
 		}
 
 		// Portable extraction of components.
-		GLM_CONSTEXPR bool negative() const { return i < 0; }
-		GLM_CONSTEXPR int_type mantissa() const { return i & ((int_type(1) << 52) - 1); }
-		GLM_CONSTEXPR int_type exponent() const { return (i >> 52) & ((int_type(1) << 11) - 1); }
+		constexpr bool negative() const { return i < 0; }
+		constexpr int_type mantissa() const { return i & ((int_type(1) << 52) - 1); }
+		constexpr int_type exponent() const { return (i >> 52) & ((int_type(1) << 11) - 1); }
 
 		int_type i;
 		float_type f;

+ 39 - 39
glm/detail/type_mat2x2.hpp

@@ -25,14 +25,14 @@ namespace glm
 		// -- Accesses --
 
 		typedef length_t length_type;
-		GLM_FUNC_DECL static GLM_CONSTEXPR length_type length() { return 2; }
+		GLM_FUNC_DECL static constexpr length_type length() { return 2; }
 
-		GLM_FUNC_DECL GLM_CONSTEXPR col_type & operator[](length_type i) GLM_NOEXCEPT;
-		GLM_FUNC_DECL GLM_CONSTEXPR col_type const& operator[](length_type i) const GLM_NOEXCEPT;
+		GLM_FUNC_DECL constexpr col_type & operator[](length_type i) noexcept;
+		GLM_FUNC_DECL constexpr col_type const& operator[](length_type i) const noexcept;
 
 		// -- Constructors --
 
-		GLM_DEFAULTED_DEFAULT_CTOR_DECL GLM_CONSTEXPR mat() GLM_DEFAULT_CTOR;
+		GLM_DEFAULTED_DEFAULT_CTOR_DECL constexpr mat() GLM_DEFAULT_CTOR;
 		template<qualifier P>
 		GLM_CTOR_DECL mat(mat<2, 2, T, P> const& m);
 
@@ -73,103 +73,103 @@ namespace glm
 		// -- Unary arithmetic operators --
 
 		template<typename U>
-		GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat<2, 2, T, Q> & operator=(mat<2, 2, U, Q> const& m);
+		GLM_FUNC_DISCARD_DECL constexpr mat<2, 2, T, Q> & operator=(mat<2, 2, U, Q> const& m);
 		template<typename U>
-		GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat<2, 2, T, Q> & operator+=(U s);
+		GLM_FUNC_DISCARD_DECL constexpr mat<2, 2, T, Q> & operator+=(U s);
 		template<typename U>
-		GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat<2, 2, T, Q> & operator+=(mat<2, 2, U, Q> const& m);
+		GLM_FUNC_DISCARD_DECL constexpr mat<2, 2, T, Q> & operator+=(mat<2, 2, U, Q> const& m);
 		template<typename U>
-		GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat<2, 2, T, Q> & operator-=(U s);
+		GLM_FUNC_DISCARD_DECL constexpr mat<2, 2, T, Q> & operator-=(U s);
 		template<typename U>
-		GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat<2, 2, T, Q> & operator-=(mat<2, 2, U, Q> const& m);
+		GLM_FUNC_DISCARD_DECL constexpr mat<2, 2, T, Q> & operator-=(mat<2, 2, U, Q> const& m);
 		template<typename U>
-		GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat<2, 2, T, Q> & operator*=(U s);
+		GLM_FUNC_DISCARD_DECL constexpr mat<2, 2, T, Q> & operator*=(U s);
 		template<typename U>
-		GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat<2, 2, T, Q> & operator*=(mat<2, 2, U, Q> const& m);
+		GLM_FUNC_DISCARD_DECL constexpr mat<2, 2, T, Q> & operator*=(mat<2, 2, U, Q> const& m);
 		template<typename U>
-		GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat<2, 2, T, Q> & operator/=(U s);
+		GLM_FUNC_DISCARD_DECL constexpr mat<2, 2, T, Q> & operator/=(U s);
 		template<typename U>
-		GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat<2, 2, T, Q> & operator/=(mat<2, 2, U, Q> const& m);
+		GLM_FUNC_DISCARD_DECL constexpr mat<2, 2, T, Q> & operator/=(mat<2, 2, U, Q> const& m);
 
 		// -- Increment and decrement operators --
 
-		GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat<2, 2, T, Q> & operator++ ();
-		GLM_FUNC_DISCARD_DECL GLM_CONSTEXPR mat<2, 2, T, Q> & operator-- ();
-		GLM_FUNC_DECL GLM_CONSTEXPR mat<2, 2, T, Q> operator++(int);
-		GLM_FUNC_DECL GLM_CONSTEXPR mat<2, 2, T, Q> operator--(int);
+		GLM_FUNC_DISCARD_DECL constexpr mat<2, 2, T, Q> & operator++ ();
+		GLM_FUNC_DISCARD_DECL constexpr mat<2, 2, T, Q> & operator-- ();
+		GLM_FUNC_DECL constexpr mat<2, 2, T, Q> operator++(int);
+		GLM_FUNC_DECL constexpr mat<2, 2, T, Q> operator--(int);
 	};
 
 	// -- Unary operators --
 
 	template<typename T, qualifier Q>
-	GLM_FUNC_DECL GLM_CONSTEXPR mat<2, 2, T, Q> operator+(mat<2, 2, T, Q> const& m);
+	GLM_FUNC_DECL constexpr mat<2, 2, T, Q> operator+(mat<2, 2, T, Q> const& m);
 
 	template<typename T, qualifier Q>
-	GLM_FUNC_DECL GLM_CONSTEXPR mat<2, 2, T, Q> operator-(mat<2, 2, T, Q> const& m);
+	GLM_FUNC_DECL constexpr mat<2, 2, T, Q> operator-(mat<2, 2, T, Q> const& m);
 
 	// -- Binary operators --
 
 	template<typename T, qualifier Q>
-	GLM_FUNC_DECL GLM_CONSTEXPR mat<2, 2, T, Q> operator+(mat<2, 2, T, Q> const& m, T scalar);
+	GLM_FUNC_DECL constexpr mat<2, 2, T, Q> operator+(mat<2, 2, T, Q> const& m, T scalar);
 
 	template<typename T, qualifier Q>
-	GLM_FUNC_DECL GLM_CONSTEXPR mat<2, 2, T, Q> operator+(T scalar, mat<2, 2, T, Q> const& m);
+	GLM_FUNC_DECL constexpr mat<2, 2, T, Q> operator+(T scalar, mat<2, 2, T, Q> const& m);
 
 	template<typename T, qualifier Q>
-	GLM_FUNC_DECL GLM_CONSTEXPR mat<2, 2, T, Q> operator+(mat<2, 2, T, Q> const& m1, mat<2, 2, T, Q> const& m2);
+	GLM_FUNC_DECL constexpr mat<2, 2, T, Q> operator+(mat<2, 2, T, Q> const& m1, mat<2, 2, T, Q> const& m2);
 
 	template<typename T, qualifier Q>
-	GLM_FUNC_DECL GLM_CONSTEXPR mat<2, 2, T, Q> operator-(mat<2, 2, T, Q> const& m, T scalar);
+	GLM_FUNC_DECL constexpr mat<2, 2, T, Q> operator-(mat<2, 2, T, Q> const& m, T scalar);
 
 	template<typename T, qualifier Q>
-	GLM_FUNC_DECL GLM_CONSTEXPR mat<2, 2, T, Q> operator-(T scalar, mat<2, 2, T, Q> const& m);
+	GLM_FUNC_DECL constexpr mat<2, 2, T, Q> operator-(T scalar, mat<2, 2, T, Q> const& m);
 
 	template<typename T, qualifier Q>
-	GLM_FUNC_DECL GLM_CONSTEXPR mat<2, 2, T, Q> operator-(mat<2, 2, T, Q> const& m1, mat<2, 2, T, Q> const& m2);
+	GLM_FUNC_DECL constexpr mat<2, 2, T, Q> operator-(mat<2, 2, T, Q> const& m1, mat<2, 2, T, Q> const& m2);
 
 	template<typename T, qualifier Q>
-	GLM_FUNC_DECL GLM_CONSTEXPR mat<2, 2, T, Q> operator*(mat<2, 2, T, Q> const& m, T scalar);
+	GLM_FUNC_DECL constexpr mat<2, 2, T, Q> operator*(mat<2, 2, T, Q> const& m, T scalar);
 
 	template<typename T, qualifier Q>
-	GLM_FUNC_DECL GLM_CONSTEXPR mat<2, 2, T, Q> operator*(T scalar, mat<2, 2, T, Q> const& m);
+	GLM_FUNC_DECL constexpr mat<2, 2, T, Q> operator*(T scalar, mat<2, 2, T, Q> const& m);
 
 	template<typename T, qualifier Q>
-	GLM_FUNC_DECL GLM_CONSTEXPR typename mat<2, 2, T, Q>::col_type operator*(mat<2, 2, T, Q> const& m, typename mat<2, 2, T, Q>::row_type const& v);
+	GLM_FUNC_DECL constexpr typename mat<2, 2, T, Q>::col_type operator*(mat<2, 2, T, Q> const& m, typename mat<2, 2, T, Q>::row_type const& v);
 
 	template<typename T, qualifier Q>
-	GLM_FUNC_DECL GLM_CONSTEXPR typename mat<2, 2, T, Q>::row_type operator*(typename mat<2, 2, T, Q>::col_type const& v, mat<2, 2, T, Q> const& m);
+	GLM_FUNC_DECL constexpr typename mat<2, 2, T, Q>::row_type operator*(typename mat<2, 2, T, Q>::col_type const& v, mat<2, 2, T, Q> const& m);
 
 	template<typename T, qualifier Q>
-	GLM_FUNC_DECL GLM_CONSTEXPR mat<2, 2, T, Q> operator*(mat<2, 2, T, Q> const& m1, mat<2, 2, T, Q> const& m2);
+	GLM_FUNC_DECL constexpr mat<2, 2, T, Q> operator*(mat<2, 2, T, Q> const& m1, mat<2, 2, T, Q> const& m2);
 
 	template<typename T, qualifier Q>
-	GLM_FUNC_DECL GLM_CONSTEXPR mat<3, 2, T, Q> operator*(mat<2, 2, T, Q> const& m1, mat<3, 2, T, Q> const& m2);
+	GLM_FUNC_DECL constexpr mat<3, 2, T, Q> operator*(mat<2, 2, T, Q> const& m1, mat<3, 2, T, Q> const& m2);
 
 	template<typename T, qualifier Q>
-	GLM_FUNC_DECL GLM_CONSTEXPR mat<4, 2, T, Q> operator*(mat<2, 2, T, Q> const& m1, mat<4, 2, T, Q> const& m2);
+	GLM_FUNC_DECL constexpr mat<4, 2, T, Q> operator*(mat<2, 2, T, Q> const& m1, mat<4, 2, T, Q> const& m2);
 
 	template<typename T, qualifier Q>
-	GLM_FUNC_DECL GLM_CONSTEXPR mat<2, 2, T, Q> operator/(mat<2, 2, T, Q> const& m, T scalar);
+	GLM_FUNC_DECL constexpr mat<2, 2, T, Q> operator/(mat<2, 2, T, Q> const& m, T scalar);
 
 	template<typename T, qualifier Q>
-	GLM_FUNC_DECL GLM_CONSTEXPR mat<2, 2, T, Q> operator/(T scalar, mat<2, 2, T, Q> const& m);
+	GLM_FUNC_DECL constexpr mat<2, 2, T, Q> operator/(T scalar, mat<2, 2, T, Q> const& m);
 
 	template<typename T, qualifier Q>
-	GLM_FUNC_DECL GLM_CONSTEXPR typename mat<2, 2, T, Q>::col_type operator/(mat<2, 2, T, Q> const& m, typename mat<2, 2, T, Q>::row_type const& v);
+	GLM_FUNC_DECL constexpr typename mat<2, 2, T, Q>::col_type operator/(mat<2, 2, T, Q> const& m, typename mat<2, 2, T, Q>::row_type const& v);
 
 	template<typename T, qualifier Q>
-	GLM_FUNC_DECL GLM_CONSTEXPR typename mat<2, 2, T, Q>::row_type operator/(typename mat<2, 2, T, Q>::col_type const& v, mat<2, 2, T, Q> const& m);
+	GLM_FUNC_DECL constexpr typename mat<2, 2, T, Q>::row_type operator/(typename mat<2, 2, T, Q>::col_type const& v, mat<2, 2, T, Q> const& m);
 
 	template<typename T, qualifier Q>
-	GLM_FUNC_DECL GLM_CONSTEXPR mat<2, 2, T, Q> operator/(mat<2, 2, T, Q> const& m1, mat<2, 2, T, Q> const& m2);
+	GLM_FUNC_DECL constexpr mat<2, 2, T, Q> operator/(mat<2, 2, T, Q> const& m1, mat<2, 2, T, Q> const& m2);
 
 	// -- Boolean operators --
 
 	template<typename T, qualifier Q>
-	GLM_FUNC_DECL GLM_CONSTEXPR bool operator==(mat<2, 2, T, Q> const& m1, mat<2, 2, T, Q> const& m2);
+	GLM_FUNC_DECL constexpr bool operator==(mat<2, 2, T, Q> const& m1, mat<2, 2, T, Q> const& m2);
 
 	template<typename T, qualifier Q>
-	GLM_FUNC_DECL GLM_CONSTEXPR bool operator!=(mat<2, 2, T, Q> const& m1, mat<2, 2, T, Q> const& m2);
+	GLM_FUNC_DECL constexpr bool operator!=(mat<2, 2, T, Q> const& m1, mat<2, 2, T, Q> const& m2);
 } //namespace glm
 
 #ifndef GLM_EXTERNAL_TEMPLATE

Some files were not shown because too many files changed in this diff