Example #1
0
    def lognormal(self, mean=0.0, sigma=1.0, size=None, dtype=float):
        """Returns an array of samples drawn from a log normal distribution.

        .. seealso::
            :func:`cupy.random.lognormal` for full documentation,
            :meth:`numpy.random.RandomState.lognormal`

        """
        dtype = _check_and_get_dtype(dtype)
        size = _get_size(size)
        out = cupy.empty(size, dtype=dtype)
        if dtype.type == numpy.float32:
            curand.generateLogNormal(self._generator, out._fptr, out.size,
                                     mean, sigma)
        else:
            curand.generateLogNormalDouble(self._generator, out._fptr,
                                           out.size, mean, sigma)
        return out
Example #2
0
    def lognormal(self, mean=0.0, sigma=1.0, size=None, dtype=float):
        """Returns an array of samples drawn from a log normal distribution.

        .. seealso::
            :func:`cupy.random.lognormal` for full documentation,
            :meth:`numpy.random.RandomState.lognormal`

        """
        dtype = _check_and_get_dtype(dtype)
        size = _get_size(size)
        out = cupy.empty(size, dtype=dtype)
        if dtype.type == numpy.float32:
            curand.generateLogNormal(self._generator, out._fptr, out.size,
                                     mean, sigma)
        else:
            curand.generateLogNormalDouble(self._generator, out._fptr,
                                           out.size, mean, sigma)
        return out
Example #3
0
 def test_invalid_argument_log_normal_double(self):
     out = cupy.empty((1,), dtype=numpy.float64)
     with self.assertRaises(ValueError):
         curand.generateLogNormalDouble(
             self.generator, out.data.ptr, 1, 0.0, 1.0)