bundles / scipy 2.0.0.dev0+git20260907.41eeb59 / scipy / _external / array_api_extra / testing / assert_close_nulp
function
scipy._external.array_api_extra.testing:assert_close_nulp
source: build-install/usr/lib/python3.14/site-packages/scipy/_external/array_api_extra/testing.py:957
Signature
def assert_close_nulp(actual: Array, desired: Array, *, nulp: int = 1, check_dtype: bool = True, check_shape: bool = True, check_scalar: bool = False, check_device: bool = True, xp: ArrayNamespace | None = None) → NoneSummary
Compare two arrays relatively to their spacing.
Extended Summary
This is an interface to numpy.testing.assert_array_almost_equal_nulp which accepts any standard-compatible array and performs additional array namespace, shape, and dtype checks.
Parameters
actual: ArrayThe array produced by the tested function.
desired: ArrayThe expected array (typically hardcoded).
nulp: int, optionalThe maximum number of units in the last place for the tolerance check. Default:
1.check_dtype: bool, default: TrueWhether to check agreement between actual and desired dtypes.
check_shape: bool, default: TrueWhether to check agreement between actual and desired shapes.
check_scalar: bool, default: FalseNumPy only: whether to check agreement between actual and desired types — 0-D numpy.ndarray vs scalar (e.g. numpy.double).
check_device: bool, default: TrueWhether to check agreement between actual and desired devices.
xp: array_namespace, optionalA standard-compatible namespace which
actualanddesiredmust match.
Raises
: AssertionErrorIf the spacing between
actualanddesiredfor one or more elements is larger thannulp.: ImportErrorIf numpy is not importable in the Python environment.
Notes
This is a relatively robust method to compare two arrays whose amplitude is variable.
An assertion is raised if the following condition is not met
abs(actual - desired) <= nulp * spacing(maximum(abs(actual), abs(desired)))where spacing(x) is the distance between x and the nearest adjacent number representable by in the data type of x.
See also
- assert_close
Similar function for inexact equality checks.
- numpy.spacing
Spacing calculation for NumPy arrays.
- numpy.testing.assert_array_almost_equal_nulp
Similar function for NumPy arrays.
Aliases
scipy.differentiate.xpx.testing.assert_close_nulp