25
25
_array_docstrings = tomllib .load (f )["docstrings" ]
26
26
27
27
NS_co = TypeVar ("NS_co" , covariant = True , default = ModuleType )
28
- InputT = TypeVar ("InputT" )
28
+ T_contra = TypeVar ("T_contra" , contravariant = True )
29
29
30
30
31
31
class HasArrayNamespace (Protocol [NS_co ]):
@@ -56,35 +56,36 @@ class Array(
56
56
HasArrayNamespace [NS_co ],
57
57
op .CanPosSelf ,
58
58
op .CanNegSelf ,
59
- op .CanAddSelf [InputT ],
60
- op .CanIAddSelf [InputT ],
61
- op .CanRAddSelf [InputT ],
62
- op .CanSubSelf [InputT ],
63
- op .CanISubSelf [InputT ],
64
- op .CanRSubSelf [InputT ],
65
- op .CanMulSelf [InputT ],
66
- op .CanIMulSelf [InputT ],
67
- op .CanRMulSelf [InputT ],
68
- op .CanTrueDivSelf [InputT ],
69
- op .CanRTrueDivSelf [InputT ],
70
- op .CanFloorDivSelf [InputT ],
71
- op .CanIFloorDivSelf [InputT ],
72
- op .CanRFloorDivSelf [InputT ],
73
- op .CanModSelf [InputT ],
74
- op .CanIModSelf [InputT ],
75
- op .CanRModSelf [InputT ],
76
- op .CanPowSelf [InputT ],
77
- op .CanIPowSelf [InputT ],
78
- op .CanRPowSelf [InputT ],
79
- Protocol [InputT , NS_co ],
59
+ op .CanAddSame [T_contra ],
60
+ op .CanIAddSelf [T_contra ],
61
+ op .CanRAddSelf [T_contra ],
62
+ op .CanSubSame [T_contra ],
63
+ op .CanISubSelf [T_contra ],
64
+ op .CanRSubSelf [T_contra ],
65
+ op .CanMulSame [T_contra ],
66
+ op .CanIMulSelf [T_contra ],
67
+ op .CanRMulSelf [T_contra ],
68
+ op .CanTruedivSame [T_contra ],
69
+ op .CanITruedivSelf [T_contra ],
70
+ op .CanRTruedivSelf [T_contra ],
71
+ op .CanFloordivSame [T_contra ],
72
+ op .CanIFloordivSelf [T_contra ],
73
+ op .CanRFloordivSelf [T_contra ],
74
+ op .CanModSame [T_contra ],
75
+ op .CanIModSelf [T_contra ],
76
+ op .CanRModSelf [T_contra ],
77
+ op .CanPowSame [T_contra ],
78
+ op .CanIPowSelf [T_contra ],
79
+ op .CanRPowSelf [T_contra ],
80
+ Protocol [T_contra , NS_co ],
80
81
):
81
82
"""Array API specification for array object attributes and methods."""
82
83
83
84
84
85
BoolArray : TypeAlias = Array [bool , NS_co ]
85
86
"""Array API specification for boolean array object attributes and methods.
86
87
87
- Specifically, this type alias fills the `InputT ` type variable with `bool`,
88
+ Specifically, this type alias fills the `T_contra ` type variable with `bool`,
88
89
allowing for `bool` objects to be added, subtracted, multiplied, etc. to the
89
90
array object.
90
91
@@ -93,7 +94,7 @@ class Array(
93
94
NumericArray : TypeAlias = Array [float | int , NS_co ]
94
95
"""Array API specification for numeric array object attributes and methods.
95
96
96
- Specifically, this type alias fills the `InputT ` type variable with `float |
97
+ Specifically, this type alias fills the `T_contra ` type variable with `float |
97
98
int`, allowing for `float | int` objects to be added, subtracted, multiplied,
98
99
etc. to the array object.
99
100
0 commit comments