mirror of
https://github.com/odin-lang/Odin.git
synced 2026-04-27 00:33:56 +00:00
Test symmetry
This commit is contained in:
@@ -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)
|
||||
}
|
||||
Reference in New Issue
Block a user