This commit is contained in:
Hartmut Seichter 2024-07-11 09:22:39 +02:00
parent cd19543627
commit 63135466a2
8 changed files with 430 additions and 470 deletions

View file

@ -4,63 +4,89 @@
#include <pw/core/vector.hpp>
TEST_CASE("core", "[matrix]") {
auto m44 = pw::matrix_<2, 2, float>{};
auto m44 = pw::matrix<float,2,2>{};
REQUIRE(m44(0, 0) == 0);
REQUIRE(m44(0, 1) == 0);
REQUIRE(m44(1, 0) == 0);
REQUIRE(m44(1, 1) == 0);
REQUIRE(m44[0][0] == 0);
REQUIRE(m44[0][1] == 0);
REQUIRE(m44[1][0] == 0);
REQUIRE(m44[1][1] == 0);
m44 = pw::matrix2x2_<float>::all(42.42f);
// auto m44_1 = pw::matrix<2, 2, float>{ 5, 4, 3, 2 };
REQUIRE(m44(0, 0) == 42.42f);
REQUIRE(m44(0, 1) == 42.42f);
REQUIRE(m44(1, 0) == 42.42f);
REQUIRE(m44(1, 1) == 42.42f);
// REQUIRE(m44_1(0, 0) == 5);
// REQUIRE(m44_1(0, 1) == 3);
// REQUIRE(m44_1(1, 0) == 4);
// REQUIRE(m44_1(1, 1) == 2);
m44 *= 2;
REQUIRE(m44(0, 0) == 84.84f);
REQUIRE(m44(0, 1) == 84.84f);
REQUIRE(m44(1, 0) == 84.84f);
REQUIRE(m44(1, 1) == 84.84f);
// auto m44_2 = pw::matrix2x2_<float>::all(42.42f);
m44.set_identity();
REQUIRE(m44(0, 0) == 1.0f);
REQUIRE(m44(0, 1) == 0.0f);
REQUIRE(m44(1, 0) == 0.0f);
REQUIRE(m44(1, 1) == 1.0f);
// REQUIRE(m44_2(0, 0) == 42.42f);
// REQUIRE(m44_2(0, 1) == 42.42f);
// REQUIRE(m44_2(1, 0) == 42.42f);
// REQUIRE(m44_2(1, 1) == 42.42f);
auto m44_2 = pw::matrix2x2::make(0, 1, 2, 3);
// m44 *= 2;
// REQUIRE(m44(0, 0) == 84.84f);
// REQUIRE(m44(0, 1) == 84.84f);
// REQUIRE(m44(1, 0) == 84.84f);
// REQUIRE(m44(1, 1) == 84.84f);
REQUIRE(m44_2(0, 0) == 0.0f);
REQUIRE(m44_2(1, 0) == 1.0f);
REQUIRE(m44_2(0, 1) == 2.0f);
REQUIRE(m44_2(1, 1) == 3.0f);
// m44.set_identity();
// REQUIRE(m44(0, 0) == 1.0f);
// REQUIRE(m44(0, 1) == 0.0f);
// REQUIRE(m44(1, 0) == 0.0f);
// REQUIRE(m44(1, 1) == 1.0f);
// auto m44_2 = pw::matrix2x2::make(0, 1, 2, 3);
// REQUIRE(m44_2(0, 0) == 0.0f);
// REQUIRE(m44_2(1, 0) == 1.0f);
// REQUIRE(m44_2(0, 1) == 2.0f);
// REQUIRE(m44_2(1, 1) == 3.0f);
pw::matrix2x2 m44_3 = {{},{1, 2, 3, 4}};
// pw::matrix2x2 m44_3 = {{},{1, 2, 3, 4}};
REQUIRE(m44_3(0, 0) == 1.0f);
REQUIRE(m44_3(1, 0) == 2.0f);
REQUIRE(m44_3(0, 1) == 3.0f);
REQUIRE(m44_3(1, 1) == 4.0f);
// REQUIRE(m44_3(0, 0) == 1.0f);
// REQUIRE(m44_3(1, 0) == 2.0f);
// REQUIRE(m44_3(0, 1) == 3.0f);
// REQUIRE(m44_3(1, 1) == 4.0f);
}
TEST_CASE("core", "[vector.matrix]") {
// auto vec4_1 = pw::vector4_<float>{};
// auto mat4_1 = pw::matrix_<4,1,float>{};
// mat4_1 = vec4_1; // down is easy
// vec4_1 = mat4_1;
}
TEST_CASE("core", "[vector]") {
auto vec4_1 = pw::vector4_<float>{};
auto vec4_2 = pw::vector4::make(1, 2, 3, 4);
// auto vec4_1 = pw::vector4_<float>{};
// auto vec4_2 = pw::vector4::make(1, 2, 3, 4);
auto vec4_3 = vec4_1 + vec4_2;
// pw::vector4 vec4_3 = vec4_1 + vec4_2;
REQUIRE(vec4_3[0] == 1.0f);
REQUIRE(vec4_3[1] == 2.0f);
REQUIRE(vec4_3[2] == 3.0f);
REQUIRE(vec4_3[3] == 4.0f);
// REQUIRE(vec4_3[0] == 1.0f);
// REQUIRE(vec4_3[1] == 2.0f);
// REQUIRE(vec4_3[2] == 3.0f);
// REQUIRE(vec4_3[3] == 4.0f);
// auto vec4_4 = vec4_3 * 2;
// REQUIRE(vec4_4[0] == 1.0f * 2);
// REQUIRE(vec4_4[1] == 2.0f * 2);
// REQUIRE(vec4_4[2] == 3.0f * 2);
// REQUIRE(vec4_4[3] == 4.0f * 2);
}