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);
}