matrix operators

This commit is contained in:
BlackMATov
2020-11-24 04:26:48 +07:00
parent d0b72f7536
commit b85cfb8e85
3 changed files with 317 additions and 77 deletions

View File

@@ -11,8 +11,32 @@
namespace
{
using namespace vmath_hpp;
}
TEST_CASE("vmath/mat_fun") {
using namespace vmath_hpp;
SECTION("Operators") {
STATIC_REQUIRE(-mat2i(1,2,3,4) == mat2i(-1,-2,-3,-4));
STATIC_REQUIRE(mat2i(1,2,3,4) + 2 == mat2i(3,4,5,6));
STATIC_REQUIRE(mat2i(1,2,3,4) - 2 == mat2i(-1,0,1,2));
STATIC_REQUIRE(mat2i(1,2,3,4) * 2 == mat2i(2,4,6,8));
STATIC_REQUIRE(mat2i(1,2,3,4) / 2 == mat2i(0,1,1,2));
STATIC_REQUIRE(4 + mat2i(1,2,3,4) == mat2i(5,6,7,8));
STATIC_REQUIRE(4 - mat2i(1,2,3,4) == mat2i(3,2,1,0));
STATIC_REQUIRE(4 * mat2i(1,2,3,4) == mat2i(4,8,12,16));
STATIC_REQUIRE(4 / mat2i(1,2,3,4) == mat2i(4,2,1,1));
STATIC_REQUIRE(mat2i(1,2,3,4) + mat2i(5,6,7,8) == mat2i(6,8,10,12));
STATIC_REQUIRE(mat2i(1,2,3,4) - mat2i(5,6,7,8) == mat2i(-4,-4,-4,-4));
STATIC_REQUIRE(mat2i(5,6,7,8) / mat2i(1,2,3,4) == mat2i(5,3,2,2));
STATIC_REQUIRE(mat2i() * mat2i() == mat2i());
STATIC_REQUIRE(mat3i() * mat3i() == mat3i());
STATIC_REQUIRE(vec2i(1,2) * mat2i() == vec2i(1,2));
STATIC_REQUIRE(vec3i(1,2,3) * mat3i() == vec3i(1,2,3));
STATIC_REQUIRE(vec4i(1,2,3,4) * mat4i() == vec4i(1,2,3,4));
}
}