diff --git a/test/core/CMakeLists.txt b/test/core/CMakeLists.txt index d851ac7d..9b3c64e3 100644 --- a/test/core/CMakeLists.txt +++ b/test/core/CMakeLists.txt @@ -1,6 +1,7 @@ glmCreateTestGTC(core_type_float) glmCreateTestGTC(core_type_half) glmCreateTestGTC(core_type_int) +glmCreateTestGTC(core_type_length) glmCreateTestGTC(core_type_mat2x2) glmCreateTestGTC(core_type_mat2x3) glmCreateTestGTC(core_type_mat2x4) diff --git a/test/core/core_type_length.cpp b/test/core/core_type_length.cpp new file mode 100644 index 00000000..7f5dadb9 --- /dev/null +++ b/test/core/core_type_length.cpp @@ -0,0 +1,62 @@ +/////////////////////////////////////////////////////////////////////////////////////////////////// +// OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net) +/////////////////////////////////////////////////////////////////////////////////////////////////// +// Created : 2011-05-25 +// Updated : 2011-05-25 +// Licence : This source is under MIT License +// File : test/core/type_length.cpp +/////////////////////////////////////////////////////////////////////////////////////////////////// + +#include + +int test_length_mat_non_squared() +{ + int Error = 0; + + Error += glm::mat2x3().length() == 6 ? 0 : 1; + Error += glm::mat2x4().length() == 8 ? 0 : 1; + Error += glm::mat3x2().length() == 6 ? 0 : 1; + Error += glm::mat3x4().length() == 12 ? 0 : 1; + Error += glm::mat4x2().length() == 8 ? 0 : 1; + Error += glm::mat4x3().length() == 12 ? 0 : 1; + + return Error; +} + +int test_length_mat() +{ + int Error = 0; + + Error += glm::mat2().length() == 4 ? 0 : 1; + Error += glm::mat3().length() == 9 ? 0 : 1; + Error += glm::mat4().length() == 16 ? 0 : 1; + Error += glm::mat2x2().length() == 4 ? 0 : 1; + Error += glm::mat3x3().length() == 9 ? 0 : 1; + Error += glm::mat4x4().length() == 16 ? 0 : 1; + + return Error; +} + +int test_length_vec() +{ + + int Error = 0; + + Error += glm::vec2().length() == 2 ? 0 : 1; + Error += glm::vec3().length() == 3 ? 0 : 1; + Error += glm::vec4().length() == 4 ? 0 : 1; + + return Error; +} + +int main() +{ + int Error = 0; + + Error += test_length_vec(); + Error += test_length_mat(); + Error += test_length_mat_non_squared(); + + return Error; +} +