src/discrete_gradient.rs

branch
dev
changeset 133
2b13f8a0c8ba
parent 124
6aa955ad8122
child 186
afe04e6b4a5b
equal deleted inserted replaced
132:89371dc4d637 133:2b13f8a0c8ba
314 //*y *= β; 314 //*y *= β;
315 y.as_mut_slice().iter_mut().for_each(|x| *x *= β); 315 y.as_mut_slice().iter_mut().for_each(|x| *x *= β);
316 } 316 }
317 let h = self.h; 317 let h = self.h;
318 let m = self.len(); 318 let m = self.len();
319 i.eval(|x| { 319 i.eval_decompose(|x| {
320 assert_eq!(x.len(), N * m); 320 assert_eq!(x.len(), N * m);
321 for d in 0..N { 321 for d in 0..N {
322 let v = x.generic_view((d * m, 0), (Dyn(m), U1)); 322 let v = x.generic_view((d * m, 0), (Dyn(m), U1));
323 for b in Iter::new(&self.dims, d) { 323 for b in Iter::new(&self.dims, d) {
324 self.discretisation.add_diff_mut(y, &v, α / h, b) 324 self.discretisation.add_diff_mut(y, &v, α / h, b)

mercurial