code: def assert_allclose_ex(
      x,
      y,
      rtol=1e-7,
      atol=0,
      equal_nan=True,
      err_msg="",
      verbose=True,
      **kwargs,
  ):
      """assert_allclose_ex(
             x, y, rtol=1e-7, atol=0, equal_nan=True, err_msg='', verbose=True,
             *, dtype_check=True, strides_check=True)
  
      Raises an AssertionError if two array_like objects are not equal up to a
      tolerance.
  
      Args:
           x(numpy.ndarray or chainerx.ndarray): The actual object to check.
           y(numpy.ndarray or chainerx.ndarray): The desired, expected object.
           rtol(float): Relative tolerance.
           atol(float): Absolute tolerance.
           equal_nan(bool): Allow NaN values if True. Otherwise, fail the
               assertion if any NaN is found.
           err_msg(str): The error message to be printed in case of failure.
           verbose(bool): If ``True``, the conflicting values
               are appended to the error message.
           dtype_check(bool): If ``True``, consistency of dtype is also checked.
               Disabling ``dtype_check`` also implies ``strides_check=False``.
           strides_check(bool): If ``True``, consistency of strides is also
               checked.
           float16_rtol(float): Relative tolerance for float16 dtype.
           float16_atol(float): Absolute tolerance for float16 dtype.
           float32_rtol(float): Relative tolerance for float32 dtype.
           float32_atol(float): Absolute tolerance for float32 dtype.
           float64_rtol(float): Relative tolerance for float64 dtype.
           float64_atol(float): Absolute tolerance for float64 dtype.
      .. seealso:: :func:`numpy.testing.assert_allclose`
      """
      dtype_check = kwargs.pop("dtype_check", None)
      strides_check = kwargs.pop("strides_check", None)
      atol = kwargs.pop(x.dtype.name + "_atol", atol)
      rtol = kwargs.pop(x.dtype.name + "_rtol", rtol)
  
      assert_allclose(x, y, rtol, atol, equal_nan, err_msg, verbose)
      _check_dtype_and_strides(x, y, dtype_check, strides_check)
  
file_path: chainer/chainerx/testing/array.py
imports: import numpy.testing
  import chainerx
label_desc: Use image node_id 6 for calling a global function with example usage: assert_allclose_ex(x, y, rtol, atol, equal_nan, err_msg, verbose) without return types