From 02a9d8560fb82471ddc89154dee1e9e30afb88ab Mon Sep 17 00:00:00 2001 From: Sebastian Pahnke Date: Sat, 28 Dec 2024 09:33:58 +0100 Subject: [PATCH] Test symmetry --- tests/issues/test_issue_4584.odin | 30 +++++++++++++++++++++--------- 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/tests/issues/test_issue_4584.odin b/tests/issues/test_issue_4584.odin index f14f1f1d3..27e5cd789 100644 --- a/tests/issues/test_issue_4584.odin +++ b/tests/issues/test_issue_4584.odin @@ -8,6 +8,7 @@ import hlm "core:math/linalg/hlsl" @test test_adjugate_2x2 :: proc(t: ^testing.T) { + I := linalg.identity(matrix[2,2]int) m := matrix[2,2]int { -3, 2, -1, 0, @@ -18,19 +19,23 @@ test_adjugate_2x2 :: proc(t: ^testing.T) { } testing.expect_value(t, linalg.adjugate(m), expected) testing.expect_value(t, linalg.determinant(m), 2) - testing.expect_value(t, linalg.adjugate(m) * m, 2 * linalg.identity(matrix[2,2]int)) + testing.expect_value(t, linalg.adjugate(m) * m, 2 * I) + testing.expect_value(t, m * linalg.adjugate(m), 2 * I) testing.expect_value(t, glm.adjugate(m), expected) testing.expect_value(t, glm.determinant(m), 2) - testing.expect_value(t, glm.adjugate(m) * m, 2 * linalg.identity(matrix[2,2]int)) + testing.expect_value(t, glm.adjugate(m) * m, 2 * I) + testing.expect_value(t, m * glm.adjugate(m), 2 * I) testing.expect_value(t, hlm.adjugate(m), expected) testing.expect_value(t, hlm.determinant(m), 2) - testing.expect_value(t, hlm.adjugate(m) * m, 2 * linalg.identity(matrix[2,2]int)) + testing.expect_value(t, hlm.adjugate(m) * m, 2 * I) + testing.expect_value(t, m * hlm.adjugate(m), 2 * I) } @test test_adjugate_3x3 :: proc(t: ^testing.T) { + I := linalg.identity(matrix[3,3]int) m := matrix[3,3]int { -3, 2, -5, -1, 0, -2, @@ -43,19 +48,23 @@ test_adjugate_3x3 :: proc(t: ^testing.T) { } testing.expect_value(t, linalg.adjugate(m), expected) testing.expect_value(t, linalg.determinant(m), -6) - testing.expect_value(t, linalg.adjugate(m) * m, -6 * linalg.identity(matrix[3,3]int)) + testing.expect_value(t, linalg.adjugate(m) * m, -6 * I) + testing.expect_value(t, m * linalg.adjugate(m), -6 * I) testing.expect_value(t, glm.adjugate(m), expected) testing.expect_value(t, glm.determinant(m), -6) - testing.expect_value(t, glm.adjugate(m) * m, -6 * linalg.identity(matrix[3,3]int)) + testing.expect_value(t, glm.adjugate(m) * m, -6 * I) + testing.expect_value(t, m * glm.adjugate(m), -6 * I) testing.expect_value(t, hlm.adjugate(m), expected) testing.expect_value(t, hlm.determinant(m), -6) - testing.expect_value(t, hlm.adjugate(m) * m, -6 * linalg.identity(matrix[3,3]int)) + testing.expect_value(t, hlm.adjugate(m) * m, -6 * I) + testing.expect_value(t, m * hlm.adjugate(m), -6 * I) } @test test_adjugate_4x4 :: proc(t: ^testing.T) { + I := linalg.identity(matrix[4,4]int) m := matrix[4,4]int { -3, 2, -5, 1, -1, 0, -2, 2, @@ -70,13 +79,16 @@ test_adjugate_4x4 :: proc(t: ^testing.T) { } testing.expect_value(t, linalg.adjugate(m), expected) testing.expect_value(t, linalg.determinant(m), -174) - testing.expect_value(t, linalg.adjugate(m) * m, -174 * linalg.identity(matrix[4,4]int)) + testing.expect_value(t, linalg.adjugate(m) * m, -174 * I) + testing.expect_value(t, m * linalg.adjugate(m), -174 * I) testing.expect_value(t, glm.adjugate(m), expected) testing.expect_value(t, glm.determinant(m), -174) - testing.expect_value(t, glm.adjugate(m) * m, -174 * linalg.identity(matrix[4,4]int)) + testing.expect_value(t, glm.adjugate(m) * m, -174 * I) + testing.expect_value(t, m * glm.adjugate(m), -174 * I) testing.expect_value(t, hlm.adjugate(m), expected) testing.expect_value(t, hlm.determinant(m), -174) - testing.expect_value(t, hlm.adjugate(m) * m, -174 * linalg.identity(matrix[4,4]int)) + testing.expect_value(t, hlm.adjugate(m) * m, -174 * I) + testing.expect_value(t, m * hlm.adjugate(m), -174 * I) } \ No newline at end of file