From 768d6eb72309488a9aa541432bd0223d6913469d Mon Sep 17 00:00:00 2001 From: Christophe Riccio <christophe.riccio@unity3d.com> Date: Tue, 7 Aug 2018 01:29:06 +0200 Subject: [PATCH] Fixed warnings, added dmat4 operator tests --- test/core/core_type_mat4x4.cpp | 42 +++++++++++++++++++--------------- 1 file changed, 24 insertions(+), 18 deletions(-) diff --git a/test/core/core_type_mat4x4.cpp b/test/core/core_type_mat4x4.cpp index 9f0b7855..a056112c 100644 --- a/test/core/core_type_mat4x4.cpp +++ b/test/core/core_type_mat4x4.cpp @@ -9,33 +9,35 @@ template <typename matType, typename vecType> static int test_operators() { + typedef typename matType::value_type value_type; + + value_type const Epsilon = static_cast<value_type>(0.001); + int Error = 0; - - float const Epsilon = 0.001f; - - matType const M(2.0f); - matType const N(1.0f); - vecType const U(2.0f); + + matType const M(static_cast<value_type>(2.0f)); + matType const N(static_cast<value_type>(1.0f)); + vecType const U(static_cast<value_type>(2.0f)); { - matType const P = N * 2.0f; + matType const P = N * static_cast<value_type>(2.0f); Error += glm::all(glm::equal(P, M, Epsilon)) ? 0 : 1; - matType const Q = M / 2.0f; + matType const Q = M / static_cast<value_type>(2.0f); Error += glm::all(glm::equal(Q, N, Epsilon)) ? 0 : 1; } { vecType const V = M * U; - Error += glm::all(glm::equal(V, vecType(4.f), Epsilon)) ? 0 : 1; + Error += glm::all(glm::equal(V, vecType(static_cast<value_type>(4.f)), Epsilon)) ? 0 : 1; vecType const W = U / M; - Error += glm::all(glm::equal(W, vecType(1.f), Epsilon)) ? 0 : 1; + Error += glm::all(glm::equal(W, vecType(static_cast<value_type>(1.f)), Epsilon)) ? 0 : 1; } { matType const O = M * N; - Error += glm::all(glm::equal(O, matType(2.f), Epsilon)) ? 0 : 1; + Error += glm::all(glm::equal(O, matType(static_cast<value_type>(2.f)), Epsilon)) ? 0 : 1; } return Error; @@ -46,11 +48,11 @@ static int test_inverse() { typedef typename matType::value_type value_type; - value_type const Epsilon = 0.001f; + value_type const Epsilon = static_cast<value_type>(0.001); int Error = 0; - matType const Identity(1.0f); + matType const Identity(static_cast<value_type>(1.0f)); matType const Matrix( glm::vec4(0.6f, 0.2f, 0.3f, 0.4f), glm::vec4(0.2f, 0.7f, 0.5f, 0.3f), @@ -182,24 +184,28 @@ int main() int Error = 0; Error += test_member_alloc_bug(); - Error += test_ctr(); - + Error += test_operators<glm::mat4, glm::vec4>(); Error += test_operators<glm::lowp_mat4, glm::lowp_vec4>(); Error += test_operators<glm::mediump_mat4, glm::mediump_vec4>(); Error += test_operators<glm::highp_mat4, glm::highp_vec4>(); - + + Error += test_operators<glm::dmat4, glm::dvec4>(); + Error += test_operators<glm::lowp_dmat4, glm::lowp_dvec4>(); + Error += test_operators<glm::mediump_dmat4, glm::mediump_dvec4>(); + Error += test_operators<glm::highp_dmat4, glm::highp_dvec4>(); + Error += test_inverse<glm::mat4>(); Error += test_inverse<glm::lowp_mat4>(); Error += test_inverse<glm::mediump_mat4>(); Error += test_inverse<glm::highp_mat4>(); - + Error += test_inverse<glm::dmat4>(); Error += test_inverse<glm::lowp_dmat4>(); Error += test_inverse<glm::mediump_dmat4>(); Error += test_inverse<glm::highp_dmat4>(); - + Error += test_size(); Error += test_constexpr();