code: def check_forward(self, y_data, z_data):
      y = chainer.Variable(y_data)
      z = chainer.Variable(z_data)
      loss = functions.cross_covariance(y, z, self.reduce)
  
      self.assertEqual(loss.shape, self.gloss.shape)
      self.assertEqual(loss.data.dtype, self.dtype)
      loss_value = cuda.to_cpu(loss.data)
  
      # Compute expected value
      loss_expect = _cross_covariance(y_data, z_data, dtype=self.dtype)
      if self.reduce == "half_squared_sum":
          loss_expect = numpy.sum(loss_expect**2) * 0.5
      numpy.testing.assert_allclose(
          loss_expect, loss_value, **self.forward_options
      )
  
imports: import unittest
  import numpy
  import six
  import chainer
  from chainer.backends import cuda
  from chainer import functions
  from chainer import gradient_check
  from chainer import testing
  from chainer.testing import attr
label_desc: Use image node_id 2 for calling the TestCrossCovariance obj's underlying member method code with example usage: obj.check_forward(y_data, z_data) without return types