def normal(self, loc=0.0, scale=1.0, size=None, dtype=float): """Returns an array of normally distributed samples. .. seealso:: :func:`cupy.random.normal` for full documentation, :meth:`numpy.random.RandomState.normal` """ dtype = _check_and_get_dtype(dtype) size = _get_size(size) out = cupy.empty(size, dtype=dtype) if dtype.type == numpy.float32: curand.generateNormal(self._generator, out._fptr, out.size, loc, scale) else: curand.generateNormalDouble(self._generator, out._fptr, out.size, loc, scale) return out
def test_invalid_argument_normal_float(self): out = cupy.empty((1,), dtype=numpy.float32) with self.assertRaises(ValueError): curand.generateNormal( self.generator, out.data.ptr, 1, 0.0, 1.0)