code: def test_equivalent_negsq(self):
      # special case negsquarenormalg
      # negsquarenormalg.cdf(x) == stats.chi2(1).cdf(-x), for x<=0
  
      xx, nxx, ppfq = self.xx, self.nxx, self.ppfq
      d1, d2 = (negsquarenormalg, stats.chi2(1))
      # print d1.name
      assert_almost_equal(
          d1.cdf(nxx), 1 - d2.cdf(xx), err_msg="cdf" + d1.name
      )
      assert_almost_equal(d1.pdf(nxx), d2.pdf(xx))
      assert_almost_equal(d1.sf(nxx), 1 - d2.sf(xx))
      assert_almost_equal(d1.ppf(ppfq), -d2.ppf(ppfq)[::-1])
      assert_almost_equal(d1.isf(ppfq), -d2.isf(ppfq)[::-1])
      assert_almost_equal(d1.moment(3), -d2.moment(3))
      ch2oddneg = [
          v * (-1) ** (i + 1)
          for i, v in enumerate(d2.stats(moments="mvsk"))
      ]
      assert_almost_equal(
          d1.stats(moments="mvsk"),
          ch2oddneg,
          err_msg="stats " + d1.name + d2.name,
      )
  
file_path: statsmodels/statsmodels/sandbox/distributions/tests/test_transf.py
imports: import warnings
  import numpy
  from numpy.testing import assert_almost_equal
  from scipy import stats, special
  from statsmodels.sandbox.distributions.extras import squarenormalg, absnormalg, negsquarenormalg, squaretg
label_desc: Use image node_id 3 for calling the Test_Transf2 obj's underlying member method code with example usage: obj.test_equivalent_negsq() without return types