From f07d55b27671a4575e3b9b2fc7ca9ec897d4db9e Mon Sep 17 00:00:00 2001 From: Alex Rogozhnikov Date: Sun, 26 Feb 2023 07:56:47 +0000 Subject: add support for xp.take --- numpy/array_api/tests/test_indexing_functions.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 numpy/array_api/tests/test_indexing_functions.py (limited to 'numpy/array_api/tests/test_indexing_functions.py') 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..26667e32f --- /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_stable_desc_argsort(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)) -- cgit v1.2.1 From 786bd366b22675b1e4067653d4729031c258f35f Mon Sep 17 00:00:00 2001 From: Alex Rogozhnikov Date: Sun, 26 Feb 2023 08:19:45 +0000 Subject: rename test function --- numpy/array_api/tests/test_indexing_functions.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'numpy/array_api/tests/test_indexing_functions.py') diff --git a/numpy/array_api/tests/test_indexing_functions.py b/numpy/array_api/tests/test_indexing_functions.py index 26667e32f..9e05c6386 100644 --- a/numpy/array_api/tests/test_indexing_functions.py +++ b/numpy/array_api/tests/test_indexing_functions.py @@ -12,7 +12,7 @@ from numpy import array_api as xp ([[2, 3]], [0, 0], 0, [[2, 3], [2, 3]]), ], ) -def test_stable_desc_argsort(x, indices, axis, expected): +def test_take_function(x, indices, axis, expected): """ Indices respect relative order of a descending stable-sort -- cgit v1.2.1