From 6068e3249b87ff06995bf78609ecd3d0198de14f Mon Sep 17 00:00:00 2001 From: Bas van Beek Date: Mon, 24 May 2021 14:11:46 +0200 Subject: ENH: Add basic dtype-support to 4 array constructors --- numpy/core/multiarray.pyi | 126 +++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 114 insertions(+), 12 deletions(-) (limited to 'numpy/core/multiarray.pyi') diff --git a/numpy/core/multiarray.pyi b/numpy/core/multiarray.pyi index 38827bf8f..122dee284 100644 --- a/numpy/core/multiarray.pyi +++ b/numpy/core/multiarray.pyi @@ -387,32 +387,134 @@ def may_share_memory( max_work: Optional[int] = ..., ) -> bool: ... +@overload +def asarray( + a: _ArrayLike[_SCT], + dtype: None = ..., + order: _OrderKACF = ..., + *, + like: ArrayLike = ..., +) -> NDArray[_SCT]: ... +@overload def asarray( a: object, - dtype: DTypeLike = ..., + dtype: None = ..., + order: _OrderKACF = ..., + *, + like: ArrayLike = ..., +) -> NDArray[Any]: ... +@overload +def asarray( + a: Any, + dtype: _DTypeLike[_SCT], order: _OrderKACF = ..., *, - like: ArrayLike = ... -) -> ndarray: ... + like: ArrayLike = ..., +) -> NDArray[_SCT]: ... +@overload +def asarray( + a: Any, + dtype: DTypeLike, + order: _OrderKACF = ..., + *, + like: ArrayLike = ..., +) -> NDArray[Any]: ... + @overload def asanyarray( - a: _ArrayType, + a: _ArrayType, # Preserve subclass-information dtype: None = ..., order: _OrderKACF = ..., *, - like: ArrayLike = ... + like: ArrayLike = ..., ) -> _ArrayType: ... @overload +def asanyarray( + a: _ArrayLike[_SCT], + dtype: None = ..., + order: _OrderKACF = ..., + *, + like: ArrayLike = ..., +) -> NDArray[_SCT]: ... +@overload def asanyarray( a: object, - dtype: DTypeLike = ..., + dtype: None = ..., + order: _OrderKACF = ..., + *, + like: ArrayLike = ..., +) -> NDArray[Any]: ... +@overload +def asanyarray( + a: Any, + dtype: _DTypeLike[_SCT], order: _OrderKACF = ..., *, - like: ArrayLike = ... -) -> ndarray: ... + like: ArrayLike = ..., +) -> NDArray[_SCT]: ... +@overload +def asanyarray( + a: Any, + dtype: DTypeLike, + order: _OrderKACF = ..., + *, + like: ArrayLike = ..., +) -> NDArray[Any]: ... + +@overload +def ascontiguousarray( + a: _ArrayLike[_SCT], + dtype: None = ..., + *, + like: ArrayLike = ..., +) -> NDArray[_SCT]: ... +@overload +def ascontiguousarray( + a: object, + dtype: None = ..., + *, + like: ArrayLike = ..., +) -> NDArray[Any]: ... +@overload def ascontiguousarray( - a: object, dtype: DTypeLike = ..., *, like: ArrayLike = ... -) -> ndarray: ... + a: Any, + dtype: _DTypeLike[_SCT], + *, + like: ArrayLike = ..., +) -> NDArray[_SCT]: ... +@overload +def ascontiguousarray( + a: Any, + dtype: DTypeLike, + *, + like: ArrayLike = ..., +) -> NDArray[Any]: ... + +@overload def asfortranarray( - a: object, dtype: DTypeLike = ..., *, like: ArrayLike = ... -) -> ndarray: ... + a: _ArrayLike[_SCT], + dtype: None = ..., + *, + like: ArrayLike = ..., +) -> NDArray[_SCT]: ... +@overload +def asfortranarray( + a: object, + dtype: None = ..., + *, + like: ArrayLike = ..., +) -> NDArray[Any]: ... +@overload +def asfortranarray( + a: Any, + dtype: _DTypeLike[_SCT], + *, + like: ArrayLike = ..., +) -> NDArray[_SCT]: ... +@overload +def asfortranarray( + a: Any, + dtype: DTypeLike, + *, + like: ArrayLike = ..., +) -> NDArray[Any]: ... -- cgit v1.2.1