mlx_rs/macros/assert.rs
1/// Asserts that two arrays are equal.
2///
3/// It checks that the two arrays have the same shape and that all elements are
4/// sufficiently close.
5#[macro_export]
6macro_rules! assert_array_eq {
7 ($value:expr, $expected:expr) => {
8 assert_array_eq!($value, $expected, None);
9 };
10 ($value:expr, $expected:expr, $atol:expr) => {
11 assert_eq!($value.shape(), $expected.shape(), "Shapes are not equal");
12 let assert = $value.all_close(&$expected, $atol, $atol, None);
13 assert!(
14 assert.unwrap().item::<bool>(),
15 "Values are not sufficiently close"
16 );
17 };
18}