From a88bd16b7fc9a4aea000a4d2b86dd6d29aa8ec37 Mon Sep 17 00:00:00 2001 From: christophe Date: Sat, 18 Oct 2025 14:23:03 +0200 Subject: [PATCH] Require C++ 17 support to build with GLM --- CMakeLists.txt | 40 +-- doc/api/a00002.html | 26 +- doc/api/a00002_source.html | 42 +-- doc/api/a00014_source.html | 2 +- doc/api/a00020_source.html | 32 +- doc/api/a00023_source.html | 8 +- doc/api/a00026_source.html | 26 +- doc/api/a00029_source.html | 4 +- doc/api/a00032_source.html | 10 +- doc/api/a00035_source.html | 12 +- doc/api/a00038_source.html | 20 +- doc/api/a00044_source.html | 78 ++--- doc/api/a00047_source.html | 64 ++-- doc/api/a00050_source.html | 64 ++-- doc/api/a00053_source.html | 64 ++-- doc/api/a00056_source.html | 78 ++--- doc/api/a00059_source.html | 64 ++-- doc/api/a00062_source.html | 64 ++-- doc/api/a00065_source.html | 64 ++-- doc/api/a00068_source.html | 78 ++--- doc/api/a00071_source.html | 54 +-- doc/api/a00074_source.html | 138 ++++---- doc/api/a00077_source.html | 196 +++++------ doc/api/a00080_source.html | 202 +++++------ doc/api/a00083_source.html | 196 +++++------ doc/api/a00089_source.html | 18 +- doc/api/a00095_source.html | 6 +- doc/api/a00266.html | 20 +- doc/api/a00266_source.html | 26 +- doc/api/a00326.html | 6 +- doc/api/a00326_source.html | 12 +- doc/api/a00344.html | 6 +- doc/api/a00344_source.html | 12 +- doc/api/a00347_source.html | 2 +- doc/api/a00359.html | 6 +- doc/api/a00359_source.html | 12 +- doc/api/a00407.html | 8 +- doc/api/a00407_source.html | 12 +- doc/api/a00491.html | 18 +- doc/api/a00491_source.html | 36 +- doc/api/a00527.html | 4 +- doc/api/a00527_source.html | 8 +- doc/api/a00539.html | 56 +-- doc/api/a00539_source.html | 112 +++--- doc/api/a00542_source.html | 2 +- doc/api/a00602_source.html | 4 +- doc/api/a00608_source.html | 6 +- doc/api/a00623.html | 2 +- doc/api/a00623_source.html | 4 +- doc/api/a00653_source.html | 48 +-- doc/api/a00677_source.html | 2 +- doc/api/a00704_source.html | 2 +- doc/api/a00740_source.html | 24 +- doc/api/a00761_source.html | 2 +- doc/api/a00797.html | 4 +- doc/api/a00797_source.html | 8 +- doc/api/a00812.html | 56 +-- doc/api/a00836.html | 40 +-- doc/api/a00837.html | 8 +- doc/api/a00856.html | 12 +- doc/api/a00862.html | 12 +- doc/api/a00867.html | 6 +- doc/api/a00872.html | 16 +- doc/api/a00877.html | 16 +- doc/api/a00890.html | 32 +- doc/api/a00897.html | 8 +- doc/api/a00908.html | 112 +++--- doc/api/a00917.html | 16 +- doc/api/a00940.html | 4 +- doc/api/a00972.html | 16 +- doc/api/a00995.html | 8 +- doc/api/a00996.html | 36 +- doc/api/a01702.html | 4 +- doc/api/a01702_source.html | 8 +- doc/api/a01711.html | 8 +- doc/api/a01711_source.html | 16 +- doc/api/a01714.html | 8 +- doc/api/a01714_source.html | 14 +- doc/api/a01717.html | 8 +- doc/api/a01717_source.html | 14 +- doc/api/a01729.html | 16 +- doc/api/a01729_source.html | 22 +- glm/common.hpp | 30 +- glm/detail/_vectorize.hpp | 32 +- glm/detail/compute_common.hpp | 8 +- glm/detail/compute_vector_decl.hpp | 26 +- glm/detail/compute_vector_relational.hpp | 4 +- glm/detail/func_common.inl | 106 +++--- glm/detail/func_common_simd.inl | 16 +- glm/detail/func_exponential.inl | 8 +- glm/detail/func_geometric.inl | 44 +-- glm/detail/func_integer.inl | 22 +- glm/detail/func_matrix.inl | 10 +- glm/detail/func_matrix_simd.inl | 2 +- glm/detail/func_trigonometric.inl | 20 +- glm/detail/func_vector_relational.inl | 18 +- glm/detail/qualifier.hpp | 11 +- glm/detail/setup.hpp | 411 ++--------------------- glm/detail/type_float.hpp | 20 +- glm/detail/type_mat2x2.hpp | 78 ++--- glm/detail/type_mat2x2.inl | 283 +++++----------- glm/detail/type_mat2x3.hpp | 64 ++-- glm/detail/type_mat2x3.inl | 216 ++++-------- glm/detail/type_mat2x4.hpp | 64 ++-- glm/detail/type_mat2x4.inl | 237 +++++-------- glm/detail/type_mat3x2.hpp | 64 ++-- glm/detail/type_mat3x2.inl | 220 ++++-------- glm/detail/type_mat3x3.hpp | 78 ++--- glm/detail/type_mat3x3.inl | 234 ++++--------- glm/detail/type_mat3x4.hpp | 64 ++-- glm/detail/type_mat3x4.inl | 212 ++++-------- glm/detail/type_mat4x2.hpp | 64 ++-- glm/detail/type_mat4x2.inl | 236 ++++--------- glm/detail/type_mat4x3.hpp | 64 ++-- glm/detail/type_mat4x3.inl | 227 ++++--------- glm/detail/type_mat4x4.hpp | 78 ++--- glm/detail/type_mat4x4.inl | 302 ++++++----------- glm/detail/type_quat.hpp | 54 +-- glm/detail/type_quat.inl | 151 +++++---- glm/detail/type_vec1.hpp | 138 ++++---- glm/detail/type_vec1.inl | 158 ++++----- glm/detail/type_vec2.hpp | 196 +++++------ glm/detail/type_vec2.inl | 229 ++++++------- glm/detail/type_vec3.hpp | 202 +++++------ glm/detail/type_vec3.inl | 268 +++++++-------- glm/detail/type_vec4.hpp | 196 +++++------ glm/detail/type_vec4.inl | 301 ++++++++--------- glm/detail/type_vec_simd.inl | 62 ++-- glm/ext/_matrix_vectorize.hpp | 18 +- glm/ext/matrix_common.hpp | 2 +- glm/ext/matrix_common.inl | 4 +- glm/ext/matrix_relational.hpp | 20 +- glm/ext/matrix_relational.inl | 20 +- glm/ext/matrix_transform.hpp | 4 +- glm/ext/matrix_transform.inl | 4 +- glm/ext/quaternion_common.hpp | 6 +- glm/ext/quaternion_common.inl | 20 +- glm/ext/quaternion_geometric.hpp | 6 +- glm/ext/quaternion_geometric.inl | 8 +- glm/ext/scalar_common.inl | 18 +- glm/ext/scalar_constants.hpp | 6 +- glm/ext/scalar_constants.inl | 10 +- glm/ext/scalar_integer.inl | 18 +- glm/ext/scalar_reciprocal.inl | 24 +- glm/ext/scalar_relational.hpp | 8 +- glm/ext/scalar_relational.inl | 8 +- glm/ext/scalar_ulp.inl | 4 +- glm/ext/vector_common.hpp | 8 +- glm/ext/vector_common.inl | 36 +- glm/ext/vector_integer.inl | 20 +- glm/ext/vector_reciprocal.inl | 24 +- glm/ext/vector_relational.hpp | 16 +- glm/ext/vector_relational.inl | 16 +- glm/fwd.hpp | 12 - glm/geometric.hpp | 4 +- glm/gtc/bitfield.inl | 12 +- glm/gtc/constants.hpp | 56 +-- glm/gtc/constants.inl | 56 +-- glm/gtc/packing.inl | 16 +- glm/gtc/quaternion.hpp | 8 +- glm/gtc/quaternion.inl | 8 +- glm/gtc/ulp.inl | 4 +- glm/gtx/common.inl | 10 +- glm/gtx/component_wise.inl | 4 +- glm/gtx/dual_quaternion.hpp | 19 +- glm/gtx/dual_quaternion.inl | 48 +-- glm/gtx/exterior_product.hpp | 2 +- glm/gtx/exterior_product.inl | 6 +- glm/gtx/fast_square_root.inl | 6 +- glm/gtx/iteration.hpp | 48 +-- glm/gtx/iteration.inl | 48 +-- glm/gtx/norm.inl | 8 +- glm/gtx/quaternion.hpp | 8 +- glm/gtx/quaternion.inl | 8 +- glm/gtx/structured_bindings.hpp | 24 +- glm/gtx/structured_bindings.inl | 36 +- glm/gtx/vector_angle.inl | 8 +- glm/gtx/vector_query.inl | 10 +- glm/simd/platform.h | 1 + glm/trigonometric.hpp | 4 +- glm/vector_relational.hpp | 18 +- test/bug/bug_ms_vec_static.cpp | 2 +- test/core/core_func_common.cpp | 10 +- test/core/core_func_integer.cpp | 18 +- test/core/core_type_vec2.cpp | 2 +- test/core/core_type_vec3.cpp | 2 +- test/ext/ext_vec1.cpp | 2 +- test/gtc/gtc_type_aligned.cpp | 26 +- test/gtx/gtx_load.cpp | 4 +- test/gtx/gtx_pca.cpp | 4 +- 190 files changed, 3838 insertions(+), 5210 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 5e6ed427b..7cae022a7 100644 --- a/CMakeLists.txt +++ b/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) diff --git a/doc/api/a00002.html b/doc/api/a00002.html index 37fcdc9eb..71add987e 100644 --- a/doc/api/a00002.html +++ b/doc/api/a00002.html @@ -81,11 +81,11 @@ $(function() {

Functions

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. More...
  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 x if x >= 0; otherwise, it returns -x. More...
  template<length_t L, typename T , qualifier Q> @@ -93,15 +93,15 @@ Functions  Returns a value equal to the nearest integer that is greater than or equal to x. More...
  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. More...
  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. More...
  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)  Returns min(max(x, minVal), maxVal) for each component in x using the floating-point values minVal and maxVal. More...
  GLM_FUNC_DECL int floatBitsToInt (float v) @@ -158,31 +158,31 @@ Functions  Builds a floating-point number from x and the corresponding integral exponent of two in exp, returning: significand * exp(2, exponent) More...
  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. More...
  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. More...
  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 y if x < y; otherwise, it returns x. More...
  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. More...
  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. More...
  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 y < x; otherwise, it returns x. More...
  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)  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. More...
  template<length_t L, typename T , qualifier Q> @@ -202,7 +202,7 @@ Functions  Returns a value equal to the nearest integer to x. More...
  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 1.0 if x > 0, 0.0 if x == 0, or -1.0 if x < 0. More...
  template<typename genType > diff --git a/doc/api/a00002_source.html b/doc/api/a00002_source.html index aac0ef854..c289a12c9 100644 --- a/doc/api/a00002_source.html +++ b/doc/api/a00002_source.html @@ -80,13 +80,13 @@ $(function() {
21 {
24 
31  template<typename genType>
-
32  GLM_FUNC_DECL GLM_CONSTEXPR genType abs(genType x);
+
32  GLM_FUNC_DECL constexpr genType abs(genType x);
33 
42  template<length_t L, typename T, qualifier Q>
-
43  GLM_FUNC_DECL GLM_CONSTEXPR vec<L, T, Q> abs(vec<L, T, Q> const& x);
+
43  GLM_FUNC_DECL constexpr vec<L, T, Q> abs(vec<L, T, Q> const& x);
44 
53  template<length_t L, typename T, qualifier Q>
-
54  GLM_FUNC_DECL GLM_CONSTEXPR vec<L, T, Q> sign(vec<L, T, Q> const& x);
+
54  GLM_FUNC_DECL constexpr vec<L, T, Q> sign(vec<L, T, Q> const& x);
55 
64  template<length_t L, typename T, qualifier Q>
65  GLM_FUNC_DECL vec<L, T, Q> floor(vec<L, T, Q> const& x);
@@ -122,40 +122,40 @@ $(function() {
168  GLM_FUNC_DECL genType modf(genType x, genType& i);
169 
176  template<typename genType>
-
177  GLM_FUNC_DECL GLM_CONSTEXPR genType min(genType x, genType y);
+
177  GLM_FUNC_DECL constexpr genType min(genType x, genType y);
178 
187  template<length_t L, typename T, qualifier Q>
-
188  GLM_FUNC_DECL GLM_CONSTEXPR vec<L, T, Q> min(vec<L, T, Q> const& x, T y);
+
188  GLM_FUNC_DECL constexpr vec<L, T, Q> min(vec<L, T, Q> const& x, T y);
189 
198  template<length_t L, typename T, qualifier Q>
-
199  GLM_FUNC_DECL GLM_CONSTEXPR vec<L, T, Q> min(vec<L, T, Q> const& x, vec<L, T, Q> const& y);
+
199  GLM_FUNC_DECL constexpr vec<L, T, Q> min(vec<L, T, Q> const& x, vec<L, T, Q> const& y);
200 
207  template<typename genType>
-
208  GLM_FUNC_DECL GLM_CONSTEXPR genType max(genType x, genType y);
+
208  GLM_FUNC_DECL constexpr genType max(genType x, genType y);
209 
218  template<length_t L, typename T, qualifier Q>
-
219  GLM_FUNC_DECL GLM_CONSTEXPR vec<L, T, Q> max(vec<L, T, Q> const& x, T y);
+
219  GLM_FUNC_DECL constexpr vec<L, T, Q> max(vec<L, T, Q> const& x, T y);
220 
229  template<length_t L, typename T, qualifier Q>
-
230  GLM_FUNC_DECL GLM_CONSTEXPR vec<L, T, Q> max(vec<L, T, Q> const& x, vec<L, T, Q> const& y);
+
230  GLM_FUNC_DECL constexpr vec<L, T, Q> max(vec<L, T, Q> const& x, vec<L, T, Q> const& y);
231 
239  template<typename genType>
-
240  GLM_FUNC_DECL GLM_CONSTEXPR genType clamp(genType x, genType minVal, genType maxVal);
+
240  GLM_FUNC_DECL constexpr genType clamp(genType x, genType minVal, genType maxVal);
241 
251  template<length_t L, typename T, qualifier Q>
-
252  GLM_FUNC_DECL GLM_CONSTEXPR vec<L, T, Q> clamp(vec<L, T, Q> const& x, T minVal, T maxVal);
+
252  GLM_FUNC_DECL constexpr vec<L, T, Q> clamp(vec<L, T, Q> const& x, T minVal, T maxVal);
253 
263  template<length_t L, typename T, qualifier Q>
-
264  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);
+
264  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);
265 
308  template<typename genTypeT, typename genTypeU>
-
309  GLM_FUNC_DECL GLM_CONSTEXPR genTypeT mix(genTypeT x, genTypeT y, genTypeU a);
+
309  GLM_FUNC_DECL constexpr genTypeT mix(genTypeT x, genTypeT y, genTypeU a);
310 
311  template<length_t L, typename T, typename U, qualifier Q>
-
312  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);
+
312  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);
313 
314  template<length_t L, typename T, typename U, qualifier Q>
-
315  GLM_FUNC_DECL GLM_CONSTEXPR vec<L, T, Q> mix(vec<L, T, Q> const& x, vec<L, T, Q> const& y, U a);
+
315  GLM_FUNC_DECL constexpr vec<L, T, Q> mix(vec<L, T, Q> const& x, vec<L, T, Q> const& y, U a);
316 
321  template<typename genType>
322  GLM_FUNC_DECL genType step(genType edge, genType x);
@@ -222,22 +222,22 @@ $(function() {
539 
GLM_FUNC_DECL genType smoothstep(genType edge0, genType edge1, genType x)
Returns 0.0 if x <= edge0 and 1.0 if x >= edge1 and performs smooth Hermite interpolation between 0 a...
-
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, T, Q > abs(vec< L, T, Q > const &x)
Returns x if x >= 0; otherwise, it returns -x.
+
GLM_FUNC_DECL constexpr vec< L, T, Q > abs(vec< L, T, Q > const &x)
Returns x if x >= 0; otherwise, it returns -x.
GLM_FUNC_DECL genType ldexp(genType const &x, int const &exp)
Builds a floating-point number from x and the corresponding integral exponent of two in exp,...
-
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)
Returns min(max(x, minVal), maxVal) for each component in x using the floating-point values minVal an...
+
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)
Returns min(max(x, minVal), maxVal) for each component in x using the floating-point values minVal an...
GLM_FUNC_DECL vec< L, T, Q > step(vec< L, T, Q > const &edge, vec< L, T, Q > const &x)
Returns 0.0 if x < edge, otherwise it returns 1.0.
-
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, T, Q > min(vec< L, T, Q > const &x, vec< L, T, Q > const &y)
Returns y if y < x; otherwise, it returns x.
+
GLM_FUNC_DECL constexpr vec< L, T, Q > min(vec< L, T, Q > const &x, vec< L, T, Q > const &y)
Returns y if y < x; otherwise, it returns x.
GLM_FUNC_DECL genType frexp(genType x, int &exp)
Splits x into a floating-point significand in the range [0.5, 1.0) and an integral exponent of two,...
GLM_FUNC_DECL vec< L, T, Q > ceil(vec< L, T, Q > const &x)
Returns a value equal to the nearest integer that is greater than or equal to x.
-
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, T, Q > sign(vec< L, T, Q > const &x)
Returns 1.0 if x > 0, 0.0 if x == 0, or -1.0 if x < 0.
+
GLM_FUNC_DECL constexpr vec< L, T, Q > sign(vec< L, T, Q > const &x)
Returns 1.0 if x > 0, 0.0 if x == 0, or -1.0 if x < 0.
GLM_FUNC_DECL vec< L, T, Q > round(vec< L, T, Q > const &x)
Returns a value equal to the nearest integer to x.
GLM_FUNC_DECL vec< L, uint, Q > floatBitsToUint(vec< L, float, Q > const &v)
Returns a unsigned integer value representing the encoding of a floating-point value.
GLM_FUNC_DECL vec< L, T, Q > roundEven(vec< L, T, Q > const &x)
Returns a value equal to the nearest integer to x.
GLM_FUNC_DECL vec< L, bool, Q > isinf(vec< L, T, Q > const &x)
Returns true if x holds a positive infinity or negative infinity representation in the underlying imp...
-
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, T, Q > max(vec< L, T, Q > const &x, vec< L, T, Q > const &y)
Returns y if x < y; otherwise, it returns x.
+
GLM_FUNC_DECL constexpr vec< L, T, Q > max(vec< L, T, Q > const &x, vec< L, T, Q > const &y)
Returns y if x < y; otherwise, it returns x.
GLM_FUNC_DECL vec< L, T, Q > exp(vec< L, T, Q > const &v)
Returns the natural exponentiation of v, i.e., e^v.
GLM_FUNC_DECL genType modf(genType x, genType &i)
Returns the fractional part of x and sets i to the integer part (as a whole number floating point val...
-
GLM_FUNC_DECL GLM_CONSTEXPR genTypeT mix(genTypeT x, genTypeT y, genTypeU a)
If genTypeU is a floating scalar or vector: Returns x * (1.0 - a) + y * a, i.e., the linear blend of ...
+
GLM_FUNC_DECL constexpr genTypeT mix(genTypeT x, genTypeT y, genTypeU a)
If genTypeU is a floating scalar or vector: Returns x * (1.0 - a) + y * a, i.e., the linear blend of ...
GLM_FUNC_DECL vec< L, T, Q > floor(vec< L, T, Q > const &x)
Returns a value equal to the nearest integer that is less then or equal to x.
GLM_FUNC_DECL vec< L, bool, Q > isnan(vec< L, T, Q > const &x)
Returns true if x holds a NaN (not a number) representation in the underlying implementation's set of...
GLM_FUNC_DECL vec< L, T, Q > fract(vec< L, T, Q > const &x)
Return x - floor(x).
diff --git a/doc/api/a00014_source.html b/doc/api/a00014_source.html index b3c329df0..b7d9f2572 100644 --- a/doc/api/a00014_source.html +++ b/doc/api/a00014_source.html @@ -880,7 +880,7 @@ $(function() {
808  struct { detail::_swizzle<4, T, Q, 3,3,3,2> E3 ## E3 ## E3 ## E2; }; \
809  struct { detail::_swizzle<4, T, Q, 3,3,3,3> E3 ## E3 ## E3 ## E3; };
-
GLM_FUNC_DECL GLM_CONSTEXPR genType e()
Return e constant.
+
GLM_FUNC_DECL constexpr genType e()
Return e constant.