class_docstr: Uniform Distribution.
  
  The probability density function of the distribution is expressed as
  
  .. math::
      p(x; l, h) = \begin{cases}
          \frac{1}{h - l} & \text{if }l \leq x \leq h \\
          0 & \text{otherwise}
        \end{cases}
  
  Args:
      low(:class:`~chainer.Variable` or :ref:`ndarray`): Parameter of
          distribution representing the lower bound :math:`l`.
      high(:class:`~chainer.Variable` or :ref:`ndarray`): Parameter of
          distribution representing the higher bound :math:`h`.
code: def sample_n(self, n):
      xp = backend.get_array_module(self.low)
      if xp is cuda.cupy:
          eps = xp.random.uniform(
              0, 1, (n,) + self.low.shape, dtype=self.low.dtype
          )
      else:
          eps = xp.random.uniform(0, 1, (n,) + self.low.shape).astype(
              self.low.dtype
          )
  
      noise = self.icdf(eps)
  
      return noise
  
imports: import chainer
  from chainer import backend
  from chainer.backends import cuda
  from chainer import distribution
  from chainer.functions.array import broadcast
  from chainer.functions.array import where
  from chainer.functions.math import clip
  from chainer.functions.math import exponential
  from chainer.functions.math import sqrt
  from chainer import utils
  from chainer.utils import argument
  from chainer.utils import cache
label_desc: Use image node_id 14 for calling the Uniform obj's underlying member method code with example usage: obj.sample_n(n) and returns: noise