§
    Ñ! h}  ã                  ó~   — d dl mZ d dlmZmZ d dlmZmZ erd dlZ	d dl
Z G d„ de¦  «        Z G d„ de¦  «        ZdS )	é    )Úannotations)ÚTYPE_CHECKINGÚAny)ÚBufferÚDlpackDeviceTypeNc                  ód   — e Zd ZdZddd	„Zedd„¦   «         Zedd„¦   «         Zdd„Zdd„Z	dd„Z
dS )ÚPandasBufferúF
    Data in the buffer is guaranteed to be contiguous in memory.
    TÚxú
np.ndarrayÚ
allow_copyÚboolÚreturnÚNonec                ó¦   — |j         d         r<|j         |j        j        fk    s&|r|                     ¦   «         }nt	          d¦  «        ‚|| _        dS )zG
        Handle only regular columns (= numpy arrays) for now.
        r   zBExports cannot be zero-copy in the case of a non-contiguous bufferN)ÚstridesÚdtypeÚitemsizeÚcopyÚRuntimeErrorÚ_x)Úselfr   r   s      úXc:\xampp_lite_8_4\www\timesheet\venv\Lib\site-packages\pandas/core/interchange/buffer.pyÚ__init__zPandasBuffer.__init__   sc   € ð Œ9�QŒ<ð 		 ¤	¨a¬gÔ.>Ð-@Ò @Ð @ð ð Ø—F’F‘H”H��å"ð1ñô ð ð ˆŒˆˆó    Úintc                ó>   — | j         j        | j         j        j        z  S ©z'
        Buffer size in bytes.
        )r   Úsizer   r   ©r   s    r   ÚbufsizezPandasBuffer.bufsize*   s   € ð
 ŒwŒ|˜dœgœmÔ4Ñ4Ð4r   c                ó2   — | j         j        d         d         S )ú?
        Pointer to start of the buffer as an integer.
        Údatar   )r   Ú__array_interface__r    s    r   ÚptrzPandasBuffer.ptr1   s   € ð
 ŒwÔ*¨6Ô2°1Ô5Ð5r   r   c                ó4   — | j                              ¦   «         S ©z?
        Represent this structure as DLPack interface.
        )r   Ú
__dlpack__r    s    r   r)   zPandasBuffer.__dlpack__8   s   € ð Œw×!Ò!Ñ#Ô#Ð#r   ú#tuple[DlpackDeviceType, int | None]c                ó   — t           j        dfS ©zU
        Device type and device ID for where the data in the buffer resides.
        N©r   ÚCPUr    s    r   Ú__dlpack_device__zPandasBuffer.__dlpack_device__>   ó   € õ !Ô$ dÐ+Ð+r   Ústrc                ó‚   — dt          | j        | j        |                      ¦   «         d         j        dœ¦  «        z   dz   S )NzPandasBuffer(r   ©r!   r&   Údeviceú))r1   r!   r&   r/   Únamer    s    r   Ú__repr__zPandasBuffer.__repr__D   sQ   € àÝà#œ|Øœ8Ø"×4Ò4Ñ6Ô6°qÔ9Ô>ðð ñô ñð ñð
	
r   N)T)r   r   r   r   r   r   ©r   r   ©r   r   ©r   r*   ©r   r1   ©Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Úpropertyr!   r&   r)   r/   r7   © r   r   r	   r	      s³   € € € € € ðð ðð ð ð ð ð& ð5ð 5ð 5ñ „Xð5ð ð6ð 6ð 6ñ „Xð6ð$ð $ð $ð $ð,ð ,ð ,ð ,ð
ð 
ð 
ð 
ð 
ð 
r   r	   c                  ób   — e Zd ZdZdd„Zedd	„¦   «         Zedd
„¦   «         Zdd„Zdd„Z	dd„Z
dS )ÚPandasBufferPyarrowr
   Úbufferú	pa.BufferÚlengthr   r   r   c               ó"   — || _         || _        dS )z0
        Handle pyarrow chunked arrays.
        N)Ú_bufferÚ_length)r   rE   rG   s      r   r   zPandasBufferPyarrow.__init__W   s   € ð ˆŒØˆŒˆˆr   c                ó   — | j         j        S r   )rI   r   r    s    r   r!   zPandasBufferPyarrow.bufsizec   s   € ð
 Œ|Ô Ð r   c                ó   — | j         j        S )r#   )rI   Úaddressr    s    r   r&   zPandasBufferPyarrow.ptrj   s   € ð
 Œ|Ô#Ð#r   r   c                ó   — t          ¦   «         ‚r(   )ÚNotImplementedErrorr    s    r   r)   zPandasBufferPyarrow.__dlpack__q   s   € õ "Ñ#Ô#Ð#r   r*   c                ó   — t           j        dfS r,   r-   r    s    r   r/   z%PandasBufferPyarrow.__dlpack_device__w   r0   r   r1   c                óH   — dt          | j        | j        ddœ¦  «        z   dz   S )NzPandasBuffer[pyarrow](r.   r3   r5   )r1   r!   r&   r    s    r   r7   zPandasBufferPyarrow.__repr__}   s=   € à$Ýà#œ|Øœ8Ø#ðð ñô ñð ñð
	
r   N)rE   rF   rG   r   r   r   r8   r9   r:   r;   r<   rB   r   r   rD   rD   R   s®   € € € € € ðð ð
ð 
ð 
ð 
ð ð!ð !ð !ñ „Xð!ð ð$ð $ð $ñ „Xð$ð$ð $ð $ð $ð,ð ,ð ,ð ,ð
ð 
ð 
ð 
ð 
ð 
r   rD   )Ú
__future__r   Útypingr   r   Ú*pandas.core.interchange.dataframe_protocolr   r   ÚnumpyÚnpÚpyarrowÚpar	   rD   rB   r   r   ú<module>rY      sè   ðØ "Ð "Ð "Ð "Ð "Ð "ðð ð ð ð ð ð ð ð
ð ð ð ð ð ð ð ð
 ð ØÐÐÐØÐÐÐð=
ð =
ð =
ð =
ð =
�6ñ =
ô =
ð =
ð@6
ð 6
ð 6
ð 6
ð 6
˜&ñ 6
ô 6
ð 6
ð 6
ð 6
r   