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:?}");
}