658 lines
14 KiB
Python
658 lines
14 KiB
Python
from collections.abc import Callable, Sequence
|
|
from typing import (
|
|
Any,
|
|
overload,
|
|
TypeVar,
|
|
Literal,
|
|
SupportsAbs,
|
|
SupportsIndex,
|
|
NoReturn,
|
|
)
|
|
from typing_extensions import TypeGuard
|
|
|
|
from numpy import (
|
|
ComplexWarning as ComplexWarning,
|
|
generic,
|
|
unsignedinteger,
|
|
signedinteger,
|
|
floating,
|
|
complexfloating,
|
|
bool_,
|
|
int_,
|
|
intp,
|
|
float64,
|
|
timedelta64,
|
|
object_,
|
|
_OrderKACF,
|
|
_OrderCF,
|
|
)
|
|
|
|
from numpy._typing import (
|
|
ArrayLike,
|
|
NDArray,
|
|
DTypeLike,
|
|
_ShapeLike,
|
|
_DTypeLike,
|
|
_ArrayLike,
|
|
_SupportsArrayFunc,
|
|
_ScalarLike_co,
|
|
_ArrayLikeBool_co,
|
|
_ArrayLikeUInt_co,
|
|
_ArrayLikeInt_co,
|
|
_ArrayLikeFloat_co,
|
|
_ArrayLikeComplex_co,
|
|
_ArrayLikeTD64_co,
|
|
_ArrayLikeObject_co,
|
|
_ArrayLikeUnknown,
|
|
)
|
|
|
|
_T = TypeVar("_T")
|
|
_SCT = TypeVar("_SCT", bound=generic)
|
|
_ArrayType = TypeVar("_ArrayType", bound=NDArray[Any])
|
|
|
|
_CorrelateMode = Literal["valid", "same", "full"]
|
|
|
|
__all__: list[str]
|
|
|
|
@overload
|
|
def zeros_like(
|
|
a: _ArrayType,
|
|
dtype: None = ...,
|
|
order: _OrderKACF = ...,
|
|
subok: Literal[True] = ...,
|
|
shape: None = ...,
|
|
) -> _ArrayType: ...
|
|
@overload
|
|
def zeros_like(
|
|
a: _ArrayLike[_SCT],
|
|
dtype: None = ...,
|
|
order: _OrderKACF = ...,
|
|
subok: bool = ...,
|
|
shape: None | _ShapeLike = ...,
|
|
) -> NDArray[_SCT]: ...
|
|
@overload
|
|
def zeros_like(
|
|
a: object,
|
|
dtype: None = ...,
|
|
order: _OrderKACF = ...,
|
|
subok: bool = ...,
|
|
shape: None | _ShapeLike= ...,
|
|
) -> NDArray[Any]: ...
|
|
@overload
|
|
def zeros_like(
|
|
a: Any,
|
|
dtype: _DTypeLike[_SCT],
|
|
order: _OrderKACF = ...,
|
|
subok: bool = ...,
|
|
shape: None | _ShapeLike= ...,
|
|
) -> NDArray[_SCT]: ...
|
|
@overload
|
|
def zeros_like(
|
|
a: Any,
|
|
dtype: DTypeLike,
|
|
order: _OrderKACF = ...,
|
|
subok: bool = ...,
|
|
shape: None | _ShapeLike= ...,
|
|
) -> NDArray[Any]: ...
|
|
|
|
@overload
|
|
def ones(
|
|
shape: _ShapeLike,
|
|
dtype: None = ...,
|
|
order: _OrderCF = ...,
|
|
*,
|
|
like: _SupportsArrayFunc = ...,
|
|
) -> NDArray[float64]: ...
|
|
@overload
|
|
def ones(
|
|
shape: _ShapeLike,
|
|
dtype: _DTypeLike[_SCT],
|
|
order: _OrderCF = ...,
|
|
*,
|
|
like: _SupportsArrayFunc = ...,
|
|
) -> NDArray[_SCT]: ...
|
|
@overload
|
|
def ones(
|
|
shape: _ShapeLike,
|
|
dtype: DTypeLike,
|
|
order: _OrderCF = ...,
|
|
*,
|
|
like: _SupportsArrayFunc = ...,
|
|
) -> NDArray[Any]: ...
|
|
|
|
@overload
|
|
def ones_like(
|
|
a: _ArrayType,
|
|
dtype: None = ...,
|
|
order: _OrderKACF = ...,
|
|
subok: Literal[True] = ...,
|
|
shape: None = ...,
|
|
) -> _ArrayType: ...
|
|
@overload
|
|
def ones_like(
|
|
a: _ArrayLike[_SCT],
|
|
dtype: None = ...,
|
|
order: _OrderKACF = ...,
|
|
subok: bool = ...,
|
|
shape: None | _ShapeLike = ...,
|
|
) -> NDArray[_SCT]: ...
|
|
@overload
|
|
def ones_like(
|
|
a: object,
|
|
dtype: None = ...,
|
|
order: _OrderKACF = ...,
|
|
subok: bool = ...,
|
|
shape: None | _ShapeLike= ...,
|
|
) -> NDArray[Any]: ...
|
|
@overload
|
|
def ones_like(
|
|
a: Any,
|
|
dtype: _DTypeLike[_SCT],
|
|
order: _OrderKACF = ...,
|
|
subok: bool = ...,
|
|
shape: None | _ShapeLike= ...,
|
|
) -> NDArray[_SCT]: ...
|
|
@overload
|
|
def ones_like(
|
|
a: Any,
|
|
dtype: DTypeLike,
|
|
order: _OrderKACF = ...,
|
|
subok: bool = ...,
|
|
shape: None | _ShapeLike= ...,
|
|
) -> NDArray[Any]: ...
|
|
|
|
@overload
|
|
def full(
|
|
shape: _ShapeLike,
|
|
fill_value: Any,
|
|
dtype: None = ...,
|
|
order: _OrderCF = ...,
|
|
*,
|
|
like: _SupportsArrayFunc = ...,
|
|
) -> NDArray[Any]: ...
|
|
@overload
|
|
def full(
|
|
shape: _ShapeLike,
|
|
fill_value: Any,
|
|
dtype: _DTypeLike[_SCT],
|
|
order: _OrderCF = ...,
|
|
*,
|
|
like: _SupportsArrayFunc = ...,
|
|
) -> NDArray[_SCT]: ...
|
|
@overload
|
|
def full(
|
|
shape: _ShapeLike,
|
|
fill_value: Any,
|
|
dtype: DTypeLike,
|
|
order: _OrderCF = ...,
|
|
*,
|
|
like: _SupportsArrayFunc = ...,
|
|
) -> NDArray[Any]: ...
|
|
|
|
@overload
|
|
def full_like(
|
|
a: _ArrayType,
|
|
fill_value: Any,
|
|
dtype: None = ...,
|
|
order: _OrderKACF = ...,
|
|
subok: Literal[True] = ...,
|
|
shape: None = ...,
|
|
) -> _ArrayType: ...
|
|
@overload
|
|
def full_like(
|
|
a: _ArrayLike[_SCT],
|
|
fill_value: Any,
|
|
dtype: None = ...,
|
|
order: _OrderKACF = ...,
|
|
subok: bool = ...,
|
|
shape: None | _ShapeLike = ...,
|
|
) -> NDArray[_SCT]: ...
|
|
@overload
|
|
def full_like(
|
|
a: object,
|
|
fill_value: Any,
|
|
dtype: None = ...,
|
|
order: _OrderKACF = ...,
|
|
subok: bool = ...,
|
|
shape: None | _ShapeLike= ...,
|
|
) -> NDArray[Any]: ...
|
|
@overload
|
|
def full_like(
|
|
a: Any,
|
|
fill_value: Any,
|
|
dtype: _DTypeLike[_SCT],
|
|
order: _OrderKACF = ...,
|
|
subok: bool = ...,
|
|
shape: None | _ShapeLike= ...,
|
|
) -> NDArray[_SCT]: ...
|
|
@overload
|
|
def full_like(
|
|
a: Any,
|
|
fill_value: Any,
|
|
dtype: DTypeLike,
|
|
order: _OrderKACF = ...,
|
|
subok: bool = ...,
|
|
shape: None | _ShapeLike= ...,
|
|
) -> NDArray[Any]: ...
|
|
|
|
@overload
|
|
def count_nonzero(
|
|
a: ArrayLike,
|
|
axis: None = ...,
|
|
*,
|
|
keepdims: Literal[False] = ...,
|
|
) -> int: ...
|
|
@overload
|
|
def count_nonzero(
|
|
a: ArrayLike,
|
|
axis: _ShapeLike = ...,
|
|
*,
|
|
keepdims: bool = ...,
|
|
) -> Any: ... # TODO: np.intp or ndarray[np.intp]
|
|
|
|
def isfortran(a: NDArray[Any] | generic) -> bool: ...
|
|
|
|
def argwhere(a: ArrayLike) -> NDArray[intp]: ...
|
|
|
|
def flatnonzero(a: ArrayLike) -> NDArray[intp]: ...
|
|
|
|
@overload
|
|
def correlate(
|
|
a: _ArrayLikeUnknown,
|
|
v: _ArrayLikeUnknown,
|
|
mode: _CorrelateMode = ...,
|
|
) -> NDArray[Any]: ...
|
|
@overload
|
|
def correlate(
|
|
a: _ArrayLikeBool_co,
|
|
v: _ArrayLikeBool_co,
|
|
mode: _CorrelateMode = ...,
|
|
) -> NDArray[bool_]: ...
|
|
@overload
|
|
def correlate(
|
|
a: _ArrayLikeUInt_co,
|
|
v: _ArrayLikeUInt_co,
|
|
mode: _CorrelateMode = ...,
|
|
) -> NDArray[unsignedinteger[Any]]: ...
|
|
@overload
|
|
def correlate(
|
|
a: _ArrayLikeInt_co,
|
|
v: _ArrayLikeInt_co,
|
|
mode: _CorrelateMode = ...,
|
|
) -> NDArray[signedinteger[Any]]: ...
|
|
@overload
|
|
def correlate(
|
|
a: _ArrayLikeFloat_co,
|
|
v: _ArrayLikeFloat_co,
|
|
mode: _CorrelateMode = ...,
|
|
) -> NDArray[floating[Any]]: ...
|
|
@overload
|
|
def correlate(
|
|
a: _ArrayLikeComplex_co,
|
|
v: _ArrayLikeComplex_co,
|
|
mode: _CorrelateMode = ...,
|
|
) -> NDArray[complexfloating[Any, Any]]: ...
|
|
@overload
|
|
def correlate(
|
|
a: _ArrayLikeTD64_co,
|
|
v: _ArrayLikeTD64_co,
|
|
mode: _CorrelateMode = ...,
|
|
) -> NDArray[timedelta64]: ...
|
|
@overload
|
|
def correlate(
|
|
a: _ArrayLikeObject_co,
|
|
v: _ArrayLikeObject_co,
|
|
mode: _CorrelateMode = ...,
|
|
) -> NDArray[object_]: ...
|
|
|
|
@overload
|
|
def convolve(
|
|
a: _ArrayLikeUnknown,
|
|
v: _ArrayLikeUnknown,
|
|
mode: _CorrelateMode = ...,
|
|
) -> NDArray[Any]: ...
|
|
@overload
|
|
def convolve(
|
|
a: _ArrayLikeBool_co,
|
|
v: _ArrayLikeBool_co,
|
|
mode: _CorrelateMode = ...,
|
|
) -> NDArray[bool_]: ...
|
|
@overload
|
|
def convolve(
|
|
a: _ArrayLikeUInt_co,
|
|
v: _ArrayLikeUInt_co,
|
|
mode: _CorrelateMode = ...,
|
|
) -> NDArray[unsignedinteger[Any]]: ...
|
|
@overload
|
|
def convolve(
|
|
a: _ArrayLikeInt_co,
|
|
v: _ArrayLikeInt_co,
|
|
mode: _CorrelateMode = ...,
|
|
) -> NDArray[signedinteger[Any]]: ...
|
|
@overload
|
|
def convolve(
|
|
a: _ArrayLikeFloat_co,
|
|
v: _ArrayLikeFloat_co,
|
|
mode: _CorrelateMode = ...,
|
|
) -> NDArray[floating[Any]]: ...
|
|
@overload
|
|
def convolve(
|
|
a: _ArrayLikeComplex_co,
|
|
v: _ArrayLikeComplex_co,
|
|
mode: _CorrelateMode = ...,
|
|
) -> NDArray[complexfloating[Any, Any]]: ...
|
|
@overload
|
|
def convolve(
|
|
a: _ArrayLikeTD64_co,
|
|
v: _ArrayLikeTD64_co,
|
|
mode: _CorrelateMode = ...,
|
|
) -> NDArray[timedelta64]: ...
|
|
@overload
|
|
def convolve(
|
|
a: _ArrayLikeObject_co,
|
|
v: _ArrayLikeObject_co,
|
|
mode: _CorrelateMode = ...,
|
|
) -> NDArray[object_]: ...
|
|
|
|
@overload
|
|
def outer(
|
|
a: _ArrayLikeUnknown,
|
|
b: _ArrayLikeUnknown,
|
|
out: None = ...,
|
|
) -> NDArray[Any]: ...
|
|
@overload
|
|
def outer(
|
|
a: _ArrayLikeBool_co,
|
|
b: _ArrayLikeBool_co,
|
|
out: None = ...,
|
|
) -> NDArray[bool_]: ...
|
|
@overload
|
|
def outer(
|
|
a: _ArrayLikeUInt_co,
|
|
b: _ArrayLikeUInt_co,
|
|
out: None = ...,
|
|
) -> NDArray[unsignedinteger[Any]]: ...
|
|
@overload
|
|
def outer(
|
|
a: _ArrayLikeInt_co,
|
|
b: _ArrayLikeInt_co,
|
|
out: None = ...,
|
|
) -> NDArray[signedinteger[Any]]: ...
|
|
@overload
|
|
def outer(
|
|
a: _ArrayLikeFloat_co,
|
|
b: _ArrayLikeFloat_co,
|
|
out: None = ...,
|
|
) -> NDArray[floating[Any]]: ...
|
|
@overload
|
|
def outer(
|
|
a: _ArrayLikeComplex_co,
|
|
b: _ArrayLikeComplex_co,
|
|
out: None = ...,
|
|
) -> NDArray[complexfloating[Any, Any]]: ...
|
|
@overload
|
|
def outer(
|
|
a: _ArrayLikeTD64_co,
|
|
b: _ArrayLikeTD64_co,
|
|
out: None = ...,
|
|
) -> NDArray[timedelta64]: ...
|
|
@overload
|
|
def outer(
|
|
a: _ArrayLikeObject_co,
|
|
b: _ArrayLikeObject_co,
|
|
out: None = ...,
|
|
) -> NDArray[object_]: ...
|
|
@overload
|
|
def outer(
|
|
a: _ArrayLikeComplex_co | _ArrayLikeTD64_co | _ArrayLikeObject_co,
|
|
b: _ArrayLikeComplex_co | _ArrayLikeTD64_co | _ArrayLikeObject_co,
|
|
out: _ArrayType,
|
|
) -> _ArrayType: ...
|
|
|
|
@overload
|
|
def tensordot(
|
|
a: _ArrayLikeUnknown,
|
|
b: _ArrayLikeUnknown,
|
|
axes: int | tuple[_ShapeLike, _ShapeLike] = ...,
|
|
) -> NDArray[Any]: ...
|
|
@overload
|
|
def tensordot(
|
|
a: _ArrayLikeBool_co,
|
|
b: _ArrayLikeBool_co,
|
|
axes: int | tuple[_ShapeLike, _ShapeLike] = ...,
|
|
) -> NDArray[bool_]: ...
|
|
@overload
|
|
def tensordot(
|
|
a: _ArrayLikeUInt_co,
|
|
b: _ArrayLikeUInt_co,
|
|
axes: int | tuple[_ShapeLike, _ShapeLike] = ...,
|
|
) -> NDArray[unsignedinteger[Any]]: ...
|
|
@overload
|
|
def tensordot(
|
|
a: _ArrayLikeInt_co,
|
|
b: _ArrayLikeInt_co,
|
|
axes: int | tuple[_ShapeLike, _ShapeLike] = ...,
|
|
) -> NDArray[signedinteger[Any]]: ...
|
|
@overload
|
|
def tensordot(
|
|
a: _ArrayLikeFloat_co,
|
|
b: _ArrayLikeFloat_co,
|
|
axes: int | tuple[_ShapeLike, _ShapeLike] = ...,
|
|
) -> NDArray[floating[Any]]: ...
|
|
@overload
|
|
def tensordot(
|
|
a: _ArrayLikeComplex_co,
|
|
b: _ArrayLikeComplex_co,
|
|
axes: int | tuple[_ShapeLike, _ShapeLike] = ...,
|
|
) -> NDArray[complexfloating[Any, Any]]: ...
|
|
@overload
|
|
def tensordot(
|
|
a: _ArrayLikeTD64_co,
|
|
b: _ArrayLikeTD64_co,
|
|
axes: int | tuple[_ShapeLike, _ShapeLike] = ...,
|
|
) -> NDArray[timedelta64]: ...
|
|
@overload
|
|
def tensordot(
|
|
a: _ArrayLikeObject_co,
|
|
b: _ArrayLikeObject_co,
|
|
axes: int | tuple[_ShapeLike, _ShapeLike] = ...,
|
|
) -> NDArray[object_]: ...
|
|
|
|
@overload
|
|
def roll(
|
|
a: _ArrayLike[_SCT],
|
|
shift: _ShapeLike,
|
|
axis: None | _ShapeLike = ...,
|
|
) -> NDArray[_SCT]: ...
|
|
@overload
|
|
def roll(
|
|
a: ArrayLike,
|
|
shift: _ShapeLike,
|
|
axis: None | _ShapeLike = ...,
|
|
) -> NDArray[Any]: ...
|
|
|
|
def rollaxis(
|
|
a: NDArray[_SCT],
|
|
axis: int,
|
|
start: int = ...,
|
|
) -> NDArray[_SCT]: ...
|
|
|
|
def moveaxis(
|
|
a: NDArray[_SCT],
|
|
source: _ShapeLike,
|
|
destination: _ShapeLike,
|
|
) -> NDArray[_SCT]: ...
|
|
|
|
@overload
|
|
def cross(
|
|
a: _ArrayLikeUnknown,
|
|
b: _ArrayLikeUnknown,
|
|
axisa: int = ...,
|
|
axisb: int = ...,
|
|
axisc: int = ...,
|
|
axis: None | int = ...,
|
|
) -> NDArray[Any]: ...
|
|
@overload
|
|
def cross(
|
|
a: _ArrayLikeBool_co,
|
|
b: _ArrayLikeBool_co,
|
|
axisa: int = ...,
|
|
axisb: int = ...,
|
|
axisc: int = ...,
|
|
axis: None | int = ...,
|
|
) -> NoReturn: ...
|
|
@overload
|
|
def cross(
|
|
a: _ArrayLikeUInt_co,
|
|
b: _ArrayLikeUInt_co,
|
|
axisa: int = ...,
|
|
axisb: int = ...,
|
|
axisc: int = ...,
|
|
axis: None | int = ...,
|
|
) -> NDArray[unsignedinteger[Any]]: ...
|
|
@overload
|
|
def cross(
|
|
a: _ArrayLikeInt_co,
|
|
b: _ArrayLikeInt_co,
|
|
axisa: int = ...,
|
|
axisb: int = ...,
|
|
axisc: int = ...,
|
|
axis: None | int = ...,
|
|
) -> NDArray[signedinteger[Any]]: ...
|
|
@overload
|
|
def cross(
|
|
a: _ArrayLikeFloat_co,
|
|
b: _ArrayLikeFloat_co,
|
|
axisa: int = ...,
|
|
axisb: int = ...,
|
|
axisc: int = ...,
|
|
axis: None | int = ...,
|
|
) -> NDArray[floating[Any]]: ...
|
|
@overload
|
|
def cross(
|
|
a: _ArrayLikeComplex_co,
|
|
b: _ArrayLikeComplex_co,
|
|
axisa: int = ...,
|
|
axisb: int = ...,
|
|
axisc: int = ...,
|
|
axis: None | int = ...,
|
|
) -> NDArray[complexfloating[Any, Any]]: ...
|
|
@overload
|
|
def cross(
|
|
a: _ArrayLikeObject_co,
|
|
b: _ArrayLikeObject_co,
|
|
axisa: int = ...,
|
|
axisb: int = ...,
|
|
axisc: int = ...,
|
|
axis: None | int = ...,
|
|
) -> NDArray[object_]: ...
|
|
|
|
@overload
|
|
def indices(
|
|
dimensions: Sequence[int],
|
|
dtype: type[int] = ...,
|
|
sparse: Literal[False] = ...,
|
|
) -> NDArray[int_]: ...
|
|
@overload
|
|
def indices(
|
|
dimensions: Sequence[int],
|
|
dtype: type[int] = ...,
|
|
sparse: Literal[True] = ...,
|
|
) -> tuple[NDArray[int_], ...]: ...
|
|
@overload
|
|
def indices(
|
|
dimensions: Sequence[int],
|
|
dtype: _DTypeLike[_SCT],
|
|
sparse: Literal[False] = ...,
|
|
) -> NDArray[_SCT]: ...
|
|
@overload
|
|
def indices(
|
|
dimensions: Sequence[int],
|
|
dtype: _DTypeLike[_SCT],
|
|
sparse: Literal[True],
|
|
) -> tuple[NDArray[_SCT], ...]: ...
|
|
@overload
|
|
def indices(
|
|
dimensions: Sequence[int],
|
|
dtype: DTypeLike,
|
|
sparse: Literal[False] = ...,
|
|
) -> NDArray[Any]: ...
|
|
@overload
|
|
def indices(
|
|
dimensions: Sequence[int],
|
|
dtype: DTypeLike,
|
|
sparse: Literal[True],
|
|
) -> tuple[NDArray[Any], ...]: ...
|
|
|
|
def fromfunction(
|
|
function: Callable[..., _T],
|
|
shape: Sequence[int],
|
|
*,
|
|
dtype: DTypeLike = ...,
|
|
like: _SupportsArrayFunc = ...,
|
|
**kwargs: Any,
|
|
) -> _T: ...
|
|
|
|
def isscalar(element: object) -> TypeGuard[
|
|
generic | bool | int | float | complex | str | bytes | memoryview
|
|
]: ...
|
|
|
|
def binary_repr(num: int, width: None | int = ...) -> str: ...
|
|
|
|
def base_repr(
|
|
number: SupportsAbs[float],
|
|
base: float = ...,
|
|
padding: SupportsIndex = ...,
|
|
) -> str: ...
|
|
|
|
@overload
|
|
def identity(
|
|
n: int,
|
|
dtype: None = ...,
|
|
*,
|
|
like: _SupportsArrayFunc = ...,
|
|
) -> NDArray[float64]: ...
|
|
@overload
|
|
def identity(
|
|
n: int,
|
|
dtype: _DTypeLike[_SCT],
|
|
*,
|
|
like: _SupportsArrayFunc = ...,
|
|
) -> NDArray[_SCT]: ...
|
|
@overload
|
|
def identity(
|
|
n: int,
|
|
dtype: DTypeLike,
|
|
*,
|
|
like: _SupportsArrayFunc = ...,
|
|
) -> NDArray[Any]: ...
|
|
|
|
def allclose(
|
|
a: ArrayLike,
|
|
b: ArrayLike,
|
|
rtol: float = ...,
|
|
atol: float = ...,
|
|
equal_nan: bool = ...,
|
|
) -> bool: ...
|
|
|
|
@overload
|
|
def isclose(
|
|
a: _ScalarLike_co,
|
|
b: _ScalarLike_co,
|
|
rtol: float = ...,
|
|
atol: float = ...,
|
|
equal_nan: bool = ...,
|
|
) -> bool_: ...
|
|
@overload
|
|
def isclose(
|
|
a: ArrayLike,
|
|
b: ArrayLike,
|
|
rtol: float = ...,
|
|
atol: float = ...,
|
|
equal_nan: bool = ...,
|
|
) -> NDArray[bool_]: ...
|
|
|
|
def array_equal(a1: ArrayLike, a2: ArrayLike, equal_nan: bool = ...) -> bool: ...
|
|
|
|
def array_equiv(a1: ArrayLike, a2: ArrayLike) -> bool: ...
|