1
- import math
2
1
import unittest
3
2
4
3
import numpy
5
4
import pytest
6
- from numpy .testing import assert_allclose , assert_array_equal
5
+ from numpy .testing import assert_allclose , assert_array_equal , assert_equal
7
6
8
7
import dpnp .random
9
8
@@ -24,11 +23,11 @@ def check_moments(
24
23
):
25
24
seed = 28041995
26
25
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 )
32
31
33
32
def check_invalid_args (self , dist_name , params ):
34
33
size = 10
@@ -39,10 +38,10 @@ def check_seed(self, dist_name, params):
39
38
seed = 28041990
40
39
size = 10
41
40
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 )
43
42
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 )
46
45
47
46
48
47
@pytest .mark .parametrize (
@@ -127,7 +126,7 @@ def test_seed(func):
127
126
a1 = func (args )
128
127
dpnp .random .seed (seed )
129
128
a2 = func (args )
130
- assert_allclose (a1 , a2 , rtol = 1e-07 , atol = 0 )
129
+ assert dpnp . allclose (a1 , a2 )
131
130
132
131
133
132
def test_randn_normal_distribution ():
@@ -144,11 +143,11 @@ def test_randn_normal_distribution():
144
143
expected_var = 1.0
145
144
146
145
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 )
152
151
153
152
154
153
@pytest .mark .skipif (not has_support_aspect64 (), reason = "Failed on Iris Xe" )
@@ -562,7 +561,7 @@ def test_check_sum(self):
562
561
pvals = [1 / 6.0 ] * 6
563
562
dpnp .random .seed (seed )
564
563
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 ())
566
565
567
566
def test_invalid_args (self ):
568
567
n = - 10 # parameter `n`, non-negative expected
@@ -595,11 +594,9 @@ def test_moments(self):
595
594
mean = [2.56 , 3.23 ]
596
595
cov = [[1 , 0 ], [0 , 1 ]]
597
596
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 )
603
600
604
601
def test_invalid_args (self ):
605
602
mean = [2.56 , 3.23 ] # OK
@@ -709,13 +706,11 @@ def test_moments(self, df):
709
706
size = 10 ** 6
710
707
seed = 28041995
711
708
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 )
719
714
720
715
def test_invalid_args (self ):
721
716
size = 10
@@ -739,7 +734,7 @@ def test_seed(self, df):
739
734
a1 = dpnp .asarray (dpnp .random .noncentral_chisquare (df , nonc , size = size ))
740
735
dpnp .random .seed (seed )
741
736
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 )
743
738
744
739
745
740
@pytest .mark .skipif (not has_support_aspect64 (), reason = "Failed on Iris Xe" )
@@ -982,11 +977,11 @@ def test_moments(self, kappa):
982
977
expected_mean = numpy .mean (numpy_res )
983
978
expected_var = numpy .var (numpy_res )
984
979
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 )
990
985
991
986
def test_invalid_args (self ):
992
987
size = 10
@@ -1006,7 +1001,7 @@ def test_seed(self, kappa):
1006
1001
a1 = dpnp .asarray (dpnp .random .vonmises (mu , kappa , size = size ))
1007
1002
dpnp .random .seed (seed )
1008
1003
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 )
1010
1005
1011
1006
1012
1007
@pytest .mark .skipif (not has_support_aspect64 (), reason = "Failed on Iris Xe" )
@@ -1187,3 +1182,8 @@ def test_shuffle1_fallback(self, conv):
1187
1182
actual = alist
1188
1183
desired = conv ([0 , 1 , 9 , 6 , 2 , 4 , 5 , 8 , 7 , 3 ])
1189
1184
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