Skip to content

Commit 0f64005

Browse files
authored
Backport type fixes to __getitem__ to previous specification revisions
PR-URL: #687 Reviewed-by: Matthew Barber <[email protected]> Ref: #674
1 parent 2bcf7c0 commit 0f64005

File tree

4 files changed

+24
-6
lines changed

4 files changed

+24
-6
lines changed

Diff for: spec/draft/API_specification/indexing.rst

+3
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,9 @@ Multi-dimensional arrays must extend the concept of single-axis indexing to mult
156156
.. note::
157157
Expanding dimensions can be equivalently achieved via repeated invocation of :func:`~array_api.expand_dims`.
158158

159+
.. note::
160+
The constant ``newaxis`` is an alias of ``None`` and can thus be used in a similar manner as ``None``.
161+
159162
- Except in the case of providing a single ellipsis (e.g., ``A[2:10, ...]`` or ``A[1:, ..., 2:5]``), the number of provided single-axis indexing expressions (excluding ``None``) should equal ``N``. For example, if ``A`` has rank ``2``, a single-axis indexing expression should be explicitly provided for both axes (e.g., ``A[2:10, :]``). An ``IndexError`` exception should be raised if the number of provided single-axis indexing expressions (excluding ``None``) is less than ``N``.
160163

161164
.. note::

Diff for: src/array_api_stubs/_2021_12/array_object.py

+7-2
Original file line numberDiff line numberDiff line change
@@ -453,7 +453,12 @@ def __ge__(self: array, other: Union[int, float, array], /) -> array:
453453
def __getitem__(
454454
self: array,
455455
key: Union[
456-
int, slice, ellipsis, Tuple[Union[int, slice, ellipsis], ...], array
456+
int,
457+
slice,
458+
ellipsis,
459+
None,
460+
Tuple[Union[int, slice, ellipsis, None], ...],
461+
array,
457462
],
458463
/,
459464
) -> array:
@@ -464,7 +469,7 @@ def __getitem__(
464469
----------
465470
self: array
466471
array instance.
467-
key: Union[int, slice, ellipsis, Tuple[Union[int, slice, ellipsis], ...], array]
472+
key: Union[int, slice, ellipsis, None, Tuple[Union[int, slice, ellipsis, None], ...], array]
468473
index key.
469474
470475
Returns

Diff for: src/array_api_stubs/_2022_12/array_object.py

+7-2
Original file line numberDiff line numberDiff line change
@@ -477,7 +477,12 @@ def __ge__(self: array, other: Union[int, float, array], /) -> array:
477477
def __getitem__(
478478
self: array,
479479
key: Union[
480-
int, slice, ellipsis, Tuple[Union[int, slice, ellipsis], ...], array
480+
int,
481+
slice,
482+
ellipsis,
483+
None,
484+
Tuple[Union[int, slice, ellipsis, None], ...],
485+
array,
481486
],
482487
/,
483488
) -> array:
@@ -488,7 +493,7 @@ def __getitem__(
488493
----------
489494
self: array
490495
array instance.
491-
key: Union[int, slice, ellipsis, Tuple[Union[int, slice, ellipsis], ...], array]
496+
key: Union[int, slice, ellipsis, None, Tuple[Union[int, slice, ellipsis, None], ...], array]
492497
index key.
493498
494499
Returns

Diff for: src/array_api_stubs/_draft/array_object.py

+7-2
Original file line numberDiff line numberDiff line change
@@ -479,7 +479,12 @@ def __ge__(self: array, other: Union[int, float, array], /) -> array:
479479
def __getitem__(
480480
self: array,
481481
key: Union[
482-
int, slice, ellipsis, Tuple[Union[int, slice, ellipsis, None], ...], array
482+
int,
483+
slice,
484+
ellipsis,
485+
None,
486+
Tuple[Union[int, slice, ellipsis, None], ...],
487+
array,
483488
],
484489
/,
485490
) -> array:
@@ -490,7 +495,7 @@ def __getitem__(
490495
----------
491496
self: array
492497
array instance.
493-
key: Union[int, slice, ellipsis, Tuple[Union[int, slice, ellipsis, None], ...], array]
498+
key: Union[int, slice, ellipsis, None, Tuple[Union[int, slice, ellipsis, None], ...], array]
494499
index key.
495500
496501
Returns

0 commit comments

Comments
 (0)