code: def test_math_functions(self):
      f, g = self.f, self.g
  
      fake_raw_data = self.fake_raw_data
      alt_fake_raw_data = {
          self.f: full((5, 5), 0.5),
          self.g: full((5, 5), -0.5),
      }
  
      for funcname in NUMEXPR_MATH_FUNCS:
          method = methodcaller(funcname)
          func = getattr(numpy, funcname)
  
          # These methods have domains in [0, 1], so we need alternate inputs
          # that are in the domain.
          if funcname in ("arcsin", "arccos", "arctanh"):
              self.fake_raw_data = alt_fake_raw_data
          else:
              self.fake_raw_data = fake_raw_data
  
          f_val = self.fake_raw_data[f][0, 0]
          g_val = self.fake_raw_data[g][0, 0]
  
          self.check_constant_output(method(f), func(f_val))
          self.check_constant_output(method(g), func(g_val))
  
          self.check_constant_output(method(f) + 1, func(f_val) + 1)
          self.check_constant_output(1 + method(f), 1 + func(f_val))
  
          self.check_constant_output(
              method(f + 0.25), func(f_val + 0.25)
          )
          self.check_constant_output(
              method(0.25 + f), func(0.25 + f_val)
          )
  
          self.check_constant_output(
              method(f) + method(g),
              func(f_val) + func(g_val),
          )
          self.check_constant_output(
              method(f + g),
              func(f_val + g_val),
          )
  
imports: from itertools import permutations
  from operator import add, ge, gt, le, lt, methodcaller, mul, ne, sub
  from string import ascii_uppercase
  from unittest import TestCase
  import numpy
  from numpy import arange, array, eye, float64, full, isnan, zeros
  from pandas import DataFrame, date_range, Int64Index
  from catalyst.pipeline import Factor, Filter
  from catalyst.pipeline.expression import NumericalExpression, NUMEXPR_MATH_FUNCS
  from catalyst.testing import check_allclose
  from catalyst.utils.numpy_utils import datetime64ns_dtype, float64_dtype
label_desc: Use image node_id 17 for calling the NumericalExpressionTestCase obj's underlying member method code with example usage: obj.test_math_functions() without return types