Crate russell_chk
source · [−]Expand description
Russell - Rust Scientific Library
chk: Functions to check vectors and other data in tests
Example
use russell_chk::{assert_complex_approx_eq, assert_complex_vec_approx_eq,
assert_approx_eq, assert_vec_approx_eq, assert_deriv_approx_eq};
use num_complex::Complex64;
// check float point number
assert_approx_eq!(0.0000123, 0.000012, 1e-6);
// check vector of float point numbers
assert_vec_approx_eq!(&[0.01, 0.012], &[0.012, 0.01], 1e-2);
// check derivative using central differences
struct Arguments {}
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
assert_complex_approx_eq!(Complex64::new(1.0,8.0), Complex64::new(1.001,8.0), 1e-2);
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);
Macros
Asserts that two numbers are approximately equal to each other
Asserts that two complex numbers are approximately equal to each other
Asserts that two complex vectors have the same length and approximately equal values
Asserts that derivatives have approximately equal values
Asserts that two vectors have the same length and approximately equal values
Constants
Initial stepsize h for deriv_central5
Functions
Computes the numerical derivative and errors using central differences with 5 points
Computes the numerical derivative using central differences with 5 points
Type Definitions
Defines a type alias for the error type as a static string