diff options
author | Matti Picus <matti.picus@gmail.com> | 2020-12-09 20:31:36 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-12-09 20:31:36 +0200 |
commit | b6f8b211d79327948d2c6972a62e0700975d613b (patch) | |
tree | bb95c70dacc4ca2ac7c4f0e7454cb29f60a9d6b9 /numpy/typing | |
parent | 707a5da81def895fde4a5f6f9b6fab8ed082133e (diff) | |
parent | 0da188da1e7a65b85b73d2499f7397fea89ff7bd (diff) | |
download | numpy-b6f8b211d79327948d2c6972a62e0700975d613b.tar.gz |
Merge pull request #17795 from BvB93/x-like
ENH: Add two new `_<X>Like` unions
Diffstat (limited to 'numpy/typing')
-rw-r--r-- | numpy/typing/__init__.py | 2 | ||||
-rw-r--r-- | numpy/typing/_callable.py | 2 | ||||
-rw-r--r-- | numpy/typing/_scalars.py | 8 |
3 files changed, 9 insertions, 3 deletions
diff --git a/numpy/typing/__init__.py b/numpy/typing/__init__.py index e72e8fb4d..d9d9557bf 100644 --- a/numpy/typing/__init__.py +++ b/numpy/typing/__init__.py @@ -210,9 +210,11 @@ del TYPE_CHECKING, final, List from ._scalars import ( _CharLike, _BoolLike, + _UIntLike, _IntLike, _FloatLike, _ComplexLike, + _TD64Like, _NumberLike, _ScalarLike, _VoidLike, diff --git a/numpy/typing/_callable.py b/numpy/typing/_callable.py index c703df28a..831921fd7 100644 --- a/numpy/typing/_callable.py +++ b/numpy/typing/_callable.py @@ -103,7 +103,7 @@ if TYPE_CHECKING or HAVE_PROTOCOL: class _BoolTrueDiv(Protocol): @overload - def __call__(self, __other: Union[float, _IntLike, _BoolLike]) -> float64: ... + def __call__(self, __other: Union[float, _IntLike]) -> float64: ... @overload def __call__(self, __other: complex) -> complex128: ... @overload diff --git a/numpy/typing/_scalars.py b/numpy/typing/_scalars.py index e4fc28b07..90b2eff7b 100644 --- a/numpy/typing/_scalars.py +++ b/numpy/typing/_scalars.py @@ -7,12 +7,16 @@ import numpy as np _CharLike = Union[str, bytes] +# The 6 `<X>Like` type-aliases below represent all scalars that can be +# coerced into `<X>` (with the casting rule `same_kind`) _BoolLike = Union[bool, np.bool_] -_IntLike = Union[int, np.integer] +_UIntLike = Union[_BoolLike, np.unsignedinteger] +_IntLike = Union[_BoolLike, int, np.integer] _FloatLike = Union[_IntLike, float, np.floating] _ComplexLike = Union[_FloatLike, complex, np.complexfloating] -_NumberLike = Union[int, float, complex, np.number, np.bool_] +_TD64Like = Union[_IntLike, np.timedelta64] +_NumberLike = Union[int, float, complex, np.number, np.bool_] _ScalarLike = Union[ int, float, |