mirror of
https://github.com/g-truc/glm.git
synced 2024-11-30 03:44:38 +00:00
Added vector relational tests
This commit is contained in:
parent
1afa681512
commit
4dce0e338d
@ -1,6 +1,6 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "compute_common.hpp"
|
//#include "compute_common.hpp"
|
||||||
#include "setup.hpp"
|
#include "setup.hpp"
|
||||||
#include <limits>
|
#include <limits>
|
||||||
|
|
||||||
@ -15,7 +15,7 @@ namespace detail
|
|||||||
return a == b;
|
return a == b;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
/*
|
||||||
template <typename T>
|
template <typename T>
|
||||||
struct compute_equal<T, true>
|
struct compute_equal<T, true>
|
||||||
{
|
{
|
||||||
@ -25,5 +25,6 @@ namespace detail
|
|||||||
//return std::memcmp(&a, &b, sizeof(T)) == 0;
|
//return std::memcmp(&a, &b, sizeof(T)) == 0;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
*/
|
||||||
}//namespace detail
|
}//namespace detail
|
||||||
}//namespace glm
|
}//namespace glm
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
static int test_not()
|
static int test_not()
|
||||||
{
|
{
|
||||||
int Error(0);
|
int Error = 0;
|
||||||
|
|
||||||
{
|
{
|
||||||
glm::bvec1 v(false);
|
glm::bvec1 v(false);
|
||||||
@ -31,11 +31,149 @@ static int test_not()
|
|||||||
return Error;
|
return Error;
|
||||||
}
|
}
|
||||||
|
|
||||||
int main()
|
static int test_less()
|
||||||
{
|
{
|
||||||
int Error(0);
|
int Error = 0;
|
||||||
|
|
||||||
Error += test_not();
|
{
|
||||||
|
glm::vec2 const A(1, 2);
|
||||||
|
glm::vec2 const B(2, 3);
|
||||||
|
Error += glm::all(glm::lessThan(A, B)) ? 0: 1;
|
||||||
|
Error += glm::all(glm::lessThanEqual(A, B)) ? 0: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
glm::vec3 const A(1, 2, 3);
|
||||||
|
glm::vec3 const B(2, 3, 4);
|
||||||
|
Error += glm::all(glm::lessThan(A, B)) ? 0: 1;
|
||||||
|
Error += glm::all(glm::lessThanEqual(A, B)) ? 0: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
glm::vec4 const A(1, 2, 3, 4);
|
||||||
|
glm::vec4 const B(2, 3, 4, 5);
|
||||||
|
Error += glm::all(glm::lessThan(A, B)) ? 0: 1;
|
||||||
|
Error += glm::all(glm::lessThanEqual(A, B)) ? 0: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
glm::ivec2 const A(1, 2);
|
||||||
|
glm::ivec2 const B(2, 3);
|
||||||
|
Error += glm::all(glm::lessThan(A, B)) ? 0: 1;
|
||||||
|
|
||||||
|
glm::ivec2 const C(1, 3);
|
||||||
|
Error += glm::all(glm::lessThanEqual(A, C)) ? 0: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
glm::ivec3 const A(1, 2, 3);
|
||||||
|
glm::ivec3 const B(2, 3, 4);
|
||||||
|
Error += glm::all(glm::lessThan(A, B)) ? 0: 1;
|
||||||
|
|
||||||
|
glm::ivec3 const C(1, 3, 4);
|
||||||
|
Error += glm::all(glm::lessThanEqual(A, C)) ? 0: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
glm::ivec4 const A(1, 2, 3, 4);
|
||||||
|
glm::ivec4 const B(2, 3, 4, 5);
|
||||||
|
Error += glm::all(glm::lessThan(A, B)) ? 0: 1;
|
||||||
|
|
||||||
|
glm::ivec4 const C(1, 3, 4, 5);
|
||||||
|
Error += glm::all(glm::lessThanEqual(A, C)) ? 0: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
return Error;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int test_greater()
|
||||||
|
{
|
||||||
|
int Error = 0;
|
||||||
|
|
||||||
|
{
|
||||||
|
glm::vec2 const A(1, 2);
|
||||||
|
glm::vec2 const B(2, 3);
|
||||||
|
Error += glm::all(glm::greaterThan(B, A)) ? 0: 1;
|
||||||
|
Error += glm::all(glm::greaterThanEqual(B, A)) ? 0: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
glm::vec3 const A(1, 2, 3);
|
||||||
|
glm::vec3 const B(2, 3, 4);
|
||||||
|
Error += glm::all(glm::greaterThan(B, A)) ? 0: 1;
|
||||||
|
Error += glm::all(glm::greaterThanEqual(B, A)) ? 0: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
glm::vec4 const A(1, 2, 3, 4);
|
||||||
|
glm::vec4 const B(2, 3, 4, 5);
|
||||||
|
Error += glm::all(glm::greaterThan(B, A)) ? 0: 1;
|
||||||
|
Error += glm::all(glm::greaterThanEqual(B, A)) ? 0: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
glm::ivec2 const A(1, 2);
|
||||||
|
glm::ivec2 const B(2, 3);
|
||||||
|
Error += glm::all(glm::greaterThan(B, A)) ? 0: 1;
|
||||||
|
|
||||||
|
glm::ivec2 const C(1, 3);
|
||||||
|
Error += glm::all(glm::greaterThanEqual(C, A)) ? 0: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
glm::ivec3 const A(1, 2, 3);
|
||||||
|
glm::ivec3 const B(2, 3, 4);
|
||||||
|
Error += glm::all(glm::greaterThan(B, A)) ? 0: 1;
|
||||||
|
|
||||||
|
glm::ivec3 const C(1, 3, 4);
|
||||||
|
Error += glm::all(glm::greaterThanEqual(C, A)) ? 0: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
glm::ivec4 const A(1, 2, 3, 4);
|
||||||
|
glm::ivec4 const B(2, 3, 4, 5);
|
||||||
|
Error += glm::all(glm::greaterThan(B, A)) ? 0: 1;
|
||||||
|
|
||||||
|
glm::ivec4 const C(1, 3, 4, 5);
|
||||||
|
Error += glm::all(glm::greaterThanEqual(C, A)) ? 0: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
return Error;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int test_equal()
|
||||||
|
{
|
||||||
|
int Error = 0;
|
||||||
|
|
||||||
|
{
|
||||||
|
glm::ivec2 const A(1, 2);
|
||||||
|
glm::ivec2 const B(1, 2);
|
||||||
|
Error += glm::all(glm::equal(B, A)) ? 0: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
glm::ivec3 const A(1, 2, 3);
|
||||||
|
glm::ivec3 const B(1, 2, 3);
|
||||||
|
Error += glm::all(glm::equal(B, A)) ? 0: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
glm::ivec4 const A(1, 2, 3, 4);
|
||||||
|
glm::ivec4 const B(1, 2, 3, 4);
|
||||||
|
Error += glm::all(glm::equal(B, A)) ? 0: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
return Error;
|
||||||
|
}
|
||||||
|
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
int Error = 0;
|
||||||
|
|
||||||
|
Error += test_not();
|
||||||
|
Error += test_less();
|
||||||
|
Error += test_greater();
|
||||||
|
Error += test_equal();
|
||||||
|
|
||||||
return Error;
|
return Error;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user