numerictypes.pyi
1 import sys 2 import types 3 from collections.abc import Iterable 4 from typing import ( 5 Literal as L, 6 Union, 7 overload, 8 Any, 9 TypeVar, 10 Protocol, 11 TypedDict, 12 ) 13 14 from numpy import ( 15 ndarray, 16 dtype, 17 generic, 18 bool_, 19 ubyte, 20 ushort, 21 uintc, 22 uint, 23 ulonglong, 24 byte, 25 short, 26 intc, 27 int_, 28 longlong, 29 half, 30 single, 31 double, 32 longdouble, 33 csingle, 34 cdouble, 35 clongdouble, 36 datetime64, 37 timedelta64, 38 object_, 39 str_, 40 bytes_, 41 void, 42 ) 43 44 from numpy.core._type_aliases import ( 45 sctypeDict as sctypeDict, 46 sctypes as sctypes, 47 ) 48 49 from numpy._typing import DTypeLike, ArrayLike, _DTypeLike 50 51 _T = TypeVar("_T") 52 _SCT = TypeVar("_SCT", bound=generic) 53 54 class _CastFunc(Protocol): 55 def __call__( 56 self, x: ArrayLike, k: DTypeLike = ... 57 ) -> ndarray[Any, dtype[Any]]: ... 58 59 class _TypeCodes(TypedDict): 60 Character: L['c'] 61 Integer: L['bhilqp'] 62 UnsignedInteger: L['BHILQP'] 63 Float: L['efdg'] 64 Complex: L['FDG'] 65 AllInteger: L['bBhHiIlLqQpP'] 66 AllFloat: L['efdgFDG'] 67 Datetime: L['Mm'] 68 All: L['?bhilqpBHILQPefdgFDGSUVOMm'] 69 70 class _typedict(dict[type[generic], _T]): 71 def __getitem__(self, key: DTypeLike) -> _T: ... 72 73 if sys.version_info >= (3, 10): 74 _TypeTuple = Union[ 75 type[Any], 76 types.UnionType, 77 tuple[Union[type[Any], types.UnionType, tuple[Any, ...]], ...], 78 ] 79 else: 80 _TypeTuple = Union[ 81 type[Any], 82 tuple[Union[type[Any], tuple[Any, ...]], ...], 83 ] 84 85 __all__: list[str] 86 87 @overload 88 def maximum_sctype(t: _DTypeLike[_SCT]) -> type[_SCT]: ... 89 @overload 90 def maximum_sctype(t: DTypeLike) -> type[Any]: ... 91 92 @overload 93 def issctype(rep: dtype[Any] | type[Any]) -> bool: ... 94 @overload 95 def issctype(rep: object) -> L[False]: ... 96 97 @overload 98 def obj2sctype(rep: _DTypeLike[_SCT], default: None = ...) -> None | type[_SCT]: ... 99 @overload 100 def obj2sctype(rep: _DTypeLike[_SCT], default: _T) -> _T | type[_SCT]: ... 101 @overload 102 def obj2sctype(rep: DTypeLike, default: None = ...) -> None | type[Any]: ... 103 @overload 104 def obj2sctype(rep: DTypeLike, default: _T) -> _T | type[Any]: ... 105 @overload 106 def obj2sctype(rep: object, default: None = ...) -> None: ... 107 @overload 108 def obj2sctype(rep: object, default: _T) -> _T: ... 109 110 @overload 111 def issubclass_(arg1: type[Any], arg2: _TypeTuple) -> bool: ... 112 @overload 113 def issubclass_(arg1: object, arg2: object) -> L[False]: ... 114 115 def issubsctype(arg1: DTypeLike, arg2: DTypeLike) -> bool: ... 116 117 def issubdtype(arg1: DTypeLike, arg2: DTypeLike) -> bool: ... 118 119 def sctype2char(sctype: DTypeLike) -> str: ... 120 121 def find_common_type( 122 array_types: Iterable[DTypeLike], 123 scalar_types: Iterable[DTypeLike], 124 ) -> dtype[Any]: ... 125 126 cast: _typedict[_CastFunc] 127 nbytes: _typedict[int] 128 typecodes: _TypeCodes 129 ScalarType: tuple[ 130 type[int], 131 type[float], 132 type[complex], 133 type[bool], 134 type[bytes], 135 type[str], 136 type[memoryview], 137 type[bool_], 138 type[csingle], 139 type[cdouble], 140 type[clongdouble], 141 type[half], 142 type[single], 143 type[double], 144 type[longdouble], 145 type[byte], 146 type[short], 147 type[intc], 148 type[int_], 149 type[longlong], 150 type[timedelta64], 151 type[datetime64], 152 type[object_], 153 type[bytes_], 154 type[str_], 155 type[ubyte], 156 type[ushort], 157 type[uintc], 158 type[uint], 159 type[ulonglong], 160 type[void], 161 ]