Like np.allclose, but also allows values to be NaN in both arrays
(arr1, arr2, rtol=1e-5, atol=1e-8)
| 343 | |
| 344 | |
| 345 | def allclose_or_equiv(arr1, arr2, rtol=1e-5, atol=1e-8): |
| 346 | """Like np.allclose, but also allows values to be NaN in both arrays""" |
| 347 | arr1 = asarray(arr1) |
| 348 | arr2 = asarray(arr2) |
| 349 | |
| 350 | lazy_equiv = lazy_array_equiv(arr1, arr2) |
| 351 | if lazy_equiv is None: |
| 352 | with warnings.catch_warnings(): |
| 353 | warnings.filterwarnings("ignore", r"All-NaN (slice|axis) encountered") |
| 354 | return bool( |
| 355 | array_all(isclose(arr1, arr2, rtol=rtol, atol=atol, equal_nan=True)) |
| 356 | ) |
| 357 | else: |
| 358 | return lazy_equiv |
| 359 | |
| 360 | |
| 361 | def array_equiv(arr1, arr2): |
nothing calls this directly
no test coverage detected
searching dependent graphs…