code: def isclose(a, b, rtol=1.0e-5, atol=1.0e-8, equal_nan=False):
      """Returns a boolean array where two arrays are equal within a tolerance.
  
      Two values in ``a`` and ``b`` are  considiered equal when the following
      equation is satisfied.
  
      .. math::
  
         |a - b| \\le \\mathrm{atol} + \\mathrm{rtol} |b|
  
      Args:
          a (cupy.ndarray): Input array to compare.
          b (cupy.ndarray): Input array to compare.
          rtol (float): The relative tolerance.
          atol (float): The absolute tolerance.
          equal_nan (bool): If ``True``, NaN's in ``a`` will be considered equal
              to NaN's in ``b``.
  
      Returns:
          cupy.ndarray: A boolean array storing where ``a`` and ``b`` are equal.
  
      .. seealso:: :func:`numpy.isclose`
  
      """
      a = cupy.asanyarray(a)
      b = cupy.asanyarray(b)
      if (a.dtype in [numpy.complex64, numpy.complex128]) or (
          b.dtype in [numpy.complex64, numpy.complex128]
      ):
          return _is_close_complex(a, b, rtol, atol, equal_nan)
      else:
          return _is_close(a, b, rtol, atol, equal_nan)
  
imports: import numpy
  import cupy
  from cupy import _core
  from cupy._logic import content
label_desc: Use image node_id 3 for calling a global function with example usage: isclose(a, b, rtol, atol, equal_nan) and returns: _is_close_complex, _is_close