Skip to content

Commit f59d9f1

Browse files
authored
docs: move notes below the fold and highlight RFC 2119 keywords
PR-URL: #940
1 parent f9cf531 commit f59d9f1

File tree

1 file changed

+22
-32
lines changed

1 file changed

+22
-32
lines changed

src/array_api_stubs/_draft/utility_functions.py

Lines changed: 22 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -14,32 +14,27 @@ def all(
1414
"""
1515
Tests whether all input array elements evaluate to ``True`` along a specified axis.
1616
17-
.. note::
18-
Positive infinity, negative infinity, and NaN must evaluate to ``True``.
19-
20-
.. note::
21-
If ``x`` has a complex floating-point data type, elements having a non-zero component (real or imaginary) must evaluate to ``True``.
22-
23-
.. note::
24-
If ``x`` is an empty array or the size of the axis (dimension) along which to evaluate elements is zero, the test result must be ``True``.
25-
2617
Parameters
2718
----------
2819
x: array
2920
input array.
3021
axis: Optional[Union[int, Tuple[int, ...]]]
31-
axis or axes along which to perform a logical AND reduction. By default, a logical AND reduction must be performed over the entire array. If a tuple of integers, logical AND reductions must be performed over multiple axes. A valid ``axis`` must be an integer on the interval ``[-N, N)``, where ``N`` is the rank (number of dimensions) of ``x``. If an ``axis`` is specified as a negative integer, the function must determine the axis along which to perform a reduction by counting backward from the last dimension (where ``-1`` refers to the last dimension). If provided an invalid ``axis``, the function must raise an exception. Default: ``None``.
22+
axis or axes along which to perform a logical AND reduction. By default, a logical AND reduction **must** be performed over the entire array. If a tuple of integers, logical AND reductions **must** be performed over multiple axes. A valid ``axis`` **must** be an integer on the interval ``[-N, N)``, where ``N`` is the number of axes in ``x``. If an ``axis`` is specified as a negative integer, the function **must** determine the axis along which to perform a reduction by counting backward from the last axis (where ``-1`` refers to the last axis). If provided an invalid ``axis``, the function **must** raise an exception. Default: ``None``.
3223
keepdims: bool
33-
If ``True``, the reduced axes (dimensions) must be included in the result as singleton dimensions, and, accordingly, the result must be compatible with the input array (see :ref:`broadcasting`). Otherwise, if ``False``, the reduced axes (dimensions) must not be included in the result. Default: ``False``.
24+
If ``True``, the reduced axes **must** be included in the result as singleton dimensions, and, accordingly, the result **must** be broadcast-compatible with the input array (see :ref:`broadcasting`). Otherwise, if ``False``, the reduced axes **must not** be included in the result. Default: ``False``.
3425
3526
Returns
3627
-------
3728
out: array
38-
if a logical AND reduction was performed over the entire array, the returned array must be a zero-dimensional array containing the test result; otherwise, the returned array must be a non-zero-dimensional array containing the test results. The returned array must have a data type of ``bool``.
29+
if a logical AND reduction was performed over the entire array, the returned array **must** be a zero-dimensional array containing the test result. Otherwise, the returned array **must** be a non-zero-dimensional array containing the test results. The returned array **must** have a data type of ``bool``.
3930
4031
Notes
4132
-----
4233
34+
- Positive infinity, negative infinity, and NaN **must** evaluate to ``True``.
35+
- If ``x`` has a complex floating-point data type, elements having a non-zero component (real or imaginary) **must** evaluate to ``True``.
36+
- If ``x`` is an empty array or the size of the axis along which to evaluate elements is zero, the test result **must** be ``True``.
37+
4338
.. versionchanged:: 2022.12
4439
Added complex data type support.
4540
"""
@@ -55,32 +50,27 @@ def any(
5550
"""
5651
Tests whether any input array element evaluates to ``True`` along a specified axis.
5752
58-
.. note::
59-
Positive infinity, negative infinity, and NaN must evaluate to ``True``.
60-
61-
.. note::
62-
If ``x`` has a complex floating-point data type, elements having a non-zero component (real or imaginary) must evaluate to ``True``.
63-
64-
.. note::
65-
If ``x`` is an empty array or the size of the axis (dimension) along which to evaluate elements is zero, the test result must be ``False``.
66-
6753
Parameters
6854
----------
6955
x: array
7056
input array.
7157
axis: Optional[Union[int, Tuple[int, ...]]]
72-
axis or axes along which to perform a logical OR reduction. By default, a logical OR reduction must be performed over the entire array. If a tuple of integers, logical OR reductions must be performed over multiple axes. A valid ``axis`` must be an integer on the interval ``[-N, N)``, where ``N`` is the rank (number of dimensions) of ``x``. If an ``axis`` is specified as a negative integer, the function must determine the axis along which to perform a reduction by counting backward from the last dimension (where ``-1`` refers to the last dimension). If provided an invalid ``axis``, the function must raise an exception. Default: ``None``.
58+
axis or axes along which to perform a logical OR reduction. By default, a logical OR reduction **must** be performed over the entire array. If a tuple of integers, logical OR reductions **must** be performed over multiple axes. A valid ``axis`` must be an integer on the interval ``[-N, N)``, where ``N`` is the number of axes in ``x``. If an ``axis`` is specified as a negative integer, the function **must** determine the axis along which to perform a reduction by counting backward from the last dimension (where ``-1`` refers to the last axis). If provided an invalid ``axis``, the function **must** raise an exception. Default: ``None``.
7359
keepdims: bool
74-
If ``True``, the reduced axes (dimensions) must be included in the result as singleton dimensions, and, accordingly, the result must be compatible with the input array (see :ref:`broadcasting`). Otherwise, if ``False``, the reduced axes (dimensions) must not be included in the result. Default: ``False``.
60+
If ``True``, the reduced axes **must** be included in the result as singleton dimensions, and, accordingly, the result **must** be broadcast-compatible with the input array (see :ref:`broadcasting`). Otherwise, if ``False``, the reduced axes **must not** be included in the result. Default: ``False``.
7561
7662
Returns
7763
-------
7864
out: array
79-
if a logical OR reduction was performed over the entire array, the returned array must be a zero-dimensional array containing the test result; otherwise, the returned array must be a non-zero-dimensional array containing the test results. The returned array must have a data type of ``bool``.
65+
if a logical OR reduction was performed over the entire array, the returned array **must** be a zero-dimensional array containing the test result. Otherwise, the returned array **must** be a non-zero-dimensional array containing the test results. The returned array **must** have a data type of ``bool``.
8066
8167
Notes
8268
-----
8369
70+
- Positive infinity, negative infinity, and NaN **must** evaluate to ``True``.
71+
- If ``x`` has a complex floating-point data type, elements having a non-zero component (real or imaginary) **must** evaluate to ``True``.
72+
- If ``x`` is an empty array or the size of the axis along which to evaluate elements is zero, the test result **must** be ``False``.
73+
8474
.. versionchanged:: 2022.12
8575
Added complex data type support.
8676
"""
@@ -101,31 +91,31 @@ def diff(
10191
Parameters
10292
----------
10393
x: array
104-
input array. Should have a numeric data type.
94+
input array. **Should** have a numeric data type.
10595
axis: int
106-
axis along which to compute differences. A valid ``axis`` must be an integer on the interval ``[-N, N)``, where ``N`` is the rank (number of dimensions) of ``x``. If an ``axis`` is specified as a negative integer, the function must determine the axis along which to compute differences by counting backward from the last dimension (where ``-1`` refers to the last dimension). If provided an invalid ``axis``, the function must raise an exception. Default: ``-1``.
96+
axis along which to compute differences. A valid ``axis`` **must** be an integer on the interval ``[-N, N)``, where ``N`` is the number of axes in ``x``. If an ``axis`` is specified as a negative integer, the function **must** determine the axis along which to compute differences by counting backward from the last axis (where ``-1`` refers to the last axis). If provided an invalid ``axis``, the function **must** raise an exception. Default: ``-1``.
10797
n: int
10898
number of times to recursively compute differences. Default: ``1``.
10999
prepend: Optional[array]
110-
values to prepend to a specified axis prior to computing differences. Must have the same shape as ``x``, except for the axis specified by ``axis`` which may have any size. Should have the same data type as ``x``. Default: ``None``.
100+
values to prepend to a specified axis prior to computing differences. **Must** have the same shape as ``x``, except for the axis specified by ``axis`` which can have any size. **Should** have the same data type as ``x``. Default: ``None``.
111101
append: Optional[array]
112-
values to append to a specified axis prior to computing differences. Must have the same shape as ``x``, except for the axis specified by ``axis`` which may have any size. Should have the same data type as ``x``. Default: ``None``.
102+
values to append to a specified axis prior to computing differences. **Must** have the same shape as ``x``, except for the axis specified by ``axis`` which can have any size. **Should** have the same data type as ``x``. Default: ``None``.
113103
114104
Returns
115105
-------
116106
out: array
117-
an array containing the n-th differences. Should have the same data type as ``x``. Must have the same shape as ``x``, except for the axis specified by ``axis`` which must have a size determined as follows:
107+
an array containing the n-th differences. **Should** have the same data type as ``x``. **Must** have the same shape as ``x``, except for the axis specified by ``axis`` which **must** have a size determined as follows:
118108
119109
- Let ``M`` be the number of elements along an axis specified by ``axis``.
120110
- Let ``N1`` be the number of prepended values along an axis specified by ``axis``.
121111
- Let ``N2`` be the number of appended values along an axis specified by ``axis``.
122-
- The final size of the axis specified by ``axis`` must be ``M + N1 + N2 - n``.
112+
- The final size of the axis specified by ``axis`` **must** be ``M + N1 + N2 - n``.
123113
124114
Notes
125115
-----
126116
127-
- The first-order differences are given by ``out[i] = x[i+1] - x[i]`` along a specified axis. Higher-order differences must be calculated recursively (e.g., by calling ``diff(out, axis=axis, n=n-1)``).
128-
- If a conforming implementation chooses to support ``prepend`` and ``append`` arrays which have a different data type than ``x``, behavior is unspecified and thus implementation-defined. Implementations may choose to type promote (:ref:`type-promotion`), cast ``prepend`` and/or ``append`` to the same data type as ``x``, or raise an exception.
117+
- The first-order differences are given by ``out[i] = x[i+1] - x[i]`` along a specified axis. Higher-order differences **must** be calculated recursively (e.g., by calling ``diff(out, axis=axis, n=n-1)``).
118+
- If a conforming implementation chooses to support ``prepend`` and ``append`` arrays which have a different data type than ``x``, behavior is unspecified and thus implementation-defined. Implementations **may** choose to type promote (:ref:`type-promotion`), cast ``prepend`` and/or ``append`` to the same data type as ``x``, or raise an exception.
129119
130120
.. versionadded:: 2024.12
131121
"""

0 commit comments

Comments
 (0)