o
    ŸÆÏi®  ã                   @   s‚   U d dl mZmZ ddlmZmZ ddlmZ i Ze	e
eegef f ed< de
deegef dd	fd
d„Zdedefdd„Zd	S )é    )ÚAnyÚCallableé   )Ú*get_minimal_required_cuda_ver_from_ptx_verÚget_ptx_ver)Ú#warn_if_cuda_major_version_mismatchÚ_handle_gettersÚtÚgetterÚreturnNc                 C   s   |t | < d S )N)r   )r	   r
   © r   úP/home/ubuntu/.local/lib/python3.10/site-packages/cuda/bindings/utils/__init__.pyÚ_add_cuda_native_handle_getter   s   r   Úobjc                 C   s8   t | ƒ}zt| | ƒW S  ty   tdt|ƒ ƒd‚w )zËReturns the address of the provided CUDA Python object as a Python int.

    Parameters
    ----------
    obj : Any
        CUDA Python object

    Returns
    -------
    int : The object address.
    zUnknown type: N)Útyper   ÚKeyErrorÚ	TypeErrorÚstr)r   Úobj_typer   r   r   Úget_cuda_native_handle   s   ÿr   )Útypingr   r   Ú
_ptx_utilsr   r   Ú_version_checkr   r   Údictr   ÚintÚ__annotations__r   r   r   r   r   r   Ú<module>   s    