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
def test_invalid_argument_log_normal_float(self): out = cupy.empty((1,), dtype=numpy.float32) with self.assertRaises(ValueError): curand.generateLogNormal( self.generator, out.data.ptr, 1, 0.0, 1.0)