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/_indexing_functions.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 numpy/array_api/_indexing_functions.py (limited to 'numpy/array_api/_indexing_functions.py') diff --git a/numpy/array_api/_indexing_functions.py b/numpy/array_api/_indexing_functions.py new file mode 100644 index 000000000..ba56bcd6f --- /dev/null +++ b/numpy/array_api/_indexing_functions.py @@ -0,0 +1,18 @@ +from __future__ import annotations + +from ._array_object import Array +from ._dtypes import _integer_dtypes + +import numpy as np + +def take(x: Array, indices: Array, /, *, axis: int) -> Array: + """ + Array API compatible wrapper for :py:func:`np.take `. + + See its docstring for more information. + """ + if indices.dtype not in _integer_dtypes: + raise TypeError("Only integer dtypes are allowed in indexing") + if indices.ndim != 1: + raise ValueError("Only 1-dim indices array is supported") + return Array._new(np.take(x._array, indices._array, axis=axis)) -- cgit v1.2.1