File size: 4,821 Bytes
dc2106c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
import sys
from types import TracebackType
from typing import Any, Optional, Callable, Union, Type

# Using a private class is by no means ideal, but it is simply a consquence
# of a `contextlib.context` returning an instance of aformentioned class
from contextlib import _GeneratorContextManager

from numpy import (
    ndarray,
    generic,
    bool_,
    integer,
    timedelta64,
    datetime64,
    floating,
    complexfloating,
    void,
    str_,
    bytes_,
    longdouble,
    clongdouble,
)
from numpy.typing import ArrayLike, _CharLike_co, _FloatLike_co

if sys.version_info > (3, 8):
    from typing import Literal, TypedDict, SupportsIndex
else:
    from typing_extensions import Literal, TypedDict, SupportsIndex

_FloatMode = Literal["fixed", "unique", "maxprec", "maxprec_equal"]

class _FormatDict(TypedDict, total=False):
    bool: Callable[[bool_], str]
    int: Callable[[integer[Any]], str]
    timedelta: Callable[[timedelta64], str]
    datetime: Callable[[datetime64], str]
    float: Callable[[floating[Any]], str]
    longfloat: Callable[[longdouble], str]
    complexfloat: Callable[[complexfloating[Any, Any]], str]
    longcomplexfloat: Callable[[clongdouble], str]
    void: Callable[[void], str]
    numpystr: Callable[[_CharLike_co], str]
    object: Callable[[object], str]
    all: Callable[[object], str]
    int_kind: Callable[[integer[Any]], str]
    float_kind: Callable[[floating[Any]], str]
    complex_kind: Callable[[complexfloating[Any, Any]], str]
    str_kind: Callable[[_CharLike_co], str]

class _FormatOptions(TypedDict):
    precision: int
    threshold: int
    edgeitems: int
    linewidth: int
    suppress: bool
    nanstr: str
    infstr: str
    formatter: Optional[_FormatDict]
    sign: Literal["-", "+", " "]
    floatmode: _FloatMode
    legacy: Literal[False, "1.13"]

def set_printoptions(

    precision: Optional[SupportsIndex] = ...,

    threshold: Optional[int] = ...,

    edgeitems: Optional[int] = ...,

    linewidth: Optional[int] = ...,

    suppress: Optional[bool] = ...,

    nanstr: Optional[str] = ...,

    infstr: Optional[str] = ...,

    formatter: Optional[_FormatDict] = ...,

    sign: Optional[Literal["-", "+", " "]] = ...,

    floatmode: Optional[_FloatMode] = ...,

    *,

    legacy: Optional[Literal[False, "1.13"]] = ...

) -> None: ...
def get_printoptions() -> _FormatOptions: ...
def array2string(

    a: ndarray[Any, Any],

    max_line_width: Optional[int] = ...,

    precision: Optional[SupportsIndex] = ...,

    suppress_small: Optional[bool] = ...,

    separator: str = ...,

    prefix: str = ...,

    # NOTE: With the `style` argument being deprecated,

    # all arguments between `formatter` and `suffix` are de facto

    # keyworld-only arguments

    *,

    formatter: Optional[_FormatDict] = ...,

    threshold: Optional[int] = ...,

    edgeitems: Optional[int] = ...,

    sign: Optional[Literal["-", "+", " "]] = ...,

    floatmode: Optional[_FloatMode] = ...,

    suffix: str = ...,

    legacy: Optional[Literal[False, "1.13"]] = ...,

) -> str: ...
def format_float_scientific(

    x: _FloatLike_co,

    precision: Optional[int] = ...,

    unique: bool = ...,

    trim: Literal["k", ".", "0", "-"] = ...,

    sign: bool = ...,

    pad_left: Optional[int] = ...,

    exp_digits: Optional[int] = ...,

    min_digits: Optional[int] = ...,

) -> str: ...
def format_float_positional(

    x: _FloatLike_co,

    precision: Optional[int] = ...,

    unique: bool = ...,

    fractional: bool = ...,

    trim: Literal["k", ".", "0", "-"] = ...,

    sign: bool = ...,

    pad_left: Optional[int] = ...,

    pad_right: Optional[int] = ...,

    min_digits: Optional[int] = ...,

) -> str: ...
def array_repr(

    arr: ndarray[Any, Any],

    max_line_width: Optional[int] = ...,

    precision: Optional[SupportsIndex] = ...,

    suppress_small: Optional[bool] = ...,

) -> str: ...
def array_str(

    a: ndarray[Any, Any],

    max_line_width: Optional[int] = ...,

    precision: Optional[SupportsIndex] = ...,

    suppress_small: Optional[bool] = ...,

) -> str: ...
def set_string_function(

    f: Optional[Callable[[ndarray[Any, Any]], str]], repr: bool = ...

) -> None: ...
def printoptions(

    precision: Optional[SupportsIndex] = ...,

    threshold: Optional[int] = ...,

    edgeitems: Optional[int] = ...,

    linewidth: Optional[int] = ...,

    suppress: Optional[bool] = ...,

    nanstr: Optional[str] = ...,

    infstr: Optional[str] = ...,

    formatter: Optional[_FormatDict] = ...,

    sign: Optional[Literal["-", "+", " "]] = ...,

    floatmode: Optional[_FloatMode] = ...,

    *,

    legacy: Optional[Literal[False, "1.13"]] = ...

) -> _GeneratorContextManager[_FormatOptions]: ...