summaryrefslogtreecommitdiff
path: root/numpy/core/shape_base.pyi
blob: b20598b1ab5b0eceb997d0672f0c2e6db18db914 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
import sys
from typing import TypeVar, overload, List, Sequence

from numpy import ndarray
from numpy.typing import ArrayLike

if sys.version_info >= (3, 8):
    from typing import SupportsIndex
else:
    from typing_extensions import Protocol
    class SupportsIndex(Protocol):
        def __index__(self) -> int: ...

_ArrayType = TypeVar("_ArrayType", bound=ndarray)

@overload
def atleast_1d(__arys: ArrayLike) -> ndarray: ...
@overload
def atleast_1d(*arys: ArrayLike) -> List[ndarray]: ...

@overload
def atleast_2d(__arys: ArrayLike) -> ndarray: ...
@overload
def atleast_2d(*arys: ArrayLike) -> List[ndarray]: ...

@overload
def atleast_3d(__arys: ArrayLike) -> ndarray: ...
@overload
def atleast_3d(*arys: ArrayLike) -> List[ndarray]: ...

def vstack(tup: Sequence[ArrayLike]) -> ndarray: ...
def hstack(tup: Sequence[ArrayLike]) -> ndarray: ...
@overload
def stack(
    arrays: Sequence[ArrayLike], axis: SupportsIndex = ..., out: None = ...
) -> ndarray: ...
@overload
def stack(
    arrays: Sequence[ArrayLike], axis: SupportsIndex = ..., out: _ArrayType = ...
) -> _ArrayType: ...
def block(arrays: ArrayLike) -> ndarray: ...