
    xKg0                        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 j                  ee      Z ee       G d dej"                               Z ee       G d	 d
ej&                               Z ee	j*                         G d dej&                               Z  ee      ej.                         y)    N)ir)DataModelManagerregister)models)types)Dim3	GridGroupCUDADispatcherc                        e Zd Z fdZ xZS )	Dim3Modelc                     dt         j                  fdt         j                  fdt         j                  fg}t        |   |||       y )Nxyz)r   int32super__init__)selfdmmfe_typemembers	__class__s       U/home/alanp/www/video.onchill/myenv/lib/python3.12/site-packages/numba/cuda/models.pyr   zDim3Model.__init__   sA    %++%++%++

 	gw/    __name__
__module____qualname__r   __classcell__r   s   @r   r   r      s    0 0r   r   c                        e Zd Z fdZ xZS )GridGroupModelc                 R    t        j                  d      }t        |   |||       y )N@   )r   IntTyper   r   r   r   r   be_typer   s       r   r   zGridGroupModel.__init__   s!    **R.gw/r   r   r    s   @r   r"   r"      s    0 0r   r"   c                        e Zd Z fdZ xZS )
FloatModelc                 8   |t         j                  k(  rt        j                  d      }n[|t         j                  k(  rt        j
                         }n3|t         j                  k(  rt        j                         }nt        |      t        t        | /  |||       y )N   )r   float16r   r%   float32	FloatTypefloat64
DoubleTypeNotImplementedErrorr   r)   r   r&   s       r   r   zFloatModel.__init__$   sh    emm#jjnG%llnG%mmoG%g..j$(gw?r   r   r    s   @r   r)   r)   "   s    	@ 	@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)   OpaqueModel r   r   <module>r@      s      D '  < < %& """8->? 0"" 0 0 	0V** 0 0 
@&& 
@ 
@ ~ v11 2r   