code: def test_special_values(self):
      # carg(-np.inf +- yi) returns +-pi for finite y > 0
      check_real_value(ncu._arg, -np.inf, 1, np.pi, False)
      check_real_value(ncu._arg, -np.inf, -1, -np.pi, False)
  
      # carg(np.inf +- yi) returns +-0 for finite y > 0
      check_real_value(ncu._arg, np.inf, 1, ncu.PZERO, False)
      check_real_value(ncu._arg, np.inf, -1, ncu.NZERO, False)
  
      # carg(x +- np.infi) returns +-pi/2 for finite x
      check_real_value(ncu._arg, 1, np.inf, 0.5 * np.pi, False)
      check_real_value(ncu._arg, 1, -np.inf, -0.5 * np.pi, False)
  
      # carg(-np.inf +- np.infi) returns +-3pi/4
      check_real_value(ncu._arg, -np.inf, np.inf, 0.75 * np.pi, False)
      check_real_value(ncu._arg, -np.inf, -np.inf, -0.75 * np.pi, False)
  
      # carg(np.inf +- np.infi) returns +-pi/4
      check_real_value(ncu._arg, np.inf, np.inf, 0.25 * np.pi, False)
      check_real_value(ncu._arg, np.inf, -np.inf, -0.25 * np.pi, False)
  
      # carg(x + yi) returns np.nan if x or y is nan
      check_real_value(ncu._arg, np.nan, 0, np.nan, False)
      check_real_value(ncu._arg, 0, np.nan, np.nan, False)
  
      check_real_value(ncu._arg, np.nan, np.inf, np.nan, False)
      check_real_value(ncu._arg, np.inf, np.nan, np.nan, False)
  
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 3 for calling the TestCarg obj's underlying member method code with example usage: obj.test_special_values() without return types