File size: 4,433 Bytes
57db94b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
from collections.abc import Callable
from typing import Any, Literal, TypedDict, SupportsIndex

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

import numpy as np
from numpy import (
    integer,
    timedelta64,
    datetime64,
    floating,
    complexfloating,
    void,
    longdouble,
    clongdouble,
)
from numpy._typing import NDArray, _CharLike_co, _FloatLike_co

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

class _FormatDict(TypedDict, total=False):
    bool: Callable[[np.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: None | _FormatDict
    sign: Literal["-", "+", " "]
    floatmode: _FloatMode
    legacy: Literal[False, "1.13", "1.21"]

def set_printoptions(

    precision: None | SupportsIndex = ...,

    threshold: None | int = ...,

    edgeitems: None | int = ...,

    linewidth: None | int = ...,

    suppress: None | bool = ...,

    nanstr: None | str = ...,

    infstr: None | str = ...,

    formatter: None | _FormatDict = ...,

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

    floatmode: None | _FloatMode = ...,

    *,

    legacy: Literal[None, False, "1.13", "1.21"] = ...,

    override_repr: None | Callable[[NDArray[Any]], str] = ...,

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

    a: NDArray[Any],

    max_line_width: None | int = ...,

    precision: None | SupportsIndex = ...,

    suppress_small: None | 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: None | _FormatDict = ...,

    threshold: None | int = ...,

    edgeitems: None | int = ...,

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

    floatmode: None | _FloatMode = ...,

    suffix: str = ...,

    legacy: Literal[None, False, "1.13", "1.21"] = ...,

) -> str: ...
def format_float_scientific(

    x: _FloatLike_co,

    precision: None | int = ...,

    unique: bool = ...,

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

    sign: bool = ...,

    pad_left: None | int = ...,

    exp_digits: None | int = ...,

    min_digits: None | int = ...,

) -> str: ...
def format_float_positional(

    x: _FloatLike_co,

    precision: None | int = ...,

    unique: bool = ...,

    fractional: bool = ...,

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

    sign: bool = ...,

    pad_left: None | int = ...,

    pad_right: None | int = ...,

    min_digits: None | int = ...,

) -> str: ...
def array_repr(

    arr: NDArray[Any],

    max_line_width: None | int = ...,

    precision: None | SupportsIndex = ...,

    suppress_small: None | bool = ...,

) -> str: ...
def array_str(

    a: NDArray[Any],

    max_line_width: None | int = ...,

    precision: None | SupportsIndex = ...,

    suppress_small: None | bool = ...,

) -> str: ...
def printoptions(

    precision: None | SupportsIndex = ...,

    threshold: None | int = ...,

    edgeitems: None | int = ...,

    linewidth: None | int = ...,

    suppress: None | bool = ...,

    nanstr: None | str = ...,

    infstr: None | str = ...,

    formatter: None | _FormatDict = ...,

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

    floatmode: None | _FloatMode = ...,

    *,

    legacy: Literal[None, False, "1.13", "1.21"] = ...

) -> _GeneratorContextManager[_FormatOptions]: ...