1
+ //! misc utilities
1
2
2
3
use std:: iter:: Sum ;
3
4
use ndarray:: * ;
@@ -32,6 +33,7 @@ pub fn vstack<A, S>(xs: &[ArrayBase<S, Ix1>]) -> Result<Array<A, Ix2>, ShapeErro
32
33
stack ( Axis ( 0 ) , & views)
33
34
}
34
35
36
+ /// check two arrays are close in maximum norm
35
37
pub fn all_close_max < A , Tol , S1 , S2 , D > ( test : & ArrayBase < S1 , D > ,
36
38
truth : & ArrayBase < S2 , D > ,
37
39
atol : Tol )
@@ -46,6 +48,7 @@ pub fn all_close_max<A, Tol, S1, S2, D>(test: &ArrayBase<S1, D>,
46
48
if tol < atol { Ok ( tol) } else { Err ( tol) }
47
49
}
48
50
51
+ /// check two arrays are close in L1 norm
49
52
pub fn all_close_l1 < A , Tol , S1 , S2 , D > ( test : & ArrayBase < S1 , D > , truth : & ArrayBase < S2 , D > , rtol : Tol ) -> Result < Tol , Tol >
50
53
where A : LinalgScalar + NormedField < Output = Tol > ,
51
54
Tol : Float + Sum ,
@@ -57,6 +60,7 @@ pub fn all_close_l1<A, Tol, S1, S2, D>(test: &ArrayBase<S1, D>, truth: &ArrayBas
57
60
if tol < rtol { Ok ( tol) } else { Err ( tol) }
58
61
}
59
62
63
+ /// check two arrays are close in L2 norm
60
64
pub fn all_close_l2 < A , Tol , S1 , S2 , D > ( test : & ArrayBase < S1 , D > , truth : & ArrayBase < S2 , D > , rtol : Tol ) -> Result < Tol , Tol >
61
65
where A : LinalgScalar + NormedField < Output = Tol > ,
62
66
Tol : Float + Sum ,
0 commit comments