#include #include #include template static int test_operators() { int Error = 0; genType const A(true); genType const B(true); { bool const R = A != B; bool const S = A == B; Error += (S && !R) ? 0 : 1; } return Error; } template static int test_ctor() { int Error = 0; glm::bvec1 const A = genType(true); glm::bvec1 const E(genType(true)); Error += A == E ? 0 : 1; glm::bvec1 const F(E); Error += A == F ? 0 : 1; return Error; } template static int test_size() { int Error = 0; Error += sizeof(glm::bvec1) == sizeof(genType) ? 0 : 1; Error += genType().length() == 1 ? 0 : 1; Error += genType::length() == 1 ? 0 : 1; return Error; } template static int test_relational() { int Error = 0; genType const A(true); genType const B(true); genType const C(false); Error += A == B ? 0 : 1; Error += (A && B) == A ? 0 : 1; Error += (A || C) == A ? 0 : 1; return Error; } template static int test_constexpr() { # if GLM_HAS_CONSTEXPR static_assert(genType::length() == 1, "GLM: Failed constexpr"); # endif return 0; } int main() { int Error = 0; Error += test_operators(); Error += test_operators(); Error += test_operators(); Error += test_operators(); Error += test_ctor(); Error += test_ctor(); Error += test_ctor(); Error += test_ctor(); Error += test_size(); Error += test_size(); Error += test_size(); Error += test_size(); Error += test_relational(); Error += test_relational(); Error += test_relational(); Error += test_relational(); Error += test_constexpr(); Error += test_constexpr(); Error += test_constexpr(); Error += test_constexpr(); return Error; }