o
    i0                     @   s   d dl Z d dlmZ d dlmZmZ d dlmZ d dlm	Z	 d dl
mZmZmZ e Ze eeZeeG dd dejZeeG d	d
 d
ejZee	jG dd dejZeeej dS )    N)ir)DataModelManagerregister)models)types)Dim3	GridGroupCUDADispatcherc                          e Zd Z fddZ  ZS )	Dim3Modelc                    s0   dt jfdt jfdt jfg}t ||| d S )Nxyz)r   int32super__init__)selfdmmfe_typemembers	__class__ N/home/ubuntu/veenaModal/venv/lib/python3.10/site-packages/numba/cuda/models.pyr      s
   zDim3Model.__init____name__
__module____qualname__r   __classcell__r   r   r   r   r          r   c                       r
   )GridGroupModelc                    s   t d}t ||| d S )N@   )r   IntTyper   r   r   r   r   be_typer   r   r   r      s   
zGridGroupModel.__init__r   r   r   r   r   r       r   r    c                       r
   )
FloatModelc                    s^   |t jkrtd}n|t jkrt }n|t jkrt }nt|t	t
| ||| d S )N   )r   float16r   r"   float32	FloatTypefloat64
DoubleTypeNotImplementedErrorr   r%   r   r#   r   r   r   r   $   s   




zFloatModel.__init__r   r   r   r   r   r%   "   r   r%   )	functoolsllvmliter   numba.core.datamodel.registryr   r   numba.core.extendingr   
numba.corer   numba.cuda.typesr   r   r	   cuda_data_managerpartialregister_modelStructModelr   PrimitiveModelr    Floatr%   OpaqueModelr   r   r   r   <module>   s    
