code: def check_forward(self, x_data):
      xp = cuda.get_array_module(x_data)
      y = mellowmax(x_data, axis=self.axis, omega=self.omega)
      self.assertEqual(y.array.dtype, self.dtype)
  
      x_min = xp.min(x_data, axis=self.axis)
      x_max = xp.max(x_data, axis=self.axis)
      x_mean = xp.mean(x_data, axis=self.axis)
      print("x_min", x_min)
      print("y.array", y.array)
  
      # min <= mellowmax <= max
      eps = 1e-5
      self.assertTrue(xp.all(x_min <= y.array + eps))
      self.assertTrue(xp.all(x_max >= y.array - eps))
  
      # omega > 0 -> mellowmax is more like max
      if self.omega > 0:
          self.assertTrue(xp.all(x_mean <= y.array + eps))
      # omega < 0 -> mellowmax is more like min
      if self.omega < 0:
          self.assertTrue(xp.all(x_mean >= y.array - eps))
  
imports: import unittest
  from chainer import cuda
  from chainer import testing
  from chainer.testing import attr
  from chainer.testing import condition
  import numpy
  from chainerrl.functions.mellowmax import maximum_entropy_mellowmax
  from chainerrl.functions.mellowmax import mellowmax
label_desc: Use image node_id 2 for calling the TestMellowmax obj's underlying member method code with example usage: obj.check_forward(x_data) without return types