From bff9c46bb0811becca8ffe3feacd79526e3227a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20GUEZO?= Date: Tue, 29 Jul 2025 22:54:35 +0200 Subject: [PATCH] feat(mat4): add transpose function (not yet SIMD) --- src/math/mat4.c | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/src/math/mat4.c b/src/math/mat4.c index 2d38326..2375184 100644 --- a/src/math/mat4.c +++ b/src/math/mat4.c @@ -227,7 +227,22 @@ Mat4f_t mat4_mul(const Mat4f_t* m1, const Mat4f_t* m2) return mout; } -Mat4f_t* mat4_tpo_r(Mat4f_t *__restrict m) +Mat4f_t* mat4_tpo_r(Mat4f_t *__restrict out) { - return m; + Mat4f_t clone = mat4f_clone(out); + + for(int i = 0; i < MAT_DIM; i++) { +#if defined (SIMD_X86) + + +#elif defined (SIMD_ARCH) +#else + int dim_i = i * MAT_DIM; + + for (int j = 0; j < MAT_DIM; j++) { + out->m[dim_i + j] = clone.m[(j * MAT_DIM) + i]; + } +#endif + } + return out; } \ No newline at end of file