From fa9a7a6766de0319960f6166c64e5590e613c478 Mon Sep 17 00:00:00 2001 From: Frederick Roy Date: Mon, 2 Feb 2026 07:52:51 +0900 Subject: [PATCH 1/3] rewrite for better cache accesses --- Sofa/framework/Type/src/sofa/type/Mat.h | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/Sofa/framework/Type/src/sofa/type/Mat.h b/Sofa/framework/Type/src/sofa/type/Mat.h index 3067a701727..1989bebf971 100644 --- a/Sofa/framework/Type/src/sofa/type/Mat.h +++ b/Sofa/framework/Type/src/sofa/type/Mat.h @@ -1299,15 +1299,13 @@ template constexpr Mat operator*(const Mat& m1, const Mat& m2) noexcept { Mat r(NOINIT); - for (Size i = 0; i Date: Wed, 4 Feb 2026 10:10:59 +0900 Subject: [PATCH 2/3] zero-initialize the result matrix --- Sofa/framework/Type/src/sofa/type/Mat.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sofa/framework/Type/src/sofa/type/Mat.h b/Sofa/framework/Type/src/sofa/type/Mat.h index 1989bebf971..ff855ba72b7 100644 --- a/Sofa/framework/Type/src/sofa/type/Mat.h +++ b/Sofa/framework/Type/src/sofa/type/Mat.h @@ -1298,7 +1298,7 @@ constexpr Mat tensorProduct(const Vec& a, const Vec& b template constexpr Mat operator*(const Mat& m1, const Mat& m2) noexcept { - Mat r(NOINIT); + Mat r; for (Size i = 0; i < L; ++i) { for (Size k = 0; k < C; ++k) From 5672af4b841ca3ffa1830202666f65bbd8156413 Mon Sep 17 00:00:00 2001 From: Frederick Roy Date: Thu, 5 Feb 2026 07:49:26 +0900 Subject: [PATCH 3/3] really zero-init'ed --- Sofa/framework/Type/src/sofa/type/Mat.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sofa/framework/Type/src/sofa/type/Mat.h b/Sofa/framework/Type/src/sofa/type/Mat.h index ff855ba72b7..33051223e7f 100644 --- a/Sofa/framework/Type/src/sofa/type/Mat.h +++ b/Sofa/framework/Type/src/sofa/type/Mat.h @@ -1298,7 +1298,7 @@ constexpr Mat tensorProduct(const Vec& a, const Vec& b template constexpr Mat operator*(const Mat& m1, const Mat& m2) noexcept { - Mat r; + Mat r(static_cast(0)); for (Size i = 0; i < L; ++i) { for (Size k = 0; k < C; ++k)