summaryrefslogtreecommitdiff
path: root/numpy/array_api
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | ENH: Add the linalg extension to the array_api submodule (#19980)Aaron Meurer2021-11-145-79/+419
| |_|/ |/| |
* | | MAINT: A few updates to the array_api (#20066)Aaron Meurer2021-11-128-49/+156
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Allow casting in the array API asarray() * Restrict multidimensional indexing in the array API namespace The spec has recently been updated to only require multiaxis (i.e., tuple) indices in the case where every axis is indexed, meaning there are either as many indices as axes or the index has an ellipsis. * Fix type promotion for numpy.array_api.where where does value-based promotion for 0-dimensional arrays, so we use the same trick as in the Array operators to avoid this. * Print empty array_api arrays using empty() Printing behavior isn't required by the spec. This is just to make things easier to understand, especially with the array API test suite. * Fix an incorrect slice bounds guard in the array API * Disallow multiple different dtypes in the input to np.array_api.meshgrid * Remove DLPack support from numpy.array_api.asarray() from_dlpack() should be used to create arrays using DLPack. * Remove __len__ from the array API array object * Add astype() to numpy.array_api * Update the unique_* functions in numpy.array_api unique() in the array API was replaced with three separate functions, unique_all(), unique_inverse(), and unique_values(), in order to avoid polymorphic return types. Additionally, it should be noted that these functions to not currently conform to the spec with respect to NaN behavior. The spec requires multiple NaNs to be returned, but np.unique() returns a single NaN. Since this is currently an open issue in NumPy to possibly revert, I have not yet worked around this. See https://github.com/numpy/numpy/issues/20326. * Add the stream argument to the array API to_device method This does nothing in NumPy, and is just present so that the signature is valid according to the spec. * Use the NamedTuple classes for the type signatures * Add unique_counts to the array API namespace * Remove some unused imports * Update the array_api indexing restrictions The "multiaxis indexing must index every axis explicitly or use an ellipsis" was supposed to include any type of index, not just tuple indices. * Use a simpler type annotation for the array API to_device method * Fix a test failure in the array_api submodule The array_api cannot use the NumPy testing functions because array_api arrays do not mix with NumPy arrays, and also NumPy testing functions may use APIs that aren't supported in the array API. * Add dlpack support to the array_api submodule
* | | Merge pull request #19083 from hameerabbasi/dlpackSebastian Berg2021-11-092-3/+3
|\ \ \ | | | | | | | | ENH: Implement the DLPack Array API protocols for ndarray.
| * | | change from_dlpack to _dlpack, remove unused headermattip2021-11-022-3/+3
| | |/ | |/|
* | | TST: Add a test for device property in `array_api` namespace (#20271)Amit Kumar2021-11-031-0/+11
|/ /
* | Merge pull request #20071 from alessiamarcolini/refactorCharles Harris2021-10-221-15/+0
|\ \ | | | | | | MAINT: Remove unused imports and remove duplicated tests
| * | MAINT: remove unused importsAlessia Marcolini2021-10-081-15/+0
| | |
* | | MAINT: Replace the `__array_namespace__` return type with `Any`Bas van Beek2021-10-181-2/+2
| | | | | | | | | | | | Replace `object` as it cannot be used for expressing the objects in the array namespace.
* | | ENH: Change `SupportsDLPack` into a protocolBas van Beek2021-10-181-1/+3
| | |
* | | ENH: Replace `NestedSequence` with a proper nested sequence protocolBas van Beek2021-10-181-5/+17
|/ /
* | Disallow `k=None` for the `eye` functionBas van Beek2021-09-291-1/+1
| |
* | MAINT: Import `Array` from the `_array_object` namespaceBas van Beek2021-09-291-1/+1
| | | | | | | | Changed as `Array` does not live in the main `np.array_api` namespace
* | MAINT: Remove the `Sequence` encapsulation from variadic argumentsBas van Beek2021-09-272-3/+3
| |
* | MAINT: Add a missing subscription slot to `NestedSequence`Bas van Beek2021-09-271-2/+3
| |
* | MAINT: Fix invalid parameter types used in `Dtype`Bas van Beek2021-09-271-6/+21
| |
* | ENH: Updates to numpy.array_api (#19937)Aaron Meurer2021-09-258-21/+147
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add __index__ to array_api and update __int__, __bool__, and __float__ The spec specifies that they should only work on arrays with corresponding dtypes. __index__ is new in the spec since the initial PR, and works identically to np.array.__index__. * Add the to_device method to the array_api This method is new since #18585. It does nothing in NumPy since NumPy does not support non-CPU devices. * Update transpose methods in the array_api transpose() was renamed to matrix_transpose() and now operates on stacks of matrices. A function to permute dimensions will be added once it is finalized in the spec. The attribute mT was added and the T attribute was updated to only operate on 2-dimensional arrays as per the spec. * Restrict input dtypes in the array API statistical functions * Add the dtype parameter to the array API sum() and prod() * Add the function permute_dims() to the array_api namespace permute_dims() is the replacement for transpose(), which was split into permute_dims() and matrix_transpose(). * Add tril and triu to the array API namespace * Fix the array_api Array.__repr__ to indent the array properly * Make the Device type in the array_api just accept the string "cpu"
* | fix unhashable instance and potential exception identified by LGTMSista Seetaram2021-09-031-1/+1
| |
* | fixed unhashable instance and potential exception as listed in LGTM#19077Sista Seetaram2021-09-031-1/+1
|/
* Remove an unused importAaron Meurer2021-08-231-2/+0
|
* Remove Python 3.7 checks from the array API codeAaron Meurer2021-08-231-5/+0
| | | | | NumPy has dropped Python 3.7, so these are no longer necessary (and they didn't completely work anyway).
* Add smallest_normal to the array API finfoAaron Meurer2021-08-121-6/+2
| | | | This was blocked on #18536, which has been merged.
* Fix the return annotation for numpy.array_api.Array.__setitem__Aaron Meurer2021-08-121-1/+1
|
* Run (selective) black on the array_api submoduleAaron Meurer2021-08-0618-390/+1054
| | | | | | I've omitted a few changes from black that messed up the readability of some complicated if statements that were organized logically line-by-line, and some changes that use unnecessary operator spacing.
* Update the docstring of numpy.array_apiAaron Meurer2021-08-061-38/+41
|
* Fix the array API nonzero() functionAaron Meurer2021-08-061-1/+1
|
* Make the axis argument to squeeze() in the array_api module positional-onlyAaron Meurer2021-08-061-1/+1
| | | | See data-apis/array-api#100.
* Fix the array API unique() functionAaron Meurer2021-08-061-1/+5
|
* Fix the array API __len__ methodAaron Meurer2021-08-061-2/+1
|
* Fix some dictionary key mismatches in the array API testsAaron Meurer2021-08-061-27/+27
|
* Add a setup.py to the array_api submoduleAaron Meurer2021-08-051-0/+10
|
* Give a better error when numpy.array_api is imported in Python 3.7Aaron Meurer2021-08-051-0/+6
|
* Fix casting for the array API concat() and stack()Aaron Meurer2021-08-041-4/+5
|
* Move some imports out of functions to the top of the fileAaron Meurer2021-08-041-3/+4
| | | | | Some of the imports in the array API module have to be inside functions to avoid circular imports, but these ones did not.
* Move the array API dtype categories into the top levelAaron Meurer2021-08-043-26/+17
| | | | | They are not an official part of the spec but are useful for various parts of the implementation.
* Remove unused importAaron Meurer2021-08-041-1/+1
|
* Remove asarray() calls from the array API statistical functionsAaron Meurer2021-08-041-5/+5
| | | | asarray() is already called in Array._new.
* Remove no longer comment about the keepdims argument to argminAaron Meurer2021-08-041-2/+0
|
* Print a warning when importing the numpy.array_api submoduleAaron Meurer2021-08-041-0/+4
|
* Rename numpy._array_api to numpy.array_apiAaron Meurer2021-08-0419-0/+3020
Instead of the leading underscore, the experimentalness of the module will be indicated by omitting a warning on import. That we, we do not have to change the API from underscore to no underscore when the module is no longer experimental.