← Back
Editing: __init__.cpython-311.pyc
� ���c� � �v � d Z ddlmZ ddlmZ ddlmZ ddlmZm Z e ed� � G d� d� � � � � � Z G d � d e � � Z G d� de� � Z G d � de� � Z G d� de � � Z G d� de� � Z G d� de� � Z G d� de� � Z G d� de� � ZddlmZ ddlmZmZmZmZmZmZmZmZmZmZ ddl 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@mAZAmBZBmCZCmDZDmEZEmFZFmGZG ddlHmIZImJZJmKZKmLZLmMZMmNZNmOZOmPZPmQZQmRZR ddlSmTZTmUZU ddlVmWZWmXZXmYZYmZZZm[Z[m\Z\m]Z]m^Z^m_Z_m`Z`maZambZbmcZcmdZdmeZemfZf dd lgmhZhmiZimjZjmkZkmlZlmmZmmnZnmoZompZpmqZqmrZrmsZsmtZtmuZumvZvmwZwmxZxmyZymzZzm{Z{ dd!l|m}Z}m~Z~mZ erdd"l�m�Z�m�Z�m�Z�m�Z�m�Z� d#S eZ�eZ�eZ�eZ�eZ�d#S )$z(Private counterpart of ``numpy.typing``.� )�annotations)�ufunc)� set_module)� TYPE_CHECKING�finalznumpy.typingc �$ � � e Zd ZdZd� fd�Z� xZS )�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*] �return�Nonec � �� h d�}| j |vrt d� � �t � � � � � d S )N> �_8Bit�_16Bit�_32Bit�_64Bit�_80Bit�_96Bit�_128Bit�_256Bitr z*cannot inherit from final class "NBitBase")�__name__� TypeError�super�__init_subclass__)�cls� allowed_names� __class__s ��8/usr/lib/python3/dist-packages/numpy/_typing/__init__.pyr zNBitBase.__init_subclass__8 sN �� � � � � � �<�}�,�,��H�I�I�I� ���!�!�#�#�#�#�#� )r r )r � __module__�__qualname__�__doc__r � __classcell__)r s @r r r sH �� � � � � �)� )�V$� $� $� $� $� $� $� $� $� $r r c � � e Zd ZdS )r N�r r r � r r r r C � � � � � � ��Dr r c � � e Zd ZdS )r Nr# r$ r r r r F r% r r c � � e Zd ZdS )r Nr# r$ r r r r I r% r r c � � e Zd ZdS )r Nr# r$ r r r r L r% r r c � � e Zd ZdS )r Nr# r$ r r r r O r% r r c � � e Zd ZdS )r Nr# r$ r r r r R r% r r c � � e Zd ZdS )r Nr# r$ r r r r U r% r r c � � e Zd ZdS )r Nr# r$ r r r r X r% r r � )�_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 �numpyr �numpy.core.overridesr �typingr r r r r r r r r r r �_nested_sequencer. �_nbitr/ r0 r1 r2 r3 r4 r5 r6 r7 r8 �_char_codesr9 r: r; r<