1- import math
21import unittest
32
43import numpy
54import pytest
6- from numpy .testing import assert_allclose , assert_array_equal
5+ from numpy .testing import assert_allclose , assert_array_equal , assert_equal
76
87import 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
133132def 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