Triadique FMA
Le modèle d’itération Rust est plus flexible que les algorithmes STL.
Ainsi, l’opération triadique fma(X, Y, Z)
se calcule sans difficulté :
#![allow(unused)] fn main() { let x = [1.2_f32; 3]; let y = [3.4; 3]; let z = [5.6; 3]; println!("Computing fma({x:?}, {y:?}, {z:?})"); let result = x.into_iter().zip(y).zip(z) .map(|((x, y), z)| x.mul_add(y, z)) .collect::<Vec<_>>(); println!("Result: {result:?}"); }