Browse Source

Improve `linalg.transpose` type determination for square matrices

gingerBill 4 years ago
parent
commit
ad22eda87c
1 changed files with 1 additions and 2 deletions
  1. 1 2
      core/math/linalg/general.odin

+ 1 - 2
core/math/linalg/general.odin

@@ -170,8 +170,7 @@ trace :: proc(m: $T/[$N][N]$E) -> (tr: E) {
 	return;
 	return;
 }
 }
 
 
-
-transpose :: proc(a: $T/[$N][$M]$E) -> (m: [M][N]E) {
+transpose :: proc(a: $T/[$N][$M]$E) -> (m: (T when N == M else [M][N]E)) {
 	for j in 0..<M {
 	for j in 0..<M {
 		for i in 0..<N {
 		for i in 0..<N {
 			m[j][i] = a[i][j];
 			m[j][i] = a[i][j];