детали в этом коде можно будет улучшить - я буду рад услышать
в беггинерсах пришли к выводу, что нет смысла улучшать саму суть алгоритма, ибо для вычислений на матрицах есть по своей природе просто более подходящие методы, чем Крамера
интересуют скорее те моменты, где бы я мог избежать лишних аллокаций, как бы я мог саму семантику кода улучшить, чтобы в дальнейшем писать меньше ненужного кода?
спасибо
https://play.rust-lang.org/?version=stable&mode=release&edition=2021&gist=1197933ac936ae7a1521167acd5f7820
fn fill_matrix(general: [[i32; 3]; 3], free: [i32; 3], side: FillSide) -> [[i32; 3]; 3] { let mut matrix = general; ... matrix } Я не специалист и может компилятор допрёт, ну и в любом случае нужно бенчмаркать, но для матриц побольше скорее всего лучше будет не копировать всю матрицу в функцию, а &mut ссылку давать на неё. Ну и в остальных местах тоже по сути передаём копии.
Обсуждают сегодня