Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #[macro_use(s)] extern crate ndarray;
- #[macro_use] extern crate itertools;
- use ndarray::{Array,OwnedArray};
- fn main() {
- let r = 0..16;
- let v = r.map(|x| x as f64).collect::<Vec<_>>();
- // Works
- let mut a = Array::from_vec(v.clone()).reshape((4,4));
- let b = Array::from_vec(v.clone()).reshape((4,4));
- let c = Array::from_vec(v.clone()).reshape((4,4));
- let d = Array::from_vec(v.clone()).reshape((4,4));
- for (i,j,k,l) in izip!(a.iter_mut(),b.iter(),c.iter(),d.iter()) {
- // let m: () = i;
- // &mut f64
- *i = *i + 1.0 * j + 2.0 * k + 3.0 * l;
- }
- // Doesn't work
- let mut a = Array::from_vec(v.clone()).into_shape((4,4));
- let b = Array::from_vec(v.clone()).into_shape((4,4));
- let c = Array::from_vec(v.clone()).into_shape((4,4));
- let d = Array::from_vec(v.clone()).into_shape((4,4));
- for (i,j,k,l) in izip!(a.iter_mut(),b.iter(),c.iter(),d.iter()) {
- // let m: () = i;
- // &mut ndarray::ArrayBase<alloc::rc::Rc<collections::vec::Vec<f64>>, (usize, usize)>
- // ????
- *i = *i + 1.0 * j + 2.0 * k + 3.0 * l;
- }
- println!("{:?}", a);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement