Feature/more constexpr (#125)

* added constexpr

* fix

* improved stuff

* added const

* improvement

* fix

* fix

* patch
This commit is contained in:
2025-12-24 02:32:14 +03:00
committed by GitHub
parent 897484bea1
commit d935caf1a4
36 changed files with 543 additions and 399 deletions

View File

@@ -11,12 +11,12 @@ using namespace omath;
TEST(LinearAlgebraExtra, FormatterAndHashVector2)
{
Vector2<float> v{1.0f, 2.0f};
std::string s = std::format("{}", v);
const std::string s = std::format("{}", v);
EXPECT_EQ(s, "[1, 2]");
std::size_t h1 = std::hash<Vector2<float>>{}(v);
std::size_t h2 = std::hash<Vector2<float>>{}(Vector2<float>{1.0f, 2.0f});
std::size_t h3 = std::hash<Vector2<float>>{}(Vector2<float>{2.0f, 3.0f});
const std::size_t h1 = std::hash<Vector2<float>>{}(v);
const std::size_t h2 = std::hash<Vector2<float>>{}(Vector2<float>{1.0f, 2.0f});
const std::size_t h3 = std::hash<Vector2<float>>{}(Vector2<float>{2.0f, 3.0f});
EXPECT_EQ(h1, h2);
EXPECT_NE(h1, h3);
@@ -25,11 +25,11 @@ TEST(LinearAlgebraExtra, FormatterAndHashVector2)
TEST(LinearAlgebraExtra, FormatterAndHashVector3)
{
Vector3<float> v{1.0f, 2.0f, 3.0f};
std::string s = std::format("{}", v);
const std::string s = std::format("{}", v);
EXPECT_EQ(s, "[1, 2, 3]");
std::size_t h1 = std::hash<Vector3<float>>{}(v);
std::size_t h2 = std::hash<Vector3<float>>{}(Vector3<float>{1.0f, 2.0f, 3.0f});
const std::size_t h1 = std::hash<Vector3<float>>{}(v);
const std::size_t h2 = std::hash<Vector3<float>>{}(Vector3<float>{1.0f, 2.0f, 3.0f});
EXPECT_EQ(h1, h2);
// point_to_same_direction
@@ -40,18 +40,18 @@ TEST(LinearAlgebraExtra, FormatterAndHashVector3)
TEST(LinearAlgebraExtra, FormatterAndHashVector4)
{
Vector4<float> v{1.0f, 2.0f, 3.0f, 4.0f};
std::string s = std::format("{}", v);
const std::string s = std::format("{}", v);
EXPECT_EQ(s, "[1, 2, 3, 4]");
std::size_t h1 = std::hash<Vector4<float>>{}(v);
std::size_t h2 = std::hash<Vector4<float>>{}(Vector4<float>{1.0f, 2.0f, 3.0f, 4.0f});
const std::size_t h1 = std::hash<Vector4<float>>{}(v);
const std::size_t h2 = std::hash<Vector4<float>>{}(Vector4<float>{1.0f, 2.0f, 3.0f, 4.0f});
EXPECT_EQ(h1, h2);
}
TEST(LinearAlgebraExtra, MatRawArrayAndOperators)
{
Mat<2,2> m{{1.0f, 2.0f},{3.0f,4.0f}};
auto raw = m.raw_array();
const auto raw = m.raw_array();
EXPECT_EQ(raw.size(), 4);
EXPECT_FLOAT_EQ(raw[0], 1.0f);
EXPECT_FLOAT_EQ(raw[3], 4.0f);