summaryrefslogtreecommitdiff
path: root/numpy/array_api/tests/test_indexing_functions.py
diff options
context:
space:
mode:
authorscoder <stefan_ml@behnel.de>2023-05-04 09:29:53 +0200
committerGitHub <noreply@github.com>2023-05-04 09:29:53 +0200
commit442c8f48d3146ec32c7d5387310e171276cf10ac (patch)
treed8911d1a64e384b7955d3fc09a07edd218a9f1ee /numpy/array_api/tests/test_indexing_functions.py
parent3e4a6cba2da27bbe2a6e12c163238e503c9f6a07 (diff)
parent9163e933df91b516b6f0c7a9ba8ad1750e642f37 (diff)
downloadnumpy-442c8f48d3146ec32c7d5387310e171276cf10ac.tar.gz
Merge branch 'main' into cython3_noexcept
Diffstat (limited to 'numpy/array_api/tests/test_indexing_functions.py')
-rw-r--r--numpy/array_api/tests/test_indexing_functions.py24
1 files changed, 24 insertions, 0 deletions
diff --git a/numpy/array_api/tests/test_indexing_functions.py b/numpy/array_api/tests/test_indexing_functions.py
new file mode 100644
index 000000000..9e05c6386
--- /dev/null
+++ b/numpy/array_api/tests/test_indexing_functions.py
@@ -0,0 +1,24 @@
+import pytest
+
+from numpy import array_api as xp
+
+
+@pytest.mark.parametrize(
+ "x, indices, axis, expected",
+ [
+ ([2, 3], [1, 1, 0], 0, [3, 3, 2]),
+ ([2, 3], [1, 1, 0], -1, [3, 3, 2]),
+ ([[2, 3]], [1], -1, [[3]]),
+ ([[2, 3]], [0, 0], 0, [[2, 3], [2, 3]]),
+ ],
+)
+def test_take_function(x, indices, axis, expected):
+ """
+ Indices respect relative order of a descending stable-sort
+
+ See https://github.com/numpy/numpy/issues/20778
+ """
+ x = xp.asarray(x)
+ indices = xp.asarray(indices)
+ out = xp.take(x, indices, axis=axis)
+ assert xp.all(out == xp.asarray(expected))