Commit Graph

1223 Commits

Author SHA1 Message Date
Christophe
04aaf80648 cmake: Fix static and dynamic library build using requeted C++ version and SIMD 2023-11-09 12:00:05 +01:00
Laurent Caumont
c2c1d15592 fix cmake version 2023-11-08 15:54:46 +01:00
Laurent Caumont
1b0f61e285 Add support for non aligned SIMD for vec4
It is used as default configuration for Visual Studio 64 bits compilation (needs Language Extension).
code changes:
- add new qualifiers:
  unaligned_simd_highp
  unaligned_simd_mediump
  unaligned_simd_lowp
- add use_simd and replace is_aligned
(code for ARM NEON is added but not tested)
2023-11-08 09:30:26 +01:00
Christophe
db0f79de12
Merge pull request #1137 from tetrisplusplus/fix_glm_gtx_matrix_query_isOrthogonal
fix: isOrthogonal for a zero matrix #1137
2023-08-18 15:04:55 +02:00
Christophe
99fe1c8f7d
Merge pull request #1142 from thp/recompose
gtx_matrix_decompose: Add glm::recompose() #1142
2023-08-18 14:55:41 +02:00
Mark Sheppard
3cb568cd37 Fix Clang 15 test build errors
Fixes for compiler errors when building the tests using Clang 15,
including:

    * Use explicit cast to silence Wimplicit-int-float-conversion
      warning for conversion of spin count in implementation of
      glm::slerp.
    * Use GLM_FORCE_MESSAGES instead of removed GLM_MESSAGES for
      messages in glm/gtx/hash.hpp, avoiding Wundef warning.
    * Encode en dash in URL for Gram-Schmit Process wikipedia page and
      replace similar en dashes in comments with regular dashes, to
      avoid Winvalid-utf8 warnings in glm/gtx/matrix_factorisation.inl.
    * Replace degree sign symbol with text "degrees" to avoid
      Winvalid-utf8 warnings in test/gtc/gtc_quaternion.cpp.
    * When using Clang, build tests with -Wno-float-equal to silence
      Wfloat-equal warning in implementation of glm::vec<L,T,Q>::equal.
    * For performance tests in test/gtx/gtx_fast_trigonometry.cpp, add
      statement explicitly casting result to void, to silence
      Wunused-but-set-variable warnings.
    * Add newline at end of test/gtx/gtx_hash.cpp to silence
      Wnewline-eof warning.
    * Rename namespace _1aga to agarose in test/gtx/gtx_pca.cpp to
      avoid Wreserved-identifier warning.
2023-03-31 17:39:53 +01:00
Thomas Perl
4afe953bff gtx_matrix_decompose: Add glm::recompose() 2023-02-26 18:33:47 +01:00
tetrisplusplus
2af53d5981 Added test_isOrthogonal for zero matrix 2023-01-23 21:05:35 +09:00
olga
97e09aa304 Fix round test
Depending on the developer environment, the output of round for o.5 or -0.5 may be different (according to the GLSL spec). So the test was too restrictive.
2023-01-13 14:08:46 +01:00
Thibault de Villèle [UM]
1c18fca789 Fix GLM_EXT_matrix_common : row to column-major
The previous patch made the incorrect assumption matrices were row-major
instead of column-major (got the two mixed up in my head).

This fixes this problem.

Also, this extends the test files to cover all matrix sizes (not types,
that would be redundant).
2022-10-26 11:17:23 +02:00
Christophe
7b9d310dbd
Merge pull request #1116 from Thibaulltt/master
GLM_EXT_matrix_common : add glm::mat<> support to glm::abs() #1116
2022-10-24 12:33:54 +02:00
Thibault de Villèle [UM]
48e1ff3fee Add glm::abs() function for the glm::mat<> class
This is added as part of the GLM_EXT_matrix_common extension, as this
function is not provided by the core GLSL specification (version 4.20).

The implementation of this glm::abs(mat<>) function mirrors the
glm::abs(vec<>) implementation. It should be functionning the same in
every way as the vec implementation.

Bonus points : AFAICT this allows to vectorize operations on compilers
that support optimization of these patterns, just like the functor1<>
struct in _vectorize.hpp for vectors.
2022-08-29 14:22:10 +02:00
Charles Huber
4b6284e39d GCC: Fix noexcept warnings on hash functions
Fix warnings on hash functions with GCC and -Wnoexcept:
* Add GLM_HAS_NOEXCEPT flag & GLM_NOEXCEPT #define to setup.hpp.
* Add GLM_NOEXCEPT to hash functions in hash.hpp.
* Add GLM_NOEXCEPT to matrix operator[] accessors.
* Add gtx_hash.cpp and a test to verify all hash overloads compile.
  Configure with -DCMAKE_CXX_FLAGS="-Werror -Wnoexcept" to test.
2022-08-24 15:21:11 -05:00
arikanli
0f318f63af feat: add shearing matrix operation on matrix_transfom 2022-01-20 21:27:30 +08:00
SGrottel
104c1214ee Avoid fp comparison of glm::sign return value by introducing a sign comparison helper function 2021-06-05 16:43:47 +02:00
SGrottel
5dbba35275 Changed test functions to explicitly define comparison epsilons.
Updated 1aga expected computation results, based on external experiment based on precise / symbolic computation
Unified result comparison to always use `vectorEpsilonEqual` or `matrixEpsilonEqual`
2021-06-05 16:30:40 +02:00
Christophe
dc9e555b4c
Merge pull request #1071 from sgrottel/gtx-pca
Implemented 'principle component analysis' utility in gtx #1071
2021-05-15 12:50:27 +02:00
SGrottel
d71dba9603 Introduced a second, less precise comparison epsilon for the tests for now. 2021-05-11 07:44:40 +02:00
SGrottel
18d9b97aa4 Further increased comparison float epsilon, and further test batch testEigenvectors also failes.
Added debug output to `testEigenvectors` in case the error persists.
2021-05-10 23:36:17 +02:00
SGrottel
593b7cc36b Increased float comparison epsilon to pass tests. 2021-05-10 22:49:57 +02:00
SGrottel
a0ccbcc63d Added further details on the comparison issue with covariance matrices on some VMs.
Also corrected some code style guide, and changed `nullptr` to `GLM_NULLPTR` for better compatibility.
Tests are now executed in blocks of related tests, and only inbetween blocks the tests will exit.
2021-05-10 21:32:01 +02:00
SGrottel
d0d7945141 Additional debug output to investigate why test-gtx_pca fails on some VMs on Travis.
Also, reworked the `#if` about CXX11; did not seem to work correctly.
2021-05-10 19:35:57 +02:00
SGrottel
c792a0a221 Disabled tests requiring random engine when CXX11 STL is not available.
Added missed `typename` keywords, and fixed variable initialization.
2021-05-10 17:48:35 +02:00
SGrottel
0f5b544d5d Corrected errors on Xcode C++98 pure related to language extensions accidentially used. 2021-05-10 16:38:38 +02:00
SGrottel
b8adc27808 Removed lambdas and initializer list ctors to be compatible with older cpp standards. 2021-05-10 15:45:42 +02:00
SGrottel
dd40903b74 Implemented 'principle component analysis' utility in gtx, including tests 2021-05-10 13:14:29 +02:00
Gaoyang Zhang
de7c83f1b6 Update test for GLM_FORCE_QUAT_DATA_XYZW
Signed-off-by: Gaoyang Zhang <gy@blurgy.xyz>
2021-05-06 14:12:41 +08:00
Gaoyang Zhang
43b81f49fc Revert "Fix test due to change of default constructor of qua"
This reverts commit e800c41c0a.
2021-05-06 14:12:16 +08:00
Gaoyang Zhang
e800c41c0a Fix test due to change of default constructor of qua
Signed-off-by: Gaoyang Zhang <gy@blurgy.xyz>
2021-05-03 00:32:17 +08:00
Sergey Krivohatskiy
b5d4757580 compilation fix
Signed-off-by: Sergey Krivohatskiy <s.krivohatskiy@gmail.com>
2021-03-23 15:22:16 +03:00
Sergey Krivohatskiy
e81a9c4baa compilation fixes
Signed-off-by: Sergey Krivohatskiy <s.krivohatskiy@gmail.com>
2021-03-23 15:03:38 +03:00
Sergey Krivohatskiy
2010c883d5 formatting fix
Signed-off-by: Sergey Krivohatskiy <s.krivohatskiy@gmail.com>
2021-03-23 14:33:11 +03:00
Sergey Krivohatskiy
2b766d5303 a few more tests for axisAngle
Signed-off-by: Sergey Krivohatskiy <s.krivohatskiy@gmail.com>
2021-03-23 14:30:52 +03:00
Sergey Krivohatskiy
57c3be0b9f Added axisAngle tests
Signed-off-by: Sergey Krivohatskiy <s.krivohatskiy@gmail.com>
2021-03-23 14:24:41 +03:00
nowakowsk
eabaf2338b Fixed unit tests for pre-C++11 compilers 2021-02-14 13:03:57 +01:00
nowakowsk
6437133cd2 fix: add missing transposition to adjugate for mat2 and mat4 2021-02-14 12:14:59 +01:00
christophe-lunarg
9dca1667fe Merge branch 'master' of github.com:g-truc/glm 2020-12-09 21:44:11 +01:00
christophe-lunarg
bec41ffe51 Fix AVX2 detection 2020-12-09 21:43:38 +01:00
Christophe
561fbbd94c Added *GLM_EXT_matrix_integer* with tests 2020-11-30 18:10:55 +01:00
Christophe
8693d06297 Fix glm::acsch tests 2020-11-26 11:14:54 +01:00
Christophe
c31b5aecaa fix reciprocal test 2020-11-24 12:19:30 +01:00
Christophe
da542d6354 fix reciprocal test 2020-11-24 12:12:33 +01:00
Christophe
2a8664fe50 Added and to *GLM_EXT_scalar_common* and *GLM_EXT_vector_common* 2020-11-23 17:02:32 +01:00
Christophe
2593c9c8b3 Added GLM_EXT_scalar_reciprocal and GLM_EXT_vector_reciprocal with tests 2020-11-23 15:33:36 +01:00
EZForever
2bb0fb3999 Add test case for glm::angle() sign bug introduced by #946 2020-10-28 17:26:53 +08:00
Christophe Riccio
2a65978348 Merge branch 'master' of https://github.com/g-truc/glm into matrix-int 2020-03-05 18:52:28 +01:00
Christophe
efbfecab63
Merge pull request #996 from Bargor/quaternion-slerp-multiple-spins
Quaternion slerp overload which interpolates with extra spins #996
2020-03-05 18:51:49 +01:00
Kontny Karol
31d01b525e Quaternion slerp overload which interpolates with extra spins
Signed-off-by: Karol Kontny <barolek@gmail.com>
2020-02-28 00:01:52 +01:00
Will Usher
a331771ea8 Merge remote-tracking branch 'upstream/master' 2020-02-16 14:07:18 -08:00
Christophe Riccio
a4bf8867c2 Added clamp, repeat, mirrorClamp and mirrorRepeat function to GLM_EXT_scalar_commond and GLM_EXT_vector_commond extensions with tests 2020-02-11 12:53:12 +01:00