code: def test_cabs_inf_nan(self):
      x, y = [], []
  
      # cabs(+-nan + nani) returns nan
      x.append(np.nan)
      y.append(np.nan)
      check_real_value(np.abs, np.nan, np.nan, np.nan)
  
      x.append(np.nan)
      y.append(-np.nan)
      check_real_value(np.abs, -np.nan, np.nan, np.nan)
  
      # According to C99 standard, if exactly one of the real/part is inf and
      # the other nan, then cabs should return inf
      x.append(np.inf)
      y.append(np.nan)
      check_real_value(np.abs, np.inf, np.nan, np.inf)
  
      x.append(-np.inf)
      y.append(np.nan)
      check_real_value(np.abs, -np.inf, np.nan, np.inf)
  
      # cabs(conj(z)) == conj(cabs(z)) (= cabs(z))
      def f(a):
          return np.abs(np.conj(a))
  
      def g(a, b):
          return np.abs(complex(a, b))
  
      xa = np.array(x, dtype=complex)
      assert len(xa) == len(x) == len(y)
      for xi, yi in zip(x, y):
          ref = g(xi, yi)
          check_real_value(f, xi, yi, ref)
  
imports: import sys
  import platform
  import pytest
  import numpy
  import numpy._core._multiarray_umath
  from numpy.testing import assert_raises, assert_equal, assert_array_equal, assert_almost_equal, assert_array_max_ulp
label_desc: Use image node_id 5 for calling the TestCabs obj's underlying member method code with example usage: obj.test_cabs_inf_nan() and returns: np, np