zmc
2023-10-12 ed135d79df12a2466b52dae1a82326941211dcc9
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
U
O±d¥ã@sâdZddlmZddlmZddlmZddlmZm    Z    e    edƒGdd„dƒƒƒZ
Gd    d
„d
e
ƒZ Gd d „d e ƒZ Gd d„de ƒZ Gdd„de ƒZGdd„deƒZGdd„deƒZGdd„deƒZGdd„deƒZddlmZddlmZmZmZmZmZmZmZmZmZmZddl m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZCmDZDmEZEmFZFmGZGddlHmIZImJZJmKZKmLZLmMZMmNZNmOZOmPZPmQZQmRZRddlSmTZTmUZUddlVmWZWmXZXmYZYmZZZm[Z[m\Z\m]Z]m^Z^m_Z_m`Z`maZambZbmcZcmdZdmeZemfZfdd lgmhZhmiZimjZjmkZkmlZlmmZmmnZnmoZompZpmqZqmrZrmsZsmtZtmuZumvZvmwZwmxZxmyZymzZzm{Z{dd!l|m}Z}m~Z~mZerÊdd"l€mZm‚Z‚mƒZƒm„Z„m…Z…neZeZ‚eZƒeZ„eZ…d#S)$z(Private counterpart of ``numpy.typing``.é)Ú annotations)Úufunc)Ú
set_module)Ú TYPE_CHECKINGÚfinalz numpy.typingcs&eZdZdZddœ‡fdd„ Z‡ZS)ÚNBitBaseaÝ
    A type representing `numpy.number` precision during static type checking.
 
    Used exclusively for the purpose static type checking, `NBitBase`
    represents the base of a hierarchical set of subclasses.
    Each subsequent subclass is herein used for representing a lower level
    of precision, *e.g.* ``64Bit > 32Bit > 16Bit``.
 
    .. versionadded:: 1.20
 
    Examples
    --------
    Below is a typical usage example: `NBitBase` is herein used for annotating
    a function that takes a float and integer of arbitrary precision
    as arguments and returns a new float of whichever precision is largest
    (*e.g.* ``np.float16 + np.int64 -> np.float64``).
 
    .. code-block:: python
 
        >>> from __future__ import annotations
        >>> from typing import TypeVar, TYPE_CHECKING
        >>> import numpy as np
        >>> import numpy.typing as npt
 
        >>> T1 = TypeVar("T1", bound=npt.NBitBase)
        >>> T2 = TypeVar("T2", bound=npt.NBitBase)
 
        >>> def add(a: np.floating[T1], b: np.integer[T2]) -> np.floating[T1 | T2]:
        ...     return a + b
 
        >>> a = np.float16()
        >>> b = np.int64()
        >>> out = add(a, b)
 
        >>> if TYPE_CHECKING:
        ...     reveal_locals()
        ...     # note: Revealed local types are:
        ...     # note:     a: numpy.floating[numpy.typing._16Bit*]
        ...     # note:     b: numpy.signedinteger[numpy.typing._64Bit*]
        ...     # note:     out: numpy.floating[numpy.typing._64Bit*]
 
    ÚNone)Úreturnc    s6ddddddddd    h    }|j|kr(td
ƒ‚tƒ ¡dS) NrÚ_256BitÚ_128BitÚ_96BitÚ_80BitÚ_64BitÚ_32BitÚ_16BitÚ_8Bitz*cannot inherit from final class "NBitBase")Ú__name__Ú    TypeErrorÚsuperÚ__init_subclass__)ÚclsZ allowed_names©Ú    __class__©úMd:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\numpy/_typing/__init__.pyr8sþ
zNBitBase.__init_subclass__)rÚ
__module__Ú __qualname__Ú__doc__rÚ __classcell__rrrrr
s+rc@s eZdZdS)r
N©rrrrrrrr
Csr
c@s eZdZdS)r Nrrrrrr Fsr c@s eZdZdS)r Nrrrrrr Isr c@s eZdZdS)r Nrrrrrr Lsr c@s eZdZdS)rNrrrrrrOsrc@s eZdZdS)rNrrrrrrRsrc@s eZdZdS)rNrrrrrrUsrc@s eZdZdS)rNrrrrrrXsré)Ú_NestedSequence)
Ú    _NBitByteÚ
_NBitShortÚ    _NBitIntCÚ    _NBitIntPÚ_NBitIntÚ _NBitLongLongÚ    _NBitHalfÚ _NBitSingleÚ _NBitDoubleÚ_NBitLongDouble)'Ú
_BoolCodesÚ _UInt8CodesÚ _UInt16CodesÚ _UInt32CodesÚ _UInt64CodesÚ
_Int8CodesÚ _Int16CodesÚ _Int32CodesÚ _Int64CodesÚ _Float16CodesÚ _Float32CodesÚ _Float64CodesÚ_Complex64CodesÚ_Complex128CodesÚ
_ByteCodesÚ _ShortCodesÚ
_IntCCodesÚ
_IntPCodesÚ    _IntCodesÚ_LongLongCodesÚ _UByteCodesÚ _UShortCodesÚ _UIntCCodesÚ _UIntPCodesÚ
_UIntCodesÚ_ULongLongCodesÚ
_HalfCodesÚ _SingleCodesÚ _DoubleCodesÚ_LongDoubleCodesÚ _CSingleCodesÚ _CDoubleCodesÚ_CLongDoubleCodesÚ
_DT64CodesÚ
_TD64CodesÚ    _StrCodesÚ _BytesCodesÚ
_VoidCodesÚ _ObjectCodes)
Ú _CharLike_coÚ _BoolLike_coÚ _UIntLike_coÚ _IntLike_coÚ _FloatLike_coÚ_ComplexLike_coÚ _TD64Like_coÚ_NumberLike_coÚ_ScalarLike_coÚ _VoidLike_co)Ú_ShapeÚ
_ShapeLike)Ú    DTypeLikeÚ
_DTypeLikeÚ_SupportsDTypeÚ_VoidDTypeLikeÚ_DTypeLikeBoolÚ_DTypeLikeUIntÚ _DTypeLikeIntÚ_DTypeLikeFloatÚ_DTypeLikeComplexÚ_DTypeLikeTD64Ú_DTypeLikeDT64Ú_DTypeLikeObjectÚ_DTypeLikeVoidÚ _DTypeLikeStrÚ_DTypeLikeBytesÚ_DTypeLikeComplex_co)Ú    ArrayLikeÚ
_ArrayLikeÚ_FiniteNestedSequenceÚ_SupportsArrayÚ_SupportsArrayFuncÚ _ArrayLikeIntÚ_ArrayLikeBool_coÚ_ArrayLikeUInt_coÚ_ArrayLikeInt_coÚ_ArrayLikeFloat_coÚ_ArrayLikeComplex_coÚ_ArrayLikeNumber_coÚ_ArrayLikeTD64_coÚ_ArrayLikeDT64_coÚ_ArrayLikeObject_coÚ_ArrayLikeVoid_coÚ_ArrayLikeStr_coÚ_ArrayLikeBytes_coÚ_ArrayLikeUnknownÚ _UnknownType)ÚNDArrayÚ_DTypeÚ _GenericAlias)Ú_UFunc_Nin1_Nout1Ú_UFunc_Nin2_Nout1Ú_UFunc_Nin1_Nout2Ú_UFunc_Nin2_Nout2Ú_GUFunc_Nin2_Nout1N)†rÚ
__future__rÚnumpyrZnumpy.core.overridesrÚtypingrrrr
r r r rrrrZ_nested_sequencer!Z_nbitr"r#r$r%r&r'r(r)r*r+Z _char_codesr,r-r.r/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@rArBrCrDrErFrGrHrIrJrKrLrMrNrOrPrQrRÚ_scalarsrSrTrUrVrWrXrYrZr[r\Z_shaper]r^Z _dtype_liker_r`rarbrcrdrerfrgrhrirjrkrlrmrnZ _array_likerorprqrrrsrtrurvrwrxryrzr{r|r}r~rr€rr‚Z_generic_aliasrƒr„r…Z_ufuncr†r‡rˆr‰rŠrrrrÚ<module>s<   7 0 ¤)0 HX