I'm trying to do a simple assignment to a 1d array in parallel. Why can't i do this? Seems too simple, error is below.
fn max_windows_multiplier_function(hour: &f64 ,max_windows_multiplier: &[f64]) -> Array1<f64> {
let mut return_cage = Array1::<f64>::zeros(max_windows_multiplier.len());
return_cage.axis_iter_mut(Axis(0)).into_par_iter().enumerate().for_each(|(i,result_i)| {
println!("result_i,i = {:?} {:?}", result_i,i);
result_i = *hour*max_windows_multiplier[i];
println!("result_i,i = {:?} {:?}", result_i,i);
});
return_cage
}
mismatched types
expected struct ndarray::ArrayBase
, found f64
note: expected struct ndarray::ArrayBase<ndarray::ViewRepr<&mut f64>, ndarray::Dim<[usize; 0]>>
found type f64
rustc(E0308)
main.rs(45, 20): expected struct ndarray::ArrayBase
, found f64