Macro russell_chk::assert_complex_approx_eq
source · [−]macro_rules! assert_complex_approx_eq {
($a:expr, $b:expr, $tol:expr) => { ... };
}
Expand description
Asserts that two complex numbers are approximately equal to each other
Input
a
– Left value
b
– Right value
tol: f64
– Error tolerance such that |a.re - b.re| < tol
and |a.im - b.im| < tol
Examples
Accepts small error
use russell_chk::assert_complex_approx_eq;
use num_complex::Complex64;
fn main() {
let a = Complex64::new(3.0000001, 2.0000001);
let b = Complex64::new(3.0, 2.0);
assert_complex_approx_eq!(a, b, 1e-6);
}
Panics on different values
ⓘ
use russell_chk::assert_complex_approx_eq;
use num_complex::Complex64;
fn main() {
let a = Complex64::new(1.0, 3.0);
let b = Complex64::new(2.0, 3.0);
assert_complex_approx_eq!(a, b, 1e-6);
}
ⓘ
use russell_chk::assert_complex_approx_eq;
use num_complex::Complex64;
fn main() {
let a = Complex64::new(1.0, 3.0);
let b = Complex64::new(1.0, 4.0);
assert_complex_approx_eq!(a, b, 1e-6);
}