Ë
    ìmxi  ã                  ó^   — d dl mZ d dlZd dlZ G d„ dej
                  «      Z G d„ d«      Zy)é    )ÚannotationsNc                  ó0   — e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zy
)ÚDlpackDeviceTypez3Integer enum for device type codes matching DLPack.é   é   é   é   é   é   é	   é
   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚCPUÚCUDAÚ
CPU_PINNEDÚOPENCLÚVULKANÚMETALÚVPIÚROCM© ó    úQ/home/htdocs/ttos/venv/lib/python3.12/site-packages/pyarrow/interchange/buffer.pyr   r      s-   „ Ù=à
€CØ€DØ€JØ€FØ€FØ€EØ
€CØ�Dr   r   c                  óT   — e Zd ZdZd	d
d„Zedd„«       Zedd„«       Zd„ Zdd„Z	dd„Z
y)Ú_PyArrowBufferaY  
    Data in the buffer is guaranteed to be contiguous in memory.

    Note that there is no dtype attribute present, a buffer can be thought of
    as simply a block of memory. However, if the column that the buffer is
    attached to has a dtype that's supported by DLPack and ``__dlpack__`` is
    implemented, then that dtype information will be contained in the return
    value from ``__dlpack__``.

    This distinction is useful to support both data exchange via DLPack on a
    buffer and (b) dtypes like variable-length strings which do not have a
    fixed number of bytes per element.
    c                ó   — || _         y)z)
        Handle PyArrow Buffers.
        N)Ú_x)ÚselfÚxÚ
allow_copys      r   Ú__init__z_PyArrowBuffer.__init__4   s   € ð ˆ�r   c                ó.   — | j                   j                  S )z'
        Buffer size in bytes.
        )r    Úsize©r!   s    r   Úbufsizez_PyArrowBuffer.bufsize:   s   € ð
 �w‰w�|‰|Ðr   c                ó.   — | j                   j                  S )z?
        Pointer to start of the buffer as an integer.
        )r    Úaddressr'   s    r   Úptrz_PyArrowBuffer.ptrA   s   € ð
 �w‰w�‰Ðr   c                ó   — t        d«      ‚)a}  
        Produce DLPack capsule (see array API standard).

        Raises:
            - TypeError : if the buffer contains unsupported dtypes.
            - NotImplementedError : if DLPack support is not implemented

        Useful to have to connect to array libraries. Support optional because
        it's not completely trivial to implement for a Python-only library.
        Ú
__dlpack__)ÚNotImplementedErrorr'   s    r   r-   z_PyArrowBuffer.__dlpack__H   s   € ô " ,Ó/Ð/r   c                óh   — | j                   j                  rt        j                  dfS t	        d«      ‚)zÆ
        Device type and device ID for where the data in the buffer resides.
        Uses device type codes matching DLPack.
        Note: must be implemented even if ``__dlpack__`` is not.
        NÚ__dlpack_device__)r    Úis_cpur   r   r.   r'   s    r   r0   z _PyArrowBuffer.__dlpack_device__U   s,   € ð �7‰7�>Š>Ü$×(Ñ(¨$Ð/Ð/ä%Ð&9Ó:Ð:r   c                óŠ   — dt        | j                  | j                  | j                  «       d   j                  dœ«      z   dz   S )NzPyArrowBuffer(r   )r(   r+   Údeviceú))Ústrr(   r+   r0   Únamer'   s    r   Ú__repr__z_PyArrowBuffer.__repr__`   sK   € àÜà#Ÿ|™|ØŸ8™8Ø"×4Ñ4Ó6°qÑ9×>Ñ>ñóñð ñð
	
r   N)T)r"   z	pa.Bufferr#   ÚboolÚreturnÚNone)r9   Úint)r9   z#tuple[DlpackDeviceType, int | None])r9   r5   )r   r   r   r   r$   Úpropertyr(   r+   r-   r0   r7   r   r   r   r   r   %   sC   „ ñôð òó ðð òó ðò0ó	;ô
r   r   )Ú
__future__r   ÚenumÚpyarrowÚpaÚIntEnumr   r   r   r   r   ú<module>rB      s,   ðõ$ #Û ã ô
�t—|‘|ô 
÷F
ò F
r   