@@ -22,97 +22,67 @@ def test_median(dtype, size):
22
22
assert_allclose (dpnp_res , np_res )
23
23
24
24
25
+ @pytest .mark .parametrize ("func" , ["max" , "min" ])
25
26
@pytest .mark .parametrize ("axis" , [None , 0 , 1 , - 1 , 2 , - 2 , (1 , 2 ), (0 , - 2 )])
26
27
@pytest .mark .parametrize ("keepdims" , [False , True ])
27
28
@pytest .mark .parametrize ("dtype" , get_all_dtypes (no_bool = True ))
28
- def test_max_min (axis , keepdims , dtype ):
29
+ def test_max_min (func , axis , keepdims , dtype ):
29
30
a = numpy .arange (768 , dtype = dtype ).reshape ((4 , 4 , 6 , 8 ))
30
31
ia = dpnp .array (a )
31
32
32
- np_res = numpy .max (a , axis = axis , keepdims = keepdims )
33
- dpnp_res = dpnp .max (ia , axis = axis , keepdims = keepdims )
34
-
35
- assert dpnp_res .shape == np_res .shape
36
- assert_allclose (dpnp_res , np_res )
37
-
38
- np_res = numpy .min (a , axis = axis , keepdims = keepdims )
39
- dpnp_res = dpnp .min (ia , axis = axis , keepdims = keepdims )
33
+ np_res = getattr (numpy , func )(a , axis = axis , keepdims = keepdims )
34
+ dpnp_res = getattr (dpnp , func )(ia , axis = axis , keepdims = keepdims )
40
35
41
36
assert dpnp_res .shape == np_res .shape
42
37
assert_allclose (dpnp_res , np_res )
43
38
44
39
40
+ @pytest .mark .parametrize ("func" , ["max" , "min" ])
45
41
@pytest .mark .parametrize ("axis" , [None , 0 , 1 , - 1 ])
46
42
@pytest .mark .parametrize ("keepdims" , [False , True ])
47
- def test_max_min_bool (axis , keepdims ):
43
+ def test_max_min_bool (func , axis , keepdims ):
48
44
a = numpy .arange (2 , dtype = dpnp .bool )
49
45
a = numpy .tile (a , (2 , 2 ))
50
46
ia = dpnp .array (a )
51
47
52
- np_res = numpy .max (a , axis = axis , keepdims = keepdims )
53
- dpnp_res = dpnp .max (ia , axis = axis , keepdims = keepdims )
54
-
55
- assert dpnp_res .shape == np_res .shape
56
- assert_allclose (dpnp_res , np_res )
57
-
58
- np_res = numpy .min (a , axis = axis , keepdims = keepdims )
59
- dpnp_res = dpnp .min (ia , axis = axis , keepdims = keepdims )
48
+ np_res = getattr (numpy , func )(a , axis = axis , keepdims = keepdims )
49
+ dpnp_res = getattr (dpnp , func )(ia , axis = axis , keepdims = keepdims )
60
50
61
51
assert dpnp_res .shape == np_res .shape
62
52
assert_allclose (dpnp_res , np_res )
63
53
64
54
65
- def test_max_min_out ():
55
+ @pytest .mark .parametrize ("func" , ["max" , "min" ])
56
+ def test_max_min_out (func ):
66
57
a = numpy .arange (6 ).reshape ((2 , 3 ))
67
58
ia = dpnp .array (a )
68
59
69
- np_res = numpy . max (a , axis = 0 )
60
+ np_res = getattr ( numpy , func ) (a , axis = 0 )
70
61
dpnp_res = dpnp .array (numpy .empty_like (np_res ))
71
- dpnp . max (ia , axis = 0 , out = dpnp_res )
62
+ getattr ( dpnp , func ) (ia , axis = 0 , out = dpnp_res )
72
63
assert_allclose (dpnp_res , np_res )
73
64
74
65
dpnp_res = dpt .asarray (numpy .empty_like (np_res ))
75
- dpnp . max (ia , axis = 0 , out = dpnp_res )
66
+ getattr ( dpnp , func ) (ia , axis = 0 , out = dpnp_res )
76
67
assert_allclose (dpnp_res , np_res )
77
68
78
69
dpnp_res = numpy .empty_like (np_res )
79
70
with pytest .raises (TypeError ):
80
- dpnp . max (ia , axis = 0 , out = dpnp_res )
71
+ getattr ( dpnp , func ) (ia , axis = 0 , out = dpnp_res )
81
72
82
73
dpnp_res = dpnp .array (numpy .empty ((2 , 3 )))
83
74
with pytest .raises (ValueError ):
84
- dpnp . max (ia , axis = 0 , out = dpnp_res )
75
+ getattr ( dpnp , func ) (ia , axis = 0 , out = dpnp_res )
85
76
86
- np_res = numpy .min (a , axis = 0 )
87
- dpnp_res = dpnp .array (numpy .empty_like (np_res ))
88
- dpnp .min (ia , axis = 0 , out = dpnp_res )
89
- assert_allclose (dpnp_res , np_res )
90
77
91
- dpnp_res = dpt .asarray (numpy .empty_like (np_res ))
92
- dpnp .min (ia , axis = 0 , out = dpnp_res )
93
- assert_allclose (dpnp_res , np_res )
94
-
95
- dpnp_res = numpy .empty_like (np_res )
96
- with pytest .raises (TypeError ):
97
- dpnp .min (ia , axis = 0 , out = dpnp_res )
98
-
99
- dpnp_res = dpnp .array (numpy .empty ((2 , 3 )))
100
- with pytest .raises (ValueError ):
101
- dpnp .min (ia , axis = 0 , out = dpnp_res )
102
-
103
-
104
- def test_max_min_NotImplemented ():
78
+ @pytest .mark .parametrize ("func" , ["max" , "min" ])
79
+ def test_max_min_NotImplemented (func ):
105
80
ia = dpnp .arange (5 )
106
81
107
82
with pytest .raises (NotImplementedError ):
108
- dpnp .max (ia , where = False )
109
- with pytest .raises (NotImplementedError ):
110
- dpnp .max (ia , initial = 6 )
111
-
112
- with pytest .raises (NotImplementedError ):
113
- dpnp .min (ia , where = False )
83
+ getattr (dpnp , func )(ia , where = False )
114
84
with pytest .raises (NotImplementedError ):
115
- dpnp . min (ia , initial = 6 )
85
+ getattr ( dpnp , func ) (ia , initial = 6 )
116
86
117
87
118
88
@pytest .mark .usefixtures ("allow_fall_back_on_numpy" )
0 commit comments