@@ -1044,6 +1044,19 @@ def test_extract_all_1d():
1044
1044
res2 = dpt .extract (sel , x )
1045
1045
assert (dpt .asnumpy (res2 ) == expected_res ).all ()
1046
1046
1047
+ # test strided case
1048
+ x = dpt .arange (15 , dtype = "i4" )
1049
+ sel_np = np .zeros (15 , dtype = "?" )
1050
+ np .put (sel_np , np .random .choice (sel_np .size , size = 7 ), True )
1051
+ sel = dpt .asarray (sel_np )
1052
+
1053
+ res = x [sel [::- 1 ]]
1054
+ expected_res = dpt .asnumpy (x )[sel_np [::- 1 ]]
1055
+ assert (dpt .asnumpy (res ) == expected_res ).all ()
1056
+
1057
+ res2 = dpt .extract (sel [::- 1 ], x )
1058
+ assert (dpt .asnumpy (res2 ) == expected_res ).all ()
1059
+
1047
1060
1048
1061
def test_extract_all_2d ():
1049
1062
get_queue_or_skip ()
@@ -1287,6 +1300,19 @@ def test_nonzero():
1287
1300
assert (dpt .asnumpy (i ) == np .array ([3 , 4 , 5 , 6 ])).all ()
1288
1301
1289
1302
1303
+ def test_nonzero_f_contig ():
1304
+ get_queue_or_skip
1305
+
1306
+ mask = dpt .zeros ((5 , 5 ), dtype = "?" , order = "F" )
1307
+ mask [2 , 3 ] = True
1308
+
1309
+ expected_res = (2 , 3 )
1310
+ res = dpt .nonzero (mask )
1311
+
1312
+ assert expected_res == res
1313
+ assert mask [res ]
1314
+
1315
+
1290
1316
def test_assign_scalar ():
1291
1317
get_queue_or_skip ()
1292
1318
x = dpt .arange (- 5 , 5 , dtype = "i8" )
0 commit comments