Skip to content

Commit 741dc7f

Browse files
committed
Added tests for the corrected behavior of boolean indexing and nonzero
1 parent ddc5977 commit 741dc7f

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

dpctl/tests/test_usm_ndarray_indexing.py

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1044,6 +1044,19 @@ def test_extract_all_1d():
10441044
res2 = dpt.extract(sel, x)
10451045
assert (dpt.asnumpy(res2) == expected_res).all()
10461046

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+
10471060

10481061
def test_extract_all_2d():
10491062
get_queue_or_skip()
@@ -1287,6 +1300,19 @@ def test_nonzero():
12871300
assert (dpt.asnumpy(i) == np.array([3, 4, 5, 6])).all()
12881301

12891302

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+
12901316
def test_assign_scalar():
12911317
get_queue_or_skip()
12921318
x = dpt.arange(-5, 5, dtype="i8")

0 commit comments

Comments
 (0)