Skip to content

Commit c67c20b

Browse files
committed
update random tests
1 parent b077c1b commit c67c20b

File tree

2 files changed

+93
-121
lines changed

2 files changed

+93
-121
lines changed

dpnp/tests/test_random.py

Lines changed: 36 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
1-
import math
21
import unittest
32

43
import numpy
54
import pytest
6-
from numpy.testing import assert_allclose, assert_array_equal
5+
from numpy.testing import assert_allclose, assert_array_equal, assert_equal
76

87
import dpnp.random
98

@@ -24,11 +23,11 @@ def check_moments(
2423
):
2524
seed = 28041995
2625
dpnp.random.seed(seed)
27-
res = dpnp.asnumpy(getattr(dpnp.random, dist_name)(size=size, **params))
28-
var = numpy.var(res)
29-
mean = numpy.mean(res)
30-
assert math.isclose(var, expected_var, abs_tol=0.1)
31-
assert math.isclose(mean, expected_mean, abs_tol=0.1)
26+
res = getattr(dpnp.random, dist_name)(size=size, **params)
27+
var = dpnp.var(res)
28+
mean = dpnp.mean(res)
29+
assert_allclose(var, expected_var, atol=0.1)
30+
assert_allclose(mean, expected_mean, atol=0.1)
3231

3332
def check_invalid_args(self, dist_name, params):
3433
size = 10
@@ -39,10 +38,10 @@ def check_seed(self, dist_name, params):
3938
seed = 28041990
4039
size = 10
4140
dpnp.random.seed(seed)
42-
a1 = dpnp.asnumpy(getattr(dpnp.random, dist_name)(size=size, **params))
41+
a1 = getattr(dpnp.random, dist_name)(size=size, **params)
4342
dpnp.random.seed(seed)
44-
a2 = dpnp.asnumpy(getattr(dpnp.random, dist_name)(size=size, **params))
45-
assert_allclose(a1, a2, rtol=1e-07, atol=0)
43+
a2 = getattr(dpnp.random, dist_name)(size=size, **params)
44+
assert_allclose(a1, a2)
4645

4746

4847
@pytest.mark.parametrize(
@@ -127,7 +126,7 @@ def test_seed(func):
127126
a1 = func(args)
128127
dpnp.random.seed(seed)
129128
a2 = func(args)
130-
assert_allclose(a1, a2, rtol=1e-07, atol=0)
129+
assert dpnp.allclose(a1, a2)
131130

132131

133132
def test_randn_normal_distribution():
@@ -144,11 +143,11 @@ def test_randn_normal_distribution():
144143
expected_var = 1.0
145144

146145
dpnp.random.seed(seed)
147-
res = dpnp.asnumpy(dpnp.random.randn(pts))
148-
var = numpy.var(res)
149-
mean = numpy.mean(res)
150-
assert math.isclose(var, expected_var, abs_tol=0.03)
151-
assert math.isclose(mean, expected_mean, abs_tol=0.03)
146+
res = dpnp.random.randn(pts)
147+
var = dpnp.var(res)
148+
mean = dpnp.mean(res)
149+
assert_allclose(var, expected_var, atol=1e-02)
150+
assert_allclose(mean, expected_mean, atol=1e-02)
152151

153152

154153
@pytest.mark.skipif(not has_support_aspect64(), reason="Failed on Iris Xe")
@@ -562,7 +561,7 @@ def test_check_sum(self):
562561
pvals = [1 / 6.0] * 6
563562
dpnp.random.seed(seed)
564563
res = dpnp.random.multinomial(n, pvals, size)
565-
assert_allclose(n, dpnp.asnumpy(res).sum(), rtol=1e-07, atol=0)
564+
assert_equal(n, res.sum())
566565

567566
def test_invalid_args(self):
568567
n = -10 # parameter `n`, non-negative expected
@@ -595,11 +594,9 @@ def test_moments(self):
595594
mean = [2.56, 3.23]
596595
cov = [[1, 0], [0, 1]]
597596
size = 10**5
598-
res = dpnp.asnumpy(
599-
dpnp.random.multivariate_normal(mean=mean, cov=cov, size=size)
600-
)
601-
res_mean = [numpy.mean(res.T[0]), numpy.mean(res.T[1])]
602-
assert_allclose(res_mean, mean, rtol=1e-02, atol=0)
597+
res = dpnp.random.multivariate_normal(mean=mean, cov=cov, size=size)
598+
res_mean = [dpnp.mean(res.T[0]), dpnp.mean(res.T[1])]
599+
assert dpnp.allclose(res_mean, mean)
603600

604601
def test_invalid_args(self):
605602
mean = [2.56, 3.23] # OK
@@ -709,13 +706,11 @@ def test_moments(self, df):
709706
size = 10**6
710707
seed = 28041995
711708
dpnp.random.seed(seed)
712-
res = dpnp.asnumpy(
713-
dpnp.random.noncentral_chisquare(df, nonc, size=size)
714-
)
715-
var = numpy.var(res)
716-
mean = numpy.mean(res)
717-
assert math.isclose(var, expected_var, abs_tol=0.6)
718-
assert math.isclose(mean, expected_mean, abs_tol=0.6)
709+
res = dpnp.random.noncentral_chisquare(df, nonc, size=size)
710+
var = dpnp.var(res)
711+
mean = dpnp.mean(res)
712+
assert_allclose(var, expected_var, atol=0.6)
713+
assert_allclose(mean, expected_mean, atol=0.6)
719714

720715
def test_invalid_args(self):
721716
size = 10
@@ -739,7 +734,7 @@ def test_seed(self, df):
739734
a1 = dpnp.asarray(dpnp.random.noncentral_chisquare(df, nonc, size=size))
740735
dpnp.random.seed(seed)
741736
a2 = dpnp.asarray(dpnp.random.noncentral_chisquare(df, nonc, size=size))
742-
assert_allclose(a1, a2, rtol=1e-07, atol=0)
737+
assert dpnp.allclose(a1, a2)
743738

744739

745740
@pytest.mark.skipif(not has_support_aspect64(), reason="Failed on Iris Xe")
@@ -982,11 +977,11 @@ def test_moments(self, kappa):
982977
expected_mean = numpy.mean(numpy_res)
983978
expected_var = numpy.var(numpy_res)
984979

985-
res = dpnp.asnumpy(dpnp.random.vonmises(mu, kappa, size=size))
986-
var = numpy.var(res)
987-
mean = numpy.mean(res)
988-
assert math.isclose(var, expected_var, abs_tol=0.6)
989-
assert math.isclose(mean, expected_mean, abs_tol=0.6)
980+
res = dpnp.random.vonmises(mu, kappa, size=size)
981+
var = dpnp.var(res)
982+
mean = dpnp.mean(res)
983+
assert_allclose(var, expected_var, atol=0.6)
984+
assert_allclose(mean, expected_mean, atol=0.6)
990985

991986
def test_invalid_args(self):
992987
size = 10
@@ -1006,7 +1001,7 @@ def test_seed(self, kappa):
10061001
a1 = dpnp.asarray(dpnp.random.vonmises(mu, kappa, size=size))
10071002
dpnp.random.seed(seed)
10081003
a2 = dpnp.asarray(dpnp.random.vonmises(mu, kappa, size=size))
1009-
assert_allclose(a1, a2, rtol=1e-07, atol=0)
1004+
assert dpnp.allclose(a1, a2)
10101005

10111006

10121007
@pytest.mark.skipif(not has_support_aspect64(), reason="Failed on Iris Xe")
@@ -1187,3 +1182,8 @@ def test_shuffle1_fallback(self, conv):
11871182
actual = alist
11881183
desired = conv([0, 1, 9, 6, 2, 4, 5, 8, 7, 3])
11891184
assert_array_equal(actual, desired)
1185+
alist = conv([1, 2, 3, 4, 5, 6, 7, 8, 9, 0])
1186+
dpnp.random.shuffle(alist)
1187+
actual = alist
1188+
desired = conv([0, 1, 9, 6, 2, 4, 5, 8, 7, 3])
1189+
assert_array_equal(actual, desired)

0 commit comments

Comments
 (0)