pub fn arrays_equal<S1, S2, D, T>(
array1: &ArrayBase<S1, D>,
array2: &ArrayBase<S2, D>,
tol: Option<T>,
) -> boolwhere
S1: Data<Elem = T>,
S2: Data<Elem = T>,
D: Dimension,
T: PartialOrd + Sub<Output = T> + Copy + FromPrimitive + Zero,
Expand description
Compare arrays within a tolerance
Compares each element of the arrays to determine if they are approximately equal within the specified tolerance.
§Arguments
array1
- First arrayarray2
- Second arraytol
- Tolerance (default: 1e-8)
§Returns
- True if arrays are equal within tolerance
§Examples
use scirs2_core::utils::arrays_equal;
use ndarray::array;
let arr1 = array![[1.0, 2.0], [3.0, 4.0]];
let arr2 = array![[1.0, 2.0], [3.0, 4.0]];
let arr3 = array![[1.0, 2.0], [3.0, 4.001]];
assert!(arrays_equal(&arr1, &arr2, None));
assert!(!arrays_equal(&arr1, &arr3, None));
assert!(arrays_equal(&arr1, &arr3, Some(0.01)));