8 unstable releases (3 breaking)
0.4.1 | Jun 28, 2022 |
---|---|
0.3.0 | Jun 28, 2022 |
0.2.1 | Oct 23, 2021 |
0.1.3 | Oct 7, 2021 |
0.1.0 | Jun 22, 2021 |
#331 in Math
360 downloads per month
Used in 9 crates
(8 directly)
33KB
554 lines
Russell Chk - Functions to check vectors and other data in tests
This crate is part of Russell - Rust Scientific Library
This repository implements macros to assist in tests (numerical checks).
Documentation:
Installation
Add this to your Cargo.toml:
[dependencies]
russell_chk = "*"
Examples
Check float point numbers
use russell_chk::assert_approx_eq;
fn main() {
assert_approx_eq!(0.123456789, 0.12345678, 1e-8);
assert_approx_eq!(0.123456789, 0.1234567, 1e-7);
assert_approx_eq!(0.123456789, 0.123456, 1e-6);
assert_approx_eq!(0.123456789, 0.12345, 1e-5);
assert_approx_eq!(0.123456789, 0.1234, 1e-4);
}
Check a vector of float point numbers
use russell_chk::assert_vec_approx_eq;
fn main() {
let a = [0.123456789, 0.123456789, 0.123456789];
let b = [0.12345678, 0.1234567, 0.123456];
assert_vec_approx_eq!(&a, &b, 1e-6);
}
Check derivatives
use russell_chk::assert_deriv_approx_eq;
struct Arguments {}
fn main() {
let f = |x: f64, _: &mut Arguments| -x;
let args = &mut Arguments {};
let at_x = 8.0;
let dfdx = -1.01;
assert_deriv_approx_eq!(dfdx, at_x, f, args, 1e-2);
}
Check complex numbers
use russell_chk::assert_complex_vec_approx_eq;
use num_complex::Complex64;
fn main() {
let a = [
Complex64::new(0.123456789, 5.01),
Complex64::new(0.123456789, 5.01),
Complex64::new(0.123456789, 5.01)];
let b = [
Complex64::new(0.12345678, 5.01),
Complex64::new(0.1234567, 5.01),
Complex64::new(0.123456, 5.01)];
assert_complex_vec_approx_eq!(&a, &b, 1e-6);
}
Dependencies
~265KB