+
    €eiò  c                   sš  € R t ^ RIHt ^ RIHt ]]! R4       ! R R4      4       4       t]]! R4       ! R R]4      4       4       t]]! R4       ! R	 R
]4      4       4       t]]! R4       ! R R]4      4       4       t]]! R4       ! R R]4      4       4       t	]]! R4       ! R R]	4      4       4       t
]]! R4       ! R R]
4      4       4       tR# )z>A module with the precisions of generic `~numpy.number` types.)Úfinal)Ú
set_moduleznumpy.typingc                   sB   a a€ ] tR t^t oRtV3R lV 3R lltRtVtV ;t# )ÚNBitBasea¤  
A type representing `numpy.number` precision during static type checking.

Used exclusively for the purpose of 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

.. deprecated:: 2.3
    Use ``@typing.overload`` or a ``TypeVar`` with a scalar-type as upper
    bound, instead.

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 typing import TypeVar, TYPE_CHECKING
    >>> import numpy as np
    >>> import numpy.typing as npt

    >>> S = TypeVar("S", bound=npt.NBitBase)
    >>> T = TypeVar("T", bound=npt.NBitBase)

    >>> def add(a: np.floating[S], b: np.integer[T]) -> np.floating[S | T]:
    ...     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*]

c                s   <€ V ^8„  d   QhRR/# )i   ZreturnN© )ZformatÚ__classdict__s   "€Ú?/usr/lib64/python3.14/site-packages/numpy/_typing/_nbit_base.pyZ__annotate__ZNBitBase.__annotate__9   s   ø€ ÷ $ñ $ $ñ $ó    c                sd   <€ 0 RmpV P                   V9  d   \        R4      h\        SV `  4        R# )r   z*cannot inherit from final class "NBitBase"N>   Ú_8BitÚ_16BitÚ_32BitÚ_64BitÚ_96BitÚ_128Bitr   )Ú__name__Z	TypeErrorZsuperÚ__init_subclass__)ZclsZallowed_namesÚ	__class__s   & €r   r   ZNBitBase.__init_subclass__9   s/   ø€ ò
ˆð <‰<˜}Ô,ÜÐHÓIÐIÜ‰Ñ!Ö#r   r   )	r   Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   Ú__static_attributes__Z__classdictcell__Z__classcell__)r   r   s   @@r   r   r      s   ù‡ € ñ,÷^$÷ $ó $r   r   znumpy._typingc                   s   € ] tR t^AtRtR# )r   r   N©r   r   r   r   r   r   r   r   r   r   A   s   † ó 	r   r   c                   s   € ] tR t^GtRtR# )r   r   Nr   r   r   r   r   r   G   ó   † ó 	r   r   c                   s   € ] tR t^LtRtR# )r
   r   Nr   r   r   r   r
   r
   L   r   r   r
   c                   s   € ] tR t^QtRtR# )r	   r   Nr   r   r   r   r	   r	   Q   r   r   r	   c                   s   € ] tR t^VtRtR# )r   r   Nr   r   r   r   r   r   V   r   r   r   c                   s   € ] tR t^[tRtR# )r   r   Nr   r   r   r   r   r   [   r   r   r   N)r   Ztypingr    Znumpy._utilsr   r   r   r   r
   r	   r   r   r   r   r   Ú<module>r      s%  ðÙ DÝ å #ð ÙˆNÓ÷6$ð 6$ó ó ð6$ðp ÙˆOÓô	ˆhó 	ó ó ð	ð ÙˆOÓô	ˆWó 	ó ó ð	ð ÙˆOÓô	ˆVó 	ó ó ð	ð ÙˆOÓô	ˆVó 	ó ó ð	ð ÙˆOÓô	ˆVó 	ó ó ð	ð ÙˆOÓô	ˆFó 	ó ó ò	r   