Я хотел бы перебирать строки Array2 и элементы Array1 параллельно и выполнять некоторые вычисления на них с побочными эффектами.
Я пробовал что-то вроде ниже,
extern crate ndarray;
extern crate ndarray_parallel;
use ndarray::{Array2, Array, Zip, Axis};
use ndarray_parallel::prelude::*;
fn main() {
let mut a = Array2::<f64>::zeros((5, 5));
let b = Array::from_iter(0..5);
let c = vec![1,2,3,4,5];
let mut d = vec![1,2,3,4,5];
let z = Zip::from(a.axis_iter(Axis(0))).and(&b);
z.par_apply(|x,y| {d[*y as usize] = 10});
}
Но компилятор жалуется.
Кто-нибудь может посоветовать?