code: def check_sample(self, is_gpu):
      if is_gpu:
          smp1 = self.gpu_dist.sample(
              sample_shape=(100000,) + self.sample_shape
          ).data
      else:
          smp1 = self.cpu_dist.sample(
              sample_shape=(100000,) + self.sample_shape
          ).data
  
      if self.scipy_onebyone:
          smp2 = []
          for one_params in self.scipy_onebyone_params_iter():
              smp2.append(
                  self.scipy_dist.rvs(
                      size=(100000,) + self.sample_shape, **one_params
                  )
              )
          smp2 = numpy.vstack(smp2)
          smp2 = smp2.reshape(
              (utils.size_of_shape(self.shape), 100000)
              + self.sample_shape
              + self.cpu_dist.event_shape
          )
          smp2 = numpy.rollaxis(
              smp2, 0, smp2.ndim - len(self.cpu_dist.event_shape)
          )
          smp2 = smp2.reshape(
              (100000,)
              + self.sample_shape
              + self.shape
              + self.cpu_dist.event_shape
          )
      else:
          smp2 = self.scipy_dist.rvs(
              size=(100000,) + self.sample_shape + self.shape,
              **self.scipy_params,
          )
      array.assert_allclose(
          smp1.mean(axis=0), smp2.mean(axis=0), atol=3e-2, rtol=3e-2
      )
      array.assert_allclose(
          smp1.std(axis=0), smp2.std(axis=0), atol=3e-2, rtol=3e-2
      )
  
imports: import functools
  import unittest
  import numpy
  import chainer
  from chainer.backends import cuda
  from chainer.testing import array
  from chainer.testing import attr
  from chainer import utils
label_desc: Use image node_id 33 for calling the distribution_unittest obj's underlying member method code with example usage: obj.check_sample(is_gpu) without return types