Ë
    ¤eh¾  ã                  óP  — U d dl mZ d dlmZ d dlZd dlmZ d dlm	Z	 d dl
mZmZ  G d„ de«      Z G d	„ d
e«      ZdZe G d„ de«      «       Ze G d„ de«      «       Z ej$                  ej&                  «       e«        ej$                  ej(                  «       e«       iZded<   y)é    )Úannotations)ÚClassVarN)Úregister_extension_dtype)Úis_float_dtype)ÚNumericArrayÚNumericDtypec                  ó‚   — e Zd ZdZ ej
                  ej                  «      ZeZ	e
dd„«       Ze
dd„«       Ze
dd„«       Zy)	ÚFloatingDtypea  
    An ExtensionDtype to hold a single size of floating dtype.

    These specific implementations are subclasses of the non-public
    FloatingDtype. For example we have Float32Dtype to represent float32.

    The attributes name & type are set when these subclasses are created.
    c                ó   — t         S )zq
        Return the array type associated with this dtype.

        Returns
        -------
        type
        )ÚFloatingArray©Úclss    úY/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/pandas/core/arrays/floating.pyÚconstruct_array_typez"FloatingDtype.construct_array_type   s
   € ô Ðó    c                ó   — t         S )N)ÚNUMPY_FLOAT_TO_DTYPEr   s    r   Ú_get_dtype_mappingz FloatingDtype._get_dtype_mapping(   s   € ä#Ð#r   c                ó(   — |j                  ||¬«      S )z{
        Safely cast the values to the given dtype.

        "safe" in this context means the casting is lossless.
        )Úcopy)Úastype)r   ÚvaluesÚdtyper   s       r   Ú
_safe_castzFloatingDtype._safe_cast,   s   € ð �}‰}˜U¨ˆ}Ó.Ð.r   N)Úreturnztype[FloatingArray])r   údict[np.dtype, FloatingDtype])r   ú
np.ndarrayr   znp.dtyper   Úboolr   r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__Únpr   Úfloat64Ú_default_np_dtyper   Ú_checkerÚclassmethodr   r   r   © r   r   r
   r
      s]   „ ñð !˜Ÿ™ §¡Ó,ÐØ€Hàòó ðð ò$ó ð$ð ò/ó ñ/r   r
   c                  ó4   — e Zd ZdZeZej                  ZdZ	dZ
y)r   a±  
    Array of floating (optional missing) values.

    .. warning::

       FloatingArray is currently experimental, and its API or internal
       implementation may change without warning. Especially the behaviour
       regarding NaN (distinct from NA missing values) is subject to change.

    We represent a FloatingArray with 2 numpy arrays:

    - data: contains a numpy float array of the appropriate dtype
    - mask: a boolean array holding a mask on the data, True is missing

    To construct an FloatingArray from generic array-like input, use
    :func:`pandas.array` with one of the float dtypes (see examples).

    See :ref:`integer_na` for more.

    Parameters
    ----------
    values : numpy.ndarray
        A 1-d float-dtype array.
    mask : numpy.ndarray
        A 1-d boolean-dtype array indicating missing values.
    copy : bool, default False
        Whether to copy the `values` and `mask`.

    Attributes
    ----------
    None

    Methods
    -------
    None

    Returns
    -------
    FloatingArray

    Examples
    --------
    Create an FloatingArray with :func:`pandas.array`:

    >>> pd.array([0.1, None, 0.3], dtype=pd.Float32Dtype())
    <FloatingArray>
    [0.1, <NA>, 0.3]
    Length: 3, dtype: Float32

    String aliases for the dtypes are also available. They are capitalized.

    >>> pd.array([0.1, None, 0.3], dtype="Float32")
    <FloatingArray>
    [0.1, <NA>, 0.3]
    Length: 3, dtype: Float32
    g      ð?g        N)r   r    r!   r"   r
   Ú
_dtype_clsr#   ÚnanÚ_internal_fill_valueÚ_truthy_valueÚ_falsey_valuer(   r   r   r   r   8   s'   „ ñ7ðr €Jð Ÿ6™6Ðð €MØ�Mr   r   az  
An ExtensionDtype for {dtype} data.

This dtype uses ``pd.NA`` as missing value indicator.

Attributes
----------
None

Methods
-------
None

Examples
--------
For Float32Dtype:

>>> ser = pd.Series([2.25, pd.NA], dtype=pd.Float32Dtype())
>>> ser.dtype
Float32Dtype()

For Float64Dtype:

>>> ser = pd.Series([2.25, pd.NA], dtype=pd.Float64Dtype())
>>> ser.dtype
Float64Dtype()
c                  óX   — e Zd ZU ej                  ZdZded<   ej                  d¬«      Z
y)ÚFloat32DtypeÚFloat32úClassVar[str]ÚnameÚfloat32©r   N)r   r    r!   r#   r4   Útyper3   Ú__annotations__Ú_dtype_docstringÚformatr"   r(   r   r   r0   r0   œ   ó(   … à�:‰:€DØ#€Dˆ-Ó#Ø×%Ñ%¨IÐ%Ó6�Gr   r0   c                  óX   — e Zd ZU ej                  ZdZded<   ej                  d¬«      Z
y)ÚFloat64DtypeÚFloat64r2   r3   r$   r5   N)r   r    r!   r#   r$   r6   r3   r7   r8   r9   r"   r(   r   r   r<   r<   £   r:   r   r<   r   r   )Ú
__future__r   Útypingr   Únumpyr#   Úpandas.core.dtypes.baser   Úpandas.core.dtypes.commonr   Úpandas.core.arrays.numericr   r   r
   r   r8   r0   r<   r   r4   r$   r   r7   r(   r   r   ú<module>rD      s±   ðÞ "å ã å <Ý 4÷ô%/�Lô %/ôPB�Lô BðJÐ ð> ô7�=ó 7ó ð7ð ô7�=ó 7ó ð7ð €B‡H�HˆR�Z‰ZÓ™,›.Ø€B‡H�HˆR�Z‰ZÓ™,›.ð7Ð Ð3ô r   