
    shD                        S SK Jr  S SKJr   " S S5      r " S S\R
                  5      r\" 5       r\R                  (       d  S SK J	r	  S SK
JrJrJrJrJr  S S	KJr  S S
KJr  \R&                  " \5      S 5       r\" \5       " S S\R*                  5      5       r\" \SS5        \" \SS5        \" \5      S 5       r\" \\R0                  \R0                  5      S 5       rgg)    )types)configc                       \ rS rSrS rSrg)
TestStruct   c                     Xl         X l        g Nxy)selfr   r   s      /Users/tiagomarins/Projetos/claudeai/copy_bank/venv/lib/python3.13/site-packages/numba/cuda/tests/cudapy/extensions_usecases.py__init__TestStruct.__init__   s        r
   N)__name__
__module____qualname____firstlineno__r   __static_attributes__ r   r   r   r      s    r   r   c                   (   ^  \ rS rSrU 4S jrSrU =r$ )TestStructModelType   c                     > [         TU ]  SS9  g )Nr   )name)superr   )r   	__class__s    r   r   TestStructModelType.__init__   s    34r   r   r   r   r   r   r   r   __classcell__r   s   @r   r   r      s    5 5r   r   )int32)modelsregister_modelmake_attribute_wrappertypeof_impltype_callable)lower)cgutilsc                     [         $ r	   )test_struct_model_type)valcs     r   typeof_teststructr/      s    %%r   c                   (   ^  \ rS rSrU 4S jrSrU =r$ )TestStructModel#   c                 F   > S[         4S[         4/n[        TU ]	  XU5        g )Nr   r   )r#   r   r   )r   dmmfe_typemembersr   s       r   r   TestStructModel.__init__%   s$    U|c5\2GGS73r   r   r    r"   s   @r   r1   r1   #   s    	4 	4r   r1   r   r   c                     S nU$ )Nc                     [        U [        R                  5      (       a&  [        U[        R                  5      (       a  [        $ g g r	   )
isinstancer   Integerr,   r
   s     r   typertype_test_struct.<locals>.typer.   s2    !U]]++
1emm0L0L-- 1M+r   r   )contextr<   s     r   type_test_structr?   ,   s    	. r   c                     [         R                  " [        5      " X5      nUS   Ul        US   Ul        UR                  5       $ )Nr      )r*   create_struct_proxyr,   r   r   	_getvalue)r>   buildersigargsobjs        r   lower_test_type_ctorrH   3   sA    ))"

 QQ}}r   N)numbar   
numba.corer   r   Typer   r,   ENABLE_CUDASIMr#   numba.core.extendingr$   r%   r&   r'   r(   numba.cuda.cudaimplr)   r*   registerr/   StructModelr1   r?   r;   rH   r   r   r   <module>rQ      s      5%** 5
 -.    *"*%& && '(4&,, 4 )4
 .S9.S9:  :u}}emm4 5C r   