Macro russell_chk::assert_vec_approx_eq[][src]

macro_rules! assert_vec_approx_eq {
    ($a : expr, $b : expr, $tol : expr) => { ... };
}
Expand description

Asserts that two vectors have the same length and approximately equal values

Input

a – Left vector b – Right vector tol: f64 – Error tolerance such that |a[i] - b[i]| < tol for all i in [0,a.len()]

Note

This macro also checks that a.len() == b.len()

Examples

Accepts small error

let a = [1.0, 2.0, 3.0000001];
let b = [1.0, 2.0, 3.0];
assert_vec_approx_eq!(a, b, 1e-6);

Panics on different values

let a = [1.0, 2.0, 3.0];
let b = [1.0, 2.0, 4.0];
assert_vec_approx_eq!(a, b, 1e-6);

Panics on different lengths

let a = [1.0, 2.0, 3.0];
let b = [1.0, 2.0];
assert_vec_approx_eq!(a, b, 1e-6);