from __future__ import annotations from ._array_object import Array from ._dtypes import _result_type, _real_numeric_dtypes from typing import Optional, Tuple import numpy as np def argmax(x: Array, /, *, axis: Optional[int] = None, keepdims: bool = False) -> Array: """ Array API compatible wrapper for :py:func:`np.argmax <numpy.argmax>`. See its docstring for more information. """ if x.dtype not in _real_numeric_dtypes: raise TypeError("Only real numeric dtypes are allowed in argmax") return Array._new(np.asarray(np.argmax(x._array, axis=axis, keepdims=keepdims))) def argmin(x: Array, /, *, axis: Optional[int] = None, keepdims: bool = False) -> Array: """ Array API compatible wrapper for :py:func:`np.argmin <numpy.argmin>`. See its docstring for more information. """ if x.dtype not in _real_numeric_dtypes: raise TypeError("Only real numeric dtypes are allowed in argmin") return Array._new(np.asarray(np.argmin(x._array, axis=axis, keepdims=keepdims))) def nonzero(x: Array, /) -> Tuple[Array, ...]: """ Array API compatible wrapper for :py:func:`np.nonzero <numpy.nonzero>`. See its docstring for more information. """ return tuple(Array._new(i) for i in np.nonzero(x._array)) def where(condition: Array, x1: Array, x2: Array, /) -> Array: """ Array API compatible wrapper for :py:func:`np.where <numpy.where>`. See its docstring for more information. """ # Call result type here just to raise on disallowed type combinations _result_type(x1.dtype, x2.dtype) x1, x2 = Array._normalize_two_args(x1, x2) return Array._new(np.where(condition._array, x1._array, x2._array))
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
__pycache__ | Folder | 0755 |
|
|
tests | Folder | 0755 |
|
|
__init__.py | File | 10.11 KB | 0644 |
|
_array_object.py | File | 42.71 KB | 0644 |
|
_constants.py | File | 66 B | 0644 |
|
_creation_functions.py | File | 9.81 KB | 0644 |
|
_data_type_functions.py | File | 6.14 KB | 0644 |
|
_dtypes.py | File | 4.71 KB | 0644 |
|
_elementwise_functions.py | File | 25.38 KB | 0644 |
|
_indexing_functions.py | File | 601 B | 0644 |
|
_manipulation_functions.py | File | 3.24 KB | 0644 |
|
_searching_functions.py | File | 1.67 KB | 0644 |
|
_set_functions.py | File | 2.88 KB | 0644 |
|
_sorting_functions.py | File | 1.98 KB | 0644 |
|
_statistical_functions.py | File | 3.5 KB | 0644 |
|
_typing.py | File | 1.2 KB | 0644 |
|
_utility_functions.py | File | 824 B | 0644 |
|
linalg.py | File | 17.79 KB | 0644 |
|
setup.py | File | 341 B | 0644 |
|