From ce31f1611f03255be2c9db74690fec1637da7ca8 Mon Sep 17 00:00:00 2001 From: HampusM Date: Mon, 14 Sep 2026 15:28:19 +0200 Subject: feat(engine): add Matrix::to_column_major fn --- engine/src/data_types/matrix.rs | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/engine/src/data_types/matrix.rs b/engine/src/data_types/matrix.rs index ef263a1..9ab5bd4 100644 --- a/engine/src/data_types/matrix.rs +++ b/engine/src/data_types/matrix.rs @@ -61,6 +61,23 @@ impl Matrix [[Value; ROWS]; COLUMNS] + where + Value: Default + Clone, + { + let mut transposed = std::array::from_fn::<_, COLUMNS, _>(|_| { + std::array::from_fn::<_, ROWS, _>(|_| Value::default()) + }); + + for (row_index, row) in self.items.iter().enumerate() { + for (column_index, item) in row.iter().enumerate() { + transposed[column_index][row_index] = item.clone(); + } + } + + transposed + } } impl Default -- cgit v1.2.3-18-g5258