
    sh                     ^    S SK r S SKJr   " S S\5      r\S:X  a  \ R
                  " 5         gg)    N)TestCasec                        \ rS rSrS rS rSrg)DocsJitclassUsageTest   c           	      N  ^ SS K mSSKJnJn  SSKJn  SU4SUS S  4/nU" U5       " U4S jS[        5      5       nSnU" U5      nU R                  [        Xu5      5        U R                  UR                  U5        TR                  R                  UR                  TR                  UTR                  S	95        U R                  UR                  U5        TR                  R                  UR!                  S
5      S
TR#                  UTR                  S	9-  5        TR                  R                  UR!                  S5      STR#                  UTR                  S	9-  5        U R                  UR%                  SS5      S5        U R                  UR%                  SS5      S
5        g )Nr   )int32float32jitclassvaluearrayc                   H   > \ rS rSrU 4S jr\S 5       rS r\S 5       r	Sr
g)3DocsJitclassUsageTest.test_ex_jitclass.<locals>.Bag   c                 P   > Xl         TR                  UTR                  S9U l        g )Ndtype)r   zerosr	   r   )selfr   nps     z/Users/tiagomarins/Projetos/claudeai/copy_bank/venv/lib/python3.13/site-packages/numba/tests/doc_examples/test_jitclass.py__init__<DocsJitclassUsageTest.test_ex_jitclass.<locals>.Bag.__init__   s     "
XXe2::X>
    c                 .    U R                   R                  $ N)r   sizer   s    r   r   8DocsJitclassUsageTest.test_ex_jitclass.<locals>.Bag.size   s    zz&r   c                     [        U R                  5       H  nU R                  U==   U-  ss'   M     U R                  $ r   )ranger   r   )r   valis      r   	increment=DocsJitclassUsageTest.test_ex_jitclass.<locals>.Bag.increment   s1    tyy)AJJqMS(M *zz!r   c                 
    X-   $ r    )xys     r   add7DocsJitclassUsageTest.test_ex_jitclass.<locals>.Bag.add$   s	    ur   )r   r   N)__name__
__module____qualname____firstlineno__r   propertyr   r$   staticmethodr*   __static_attributes__)r   s   r   Bagr      s5    ? ' '"
  r   r3   r   r         	         )numpynumbar   r	   numba.experimentalr   object
assertTrue
isinstanceassertPreciseEqualr   testingassert_allcloser   r   r   r$   onesr*   )	r   r   r	   r   specr3   nmybagr   s	           @r   test_ex_jitclass&DocsJitclassUsageTest.test_ex_jitclass
   s^   (/ egaj!

 
$	& 	 
	$ A 	
5./Q/


""5;;"**0MN

A.


""5??1#5#$rwwq

w'C#C	E


""5??1#5#$rwwq

w'C#C	E		!Q31q1r   c           	        ^^ SSK Jm  SSKJn  SSKJn  U " S S5      5       mU " UU4S jS5      5       nU" / SQ5      nU" U5      n[        S	5       H  nU R                  UR                  R                  U5        U R                  UR                  5       XF[        U5      -     5        U R                  UR                  R                  US
-   5        M     g )Nr   )Listr
   c                   4    \ rS rSr% \\S'   S rS\4S jrSrg)BDocsJitclassUsageTest.test_ex_jitclass_type_hints.<locals>.Counter=   r   c                     SU l         g )Nr   r   r   s    r   r   KDocsJitclassUsageTest.test_ex_jitclass_type_hints.<locals>.Counter.__init__A   s	    
r   returnc                 H    U R                   nU =R                   S-  sl         U$ )Nr7   rN   )r   rets     r   getFDocsJitclassUsageTest.test_ex_jitclass_type_hints.<locals>.Counter.getD   s    jj

a

r   rN   N)	r,   r-   r.   r/   int__annotations__r   rS   r2   r'   r   r   CounterrK   =   s    JS r   rW   c                   `   > \ rS rSr%  Y \S'    Y\   \S'   S Y\   4U 4S jjrS\4S jrSrg)	KDocsJitclassUsageTest.test_ex_jitclass_type_hints.<locals>.ListLoopIteratorI   counteritemsc                 *   > Xl         T" 5       U l        g r   )r\   r[   )r   r\   rW   s     r   r   TDocsJitclassUsageTest.test_ex_jitclass_type_hints.<locals>.ListLoopIterator.__init__N   s    "
&yr   rP   c                     U R                   R                  5       [        U R                  5      -  nU R                  U   $ r   )r[   rS   lenr\   )r   idxs     r   rS   ODocsJitclassUsageTest.test_ex_jitclass_type_hints.<locals>.ListLoopIterator.getR   s/    ll&&(3tzz?:zz#&r   )r[   r\   N)	r,   r-   r.   r/   rV   floatr   rS   r2   )rW   rI   s   r   ListLoopIteratorrY   I   s/    ;)d5k )'U 'r   rd   )gQ	@gX9v@grh|?g      
   r7   )typingrI   r;   r   numba.typedr!   assertEqualr[   r   assertAlmostEqualrS   r`   )	r   r   	NumbaListrd   r\   loop_itrra   rW   rI   s	          @@r   test_ex_jitclass_type_hints1DocsJitclassUsageTest.test_ex_jitclass_type_hints7   s    /1			 		 
		 

	' 
	' 

	' 34#E* 9CX--33S9""8<<>5s5z9I3JKX--33S1W= r   r'   N)r,   r-   r.   r/   rF   rl   r2   r'   r   r   r   r      s    +2Z&>r   r   __main__)unittestnumba.tests.supportr   r   r,   mainr'   r   r   <module>rr      s4     (U>H U>p zMMO r   