Assignment to 1d array in parallel

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 f64rustc(E0308)
main.rs(45, 20): expected struct ndarray::ArrayBase, found f64

This topic was automatically closed 90 days after the last reply. We invite you to open a new topic if you have further questions or comments.