row, column, component

This commit is contained in:
BlackMATov
2020-11-25 22:30:17 +07:00
parent bf3baf9c64
commit 65699f6b0f
4 changed files with 83 additions and 4 deletions

View File

@@ -24,6 +24,22 @@ TEST_CASE("vmath/mat_ext") {
STATIC_REQUIRE(std::is_same_v<decltype(m)::row_type, vec2i>);
}
SECTION("row") {
STATIC_REQUIRE(row(mat2i(1,2,3,4), 0) == vec2i(1,2));
STATIC_REQUIRE(row(mat2i(1,2,3,4), 1) == vec2i(3,4));
STATIC_REQUIRE(row(mat2i(), 0, {1,2}) == mat2i(1,2,0,1));
STATIC_REQUIRE(row(mat2i(), 1, {3,4}) == mat2i(1,0,3,4));
}
SECTION("column") {
STATIC_REQUIRE(column(mat2i(1,2,3,4), 0) == vec2i(1,3));
STATIC_REQUIRE(column(mat2i(1,2,3,4), 1) == vec2i(2,4));
STATIC_REQUIRE(column(mat2i(), 0, {2,3}) == mat2i(2,0,3,1));
STATIC_REQUIRE(column(mat2i(), 1, {3,4}) == mat2i(1,3,0,4));
}
SECTION("identity") {
STATIC_REQUIRE(vec4f(2.f,3.f,4.f,1.f) * identity<float>() == approx4(2.f,3.f,4.f,1.f));
STATIC_REQUIRE(vec4f(2.f,3.f,4.f,1.f) * identity<float>() == approx4(2.f,3.f,4.f,1.f));

View File

@@ -23,4 +23,12 @@ TEST_CASE("vmath/vec_ext") {
STATIC_REQUIRE(v == vec2i(1));
STATIC_REQUIRE(std::is_same_v<decltype(v)::value_type, int>);
}
SECTION("component") {
STATIC_REQUIRE(component(vec2i{1,2}, 0) == 1);
STATIC_REQUIRE(component(vec2i{1,2}, 1) == 2);
STATIC_REQUIRE(component(vec2i{0,0}, 0, 1) == vec2i{1,0});
STATIC_REQUIRE(component(vec2i{0,0}, 1, 2) == vec2i{0,2});
}
}