mirror of
https://github.com/Ed94/Odin.git
synced 2026-06-17 11:22:22 -07:00
Split out linalg.identity between matrices and array-based matrix
This commit is contained in:
@@ -172,13 +172,23 @@ projection :: proc "contextless" (x, normal: $T/[$N]$E) -> T where IS_NUMERIC(E)
|
||||
}
|
||||
|
||||
@(require_results)
|
||||
identity :: proc "contextless" ($T: typeid/[$N][N]$E) -> (m: T) #no_bounds_check {
|
||||
identity_array_based_matrix :: proc "contextless" ($T: typeid/[$N][N]$E) -> (m: T) #no_bounds_check {
|
||||
for i in 0..<N {
|
||||
m[i][i] = E(1)
|
||||
}
|
||||
return m
|
||||
}
|
||||
|
||||
@(require_results)
|
||||
identity_matrix :: proc "contextless" ($T: typeid/matrix[$N, N]$E) -> T #no_bounds_check {
|
||||
return 1
|
||||
}
|
||||
|
||||
identity :: proc{
|
||||
identity_array_based_matrix,
|
||||
identity_matrix,
|
||||
}
|
||||
|
||||
transpose :: intrinsics.transpose
|
||||
|
||||
@(require_results)
|
||||
|
||||
Reference in New Issue
Block a user