
    sh                         S SK JrJrJr  S SKrS SKrS SKJr  S SK	J
r
  S rS r " S S\
5      r\S	:X  a  \R                  " 5         gg)
    )print_functionabsolute_importdivisionN)guvectorize)TestCasec                 T    [        SU R                  S   S5       H
  nUS   X'   M     g )Nr      rangeshape)x_ty_1ts      |/Users/tiagomarins/Projetos/claudeai/copy_bank/venv/lib/python3.13/site-packages/numba/tests/npyufunc/test_update_inplace.pypy_replace_2ndr      s(    1ciilA&Q '    c                 z    [        SU R                  S   5       H  nUS   X'   SUS   -  X'   SUS   -  X$'   M      g )Nr   r	      r
   )x0_tx1_tx2_tr   r   s        r   py_update_3r      sD    1djjm$a&c!f*c!f* %r   c                   @    \ rS rSr  S
S jrS rS rS rS rS r	Sr
g	)TestUpdateInplace   c                    SSU44 H  u  pV[        UR                  S-
  5       Vs/ s H  n[        R                  " SU5      PM     nnU V	s/ s H  oR	                  5       PM     n
n	U" / UQUP76   U" / U
Q[        R
                  " U/5      P76   [        [        X5      5       HU  u  nu  pU(       a#  [        R                  R                  XSU-  S9  M2  U R                  X:H  R                  5       SU-  S9  MW     M     g s  snf s  sn	f )N)f8Tf4   
   zinput %s)err_msg)msg)r   ninnpzeroscopyarray	enumerateziptestingassert_equalassertFalseall)selfgufuncpy_funcexpect_f4_to_passzdtypeexpect_to_pass_inputsr   	ex_inputsiex_x_ts                r   _run_test_for_gufunc&TestUpdateInplace._run_test_for_gufunc   s    &2T;L4M%N!E38a3HI3Habhhr5)3HFI/56vvI6FA.Y.!.$-c&.D$E =C!JJ++Ca+P$$cm%8%8%:
Q$O	 %F &OI6s   !DDc                    [        S/SSS9" [        5      nU R                  U[        SS9  [        S/SSSS9" [        5      nU R                  U[        5        [        S/SSS	S9" [        5      nU R                  U[        5        g )
Nvoid(f8[:], f8[:])(t),()TnopythonFr1   r   r@   writable_args)r   r   r   r:   r.   r/   s     r   test_update_inplace%TestUpdateInplace.test_update_inplace(   s    23X&*,,:<!!&.49 	" 	; 23X&*$@@NP!!&.9 23X+355CE!!&.9r   c                     [        S/SSSSS9" [        5      n[        S/SSSSS9" [        5      nU R                  U[        5        g )Nr=   r>   TrB   )r@   rD   cacherE   rF   s     r   test_update_inplace_with_cache0TestUpdateInplace.test_update_inplace_with_cache9   sZ    23X&*$#'))79 23X&*$#'))79 	!!&.9r   c                 `    [        S/SSSSS9" [        5      nU R                  U[        5        g )Nr=   r>   TrB   parallelr@   rD   targetrE   rF   s     r   test_update_inplace_parallel.TestUpdateInplace.test_update_inplace_parallelD   s7    23X&*$$.00>@ 	!!&.9r   c                    [        S/SSS9" [        5      nU R                  U[        SS9  [        S/SSSS9" [        5      nU R                  U[        5        [        S/SSS	S9" [        5      nU R                  U[        5        g )
Nz void(f8[:], f8[:], f8[:], f8[:])z(t),(t),(t),()Tr?   FrA   )r   r   r	   rC   )r   r   r	   )r   r   r:   rF   s     r   test_update_inplace_3'TestUpdateInplace.test_update_inplace_3K   s    @A-&*,,79 	!!&+!O @A-+466AC 	!!&+6 @A-+>@@KM 	!!&+6r   c           	         U R                  [        5         [        S/SSSS9" [        5        S S S 5        U R                  [        5         [        S/SSSS9" [        5        S S S 5        U R                  [        5         [        S/SSSS9" [        5        S S S 5        U R                  [        5         [        S/SSSS9" [        5        S S S 5        U R                  [
        5         [        S/SSS	S
S9" [        5        S S S 5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       Nx= f! , (       d  f       g = f)Nr=   r>   T)r   r   r	      rC   )rW   ))z_trB   cudarO   )assertRaises
ValueErrorr   r   RuntimeError	TypeError)r.   s    r   test_exceptions!TestUpdateInplace.test_exceptions^   s1   z*-.4&244BD +
 z*-.!%T;;IK + z*-.!%U<<JL +
 |,-.!%X??MO -
 y)-.!%T%''57 *)' +*
 +* +*
 -,
 *)s;   DD D.5D?*E
D
D+.
D<?
E
E N)Tr	   )__name__
__module____qualname____firstlineno__r:   rG   rK   rQ   rT   r_   __static_attributes__ra   r   r   r   r      s'    FJ P:"	::7&7r   r   __main__)
__future__r   r   r   unittestnumpyr$   numbar   numba.tests.supportr   r   r   r   rb   mainra   r   r   <module>rn      sH    @ @    (
_7 _7D zMMO r   