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.
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.
Updated 1aga expected computation results, based on external experiment based on precise / symbolic computation
Unified result comparison to always use `vectorEpsilonEqual` or `matrixEpsilonEqual`
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.
This is a new warning in clang which will be available in clang 10
onwards
Fixes
error: implicit conversion from 'const int' to 'float' may lose precision [-Werror,-Wimplicit-int-float-conversion]