summaryrefslogtreecommitdiff
path: root/numpy/array_api/_indexing_functions.py
diff options
context:
space:
mode:
authorCharles Harris <charlesr.harris@gmail.com>2023-05-13 11:02:49 -0600
committerGitHub <noreply@github.com>2023-05-13 11:02:49 -0600
commit5187067d7ad176ee3614beab2b99a524dd719aa8 (patch)
tree907997d0c294f550193322aaa73237c1a7bcfaa6 /numpy/array_api/_indexing_functions.py
parentb786189222ac5bf2f4efbb04399261f7f760bc18 (diff)
parent81caed6e3c34c4bf4b22b4f6167e816ba2a3f73c (diff)
downloadnumpy-5187067d7ad176ee3614beab2b99a524dd719aa8.tar.gz
Merge branch 'main' into deprecate-find-common-type
Diffstat (limited to 'numpy/array_api/_indexing_functions.py')
-rw-r--r--numpy/array_api/_indexing_functions.py18
1 files changed, 18 insertions, 0 deletions
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 <numpy.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))