ext_vector_relational.cpp 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. #include <glm/ext/vector_relational.hpp>
  2. #include <glm/vec2.hpp>
  3. #include <glm/mat4x3.hpp>
  4. int test_equal()
  5. {
  6. int Error = 0;
  7. Error += glm::equal(1.01f, 1.02f, 0.1f) ? 0 : 1;
  8. Error += glm::all(glm::equal(glm::vec2(1.01f), glm::vec2(1.02f), 0.1f)) ? 0 : 1;
  9. Error += glm::all(glm::equal(glm::vec2(1.01f), glm::vec2(1.02f), glm::vec2(0.1f))) ? 0 : 1;
  10. Error += !glm::equal(1.01f, 1.02f, 0.001f) ? 0 : 1;
  11. Error += !glm::any(glm::equal(glm::vec2(1.01f), glm::vec2(1.02f), 0.001f)) ? 0 : 1;
  12. Error += !glm::any(glm::equal(glm::vec2(1.01f), glm::vec2(1.02f), glm::vec2(0.001f))) ? 0 : 1;
  13. Error += glm::all(glm::equal(glm::mat4x3(1), glm::mat4x3(1), 0.001f)) ? 0 : 1;
  14. Error += glm::all(glm::equal(glm::mat4x3(1), glm::mat4x3(2), glm::vec4(0.001f))) ? 1 : 0;
  15. Error += glm::all(glm::equal(glm::mat4x3(1), glm::mat4x3(1))) ? 0 : 1;
  16. return Error;
  17. }
  18. int test_notEqual()
  19. {
  20. int Error = 0;
  21. Error += glm::notEqual(1.01f, 1.02f, 0.001f) ? 0 : 1;
  22. Error += glm::all(glm::notEqual(glm::vec2(1.01f), glm::vec2(1.02f), 0.001f)) ? 0 : 1;
  23. Error += glm::all(glm::notEqual(glm::vec2(1.01f), glm::vec2(1.02f), glm::vec2(0.001f))) ? 0 : 1;
  24. Error += !glm::notEqual(1.01f, 1.02f, 0.1f) ? 0 : 1;
  25. Error += !glm::any(glm::notEqual(glm::vec2(1.01f), glm::vec2(1.02f), 0.1f)) ? 0 : 1;
  26. Error += !glm::any(glm::notEqual(glm::vec2(1.01f), glm::vec2(1.02f), glm::vec2(0.1f))) ? 0 : 1;
  27. Error += !glm::any(glm::notEqual(glm::mat4x3(1), glm::mat4x3(1), 0.001f)) ? 0 : 1;
  28. Error += !glm::any(glm::notEqual(glm::mat4x3(1), glm::mat4x3(2), glm::vec4(0.001f))) ? 1 : 0;
  29. Error += !glm::any(glm::notEqual(glm::mat4x3(1), glm::mat4x3(1))) ? 0 : 1;
  30. return Error;
  31. }
  32. int main()
  33. {
  34. int Error = 0;
  35. Error += test_equal();
  36. Error += test_notEqual();
  37. return Error;
  38. }