File tree Expand file tree Collapse file tree 5 files changed +89
-0
lines changed
Expand file tree Collapse file tree 5 files changed +89
-0
lines changed Original file line number Diff line number Diff line change @@ -263,3 +263,21 @@ def __sycl_usm_array_interface__(self):
263263 c = Canary ()
264264 with pytest .raises (ValueError ):
265265 dpt .greater (a , c )
266+
267+
268+ def test_greater_mixed_integer_kinds ():
269+ get_queue_or_skip ()
270+
271+ x1 = dpt .flip (dpt .arange (- 9 , 1 , dtype = "i8" ))
272+ x2 = dpt .arange (10 , dtype = "u8" )
273+
274+ # u8 - i8
275+ res = dpt .greater (x2 , x1 )
276+ assert dpt .all (res [1 :])
277+ assert not res [0 ]
278+ # i8 - u8
279+ assert not dpt .any (dpt .greater (x1 , x2 ))
280+
281+ # Python scalar
282+ assert dpt .all (dpt .greater (x2 , - 1 ))
283+ assert not dpt .any (dpt .greater (- 1 , x2 ))
Original file line number Diff line number Diff line change @@ -261,3 +261,22 @@ def __sycl_usm_array_interface__(self):
261261 c = Canary ()
262262 with pytest .raises (ValueError ):
263263 dpt .greater_equal (a , c )
264+
265+
266+ def test_greater_equal_mixed_integer_kinds ():
267+ get_queue_or_skip ()
268+
269+ x1 = dpt .flip (dpt .arange (- 9 , 1 , dtype = "i8" ))
270+ x2 = dpt .arange (10 , dtype = "u8" )
271+
272+ # u8 - i8
273+ res = dpt .greater_equal (x2 , x1 )
274+ assert dpt .all (res )
275+ # i8 - u8
276+ res = dpt .greater_equal (x1 , x2 )
277+ assert not dpt .any (res [1 :])
278+ assert res [0 ]
279+
280+ # Python scalar
281+ assert dpt .all (dpt .greater_equal (x2 , - 1 ))
282+ assert not dpt .any (dpt .greater_equal (- 1 , x2 ))
Original file line number Diff line number Diff line change @@ -263,3 +263,21 @@ def __sycl_usm_array_interface__(self):
263263 c = Canary ()
264264 with pytest .raises (ValueError ):
265265 dpt .less (a , c )
266+
267+
268+ def test_less_mixed_integer_kinds ():
269+ get_queue_or_skip ()
270+
271+ x1 = dpt .flip (dpt .arange (- 9 , 1 , dtype = "i8" ))
272+ x2 = dpt .arange (10 , dtype = "u8" )
273+
274+ # u8 - i8
275+ assert not dpt .any (dpt .less (x2 , x1 ))
276+ # i8 - u8
277+ res = dpt .less (x1 , x2 )
278+ assert not res [0 ]
279+ assert dpt .all (res [1 :])
280+
281+ # Python scalar
282+ assert not dpt .any (dpt .less (x2 , - 1 ))
283+ assert dpt .all (dpt .less (- 1 , x2 ))
Original file line number Diff line number Diff line change @@ -262,3 +262,21 @@ def __sycl_usm_array_interface__(self):
262262 c = Canary ()
263263 with pytest .raises (ValueError ):
264264 dpt .less_equal (a , c )
265+
266+
267+ def test_less_equal_mixed_integer_kinds ():
268+ get_queue_or_skip ()
269+
270+ x1 = dpt .flip (dpt .arange (- 9 , 1 , dtype = "i8" ))
271+ x2 = dpt .arange (10 , dtype = "u8" )
272+
273+ # u8 - i8
274+ res = dpt .less_equal (x2 , x1 )
275+ assert res [0 ]
276+ assert not dpt .any (res [1 :])
277+ # i8 - u8
278+ assert dpt .all (dpt .less_equal (x1 , x2 ))
279+
280+ # Python scalar
281+ assert not dpt .any (dpt .less_equal (x2 , - 1 ))
282+ assert dpt .all (dpt .less_equal (- 1 , x2 ))
Original file line number Diff line number Diff line change @@ -124,3 +124,19 @@ def test_mat_ops(namespace):
124124 M .__matmul__ (M )
125125 M .__imatmul__ (M )
126126 M .__rmatmul__ (M )
127+
128+
129+ @pytest .mark .parametrize ("namespace" , [dpt , Dummy ()])
130+ def test_comp_ops (namespace ):
131+ try :
132+ X = dpt .ones (1 , dtype = "u8" )
133+ except dpctl .SyclDeviceCreationError :
134+ pytest .skip ("No SYCL devices available" )
135+ X ._set_namespace (namespace )
136+ assert X .__array_namespace__ () is namespace
137+ assert X .__gt__ (- 1 )
138+ assert X .__ge__ (- 1 )
139+ assert not X .__lt__ (- 1 )
140+ assert not X .__le__ (- 1 )
141+ assert not X .__eq__ (- 1 )
142+ assert X .__ne__ (- 1 )
You can’t perform that action at this time.
0 commit comments