§
    2@ÄjP  ã                   ó˜   — d dl mZmZmZ d dlZd dlZd dlmZ d dl	m
Z
 d„ Zd„ Z G d„ de
¦  «        Zed	k    r ej        ¦   «          dS dS )
é    )Úprint_functionÚabsolute_importÚdivisionN)Úguvectorize)ÚTestCasec                 óZ   — t          d| j        d         d¦  «        D ]}|d         | |<   Œd S )Nr   é   ©ÚrangeÚshape)Úx_tÚy_1Úts      úYC:\Projects\Historical\venv\Lib\site-packages\numba/tests/npyufunc/test_update_inplace.pyÚpy_replace_2ndr      s<   € Ý�1�c”i ”l AÑ&Ô&ð ð ˆØ�Q”ˆˆA‰ˆðð ó    c                 ó�   — t          d| j        d         ¦  «        D ])}|d         | |<   d|d         z  ||<   d|d         z  ||<   Œ*d S )Nr   r	   é   r
   )Úx0_tÚx1_tÚx2_tr   r   s        r   Úpy_update_3r      s\   € Ý�1�d”j ”mÑ$Ô$ð ð ˆØ�a”&ˆˆQ‰Ø�c˜!”f‘*ˆˆQ‰Ø�c˜!”f‘*ˆˆQ‰ˆðð r   c                   ó8   — e Zd Z	 	 d
d„Zd„ Zd„ Zd„ Zd„ Zd„ Zd	S )ÚTestUpdateInplaceTr	   c                 óÈ  ‡— dd|ffD ]Ù\  Š}ˆfd„t          |j        dz
  ¦  «        D ¦   «         }d„ |D ¦   «         } |g |¢|‘R Ž   |g |¢t          j        |g¦  «        ‘R Ž  t	          t          ||¦  «        ¦  «        D ]`\  }\  }	}
|r&t          j                             |	|
d|z  ¬¦  «         Œ0|                      |	|
k     	                    ¦   «         d|z  ¬¦  «         ŒaŒÚd S )	N)Úf8TÚf4c                 ó:   •— g | ]}t          j        d ‰¦  «        ‘ŒS )é
   )ÚnpÚzeros)Ú.0Ú_Údtypes     €r   ú
<listcomp>z:TestUpdateInplace._run_test_for_gufunc.<locals>.<listcomp>   s%   ø€ ÐIÐIÐI¨a•b”h˜r 5Ñ)Ô)ÐIÐIÐIr   é   c                 ó6   — g | ]}|                      ¦   «         ‘ŒS © )Úcopy)r"   r   s     r   r%   z:TestUpdateInplace._run_test_for_gufunc.<locals>.<listcomp>   s    € Ð6Ð6Ð6¨˜Ÿš™œÐ6Ð6Ð6r   zinput %s)Úerr_msg)Úmsg)
r   Úninr    ÚarrayÚ	enumerateÚzipÚtestingÚassert_equalÚassertFalseÚall)ÚselfÚgufuncÚpy_funcÚexpect_f4_to_passÚzÚexpect_to_passÚinputsÚ	ex_inputsÚir   Úex_x_tr$   s              @r   Ú_run_test_for_gufuncz&TestUpdateInplace._run_test_for_gufunc   s9  ø€ à&2°TÐ;LÐ4MÐ%Nð 	Pð 	PÑ!ˆE�>ØIÐIÐIÐIµ5¸¼Àa¹Ñ3HÔ3HÐIÑIÔIˆFØ6Ð6¨vÐ6Ñ6Ô6ˆIàˆFÐ�FÐ˜AÐÐÐÐØˆGÐ.�YÐ.¥¤¨!¨¡¤Ð.Ð.Ð.Ð.å$-­c°&¸)Ñ.DÔ.DÑ$EÔ$Eð Pð PÑ �‘=�C˜Ø!ð PÝ”J×+Ò+¨C°ÀÈaÁÐ+ÑPÔPÐPÐPà×$Ò$ c¨V¢m×%8Ò%8Ñ%:Ô%:À
ÈQÁÐ$ÑOÔOÐOÐOð	Pð	Pð 	Pr   c                 óv  —  t          dgdd¬¦  «        t          ¦  «        }|                      |t          d¬¦  «          t          dgddd¬¦  «        t          ¦  «        }|                      |t          ¦  «          t          dgddd	¬¦  «        t          ¦  «        }|                      |t          ¦  «         d S )
Núvoid(f8[:], f8[:])ú(t),()T©ÚnopythonF©r7   ©r   ©rC   Úwritable_args)r   ©r   r   r>   ©r4   r5   s     r   Útest_update_inplacez%TestUpdateInplace.test_update_inplace(   sô   € ð,•Ð2Ð3°XØ&*ð,ñ ,ô ,Ý,:ñ<ô <ˆà×!Ò! &­.Ø49ð 	"ñ 	;ô 	;ð 	;ð@•Ð2Ð3°XØ&*¸$ð@ñ @ô @Ý@NñPô Pˆà×!Ò! &­.Ñ9Ô9Ð9ð5•Ð2Ð3°XÈØ+3ð5ñ 5ô 5Ý5CñEô Eˆà×!Ò! &­.Ñ9Ô9Ð9Ð9Ð9r   c                 óÈ   —  t          dgdddd¬¦  «        t          ¦  «        } t          dgdddd¬¦  «        t          ¦  «        }|                      |t          ¦  «         d S )Nr@   rA   TrE   )rC   rG   ÚcacherH   rI   s     r   Útest_update_inplace_with_cachez0TestUpdateInplace.test_update_inplace_with_cache9   sŠ   € ð)•Ð2Ð3°XØ&*¸$Ø#'ð)ñ )ô )å)7ñ9ô 9ˆð)•Ð2Ð3°XØ&*¸$Ø#'ð)ñ )ô )å)7ñ9ô 9ˆð 	×!Ò! &­.Ñ9Ô9Ð9Ð9Ð9r   c                 ó‚   —  t          dgdddd¬¦  «        t          ¦  «        }|                      |t          ¦  «         d S )Nr@   rA   TrE   Úparallel©rC   rG   ÚtargetrH   rI   s     r   Útest_update_inplace_parallelz.TestUpdateInplace.test_update_inplace_parallelD   sW   € ð0•Ð2Ð3°XØ&*¸$Ø$.ð0ñ 0ô 0å0>ñ@ô @ˆð 	×!Ò! &­.Ñ9Ô9Ð9Ð9Ð9r   c                 óv  —  t          dgdd¬¦  «        t          ¦  «        }|                      |t          d¬¦  «          t          dgddd¬¦  «        t          ¦  «        }|                      |t          ¦  «          t          dgddd	¬¦  «        t          ¦  «        }|                      |t          ¦  «         d S )
Nz void(f8[:], f8[:], f8[:], f8[:])z(t),(t),(t),()TrB   FrD   )r   r&   r	   rF   )r   r   r	   )r   r   r>   rI   s     r   Útest_update_inplace_3z'TestUpdateInplace.test_update_inplace_3K   sô   € ð,•Ð@ÐAØ-Ø&*ð,ñ ,ô ,å,7ñ9ô 9ˆð 	×!Ò! &­+ÈÐ!ÑOÔOÐOð6•Ð@ÐAØ-¸Ø+4ð6ñ 6ô 6å6AñCô Cˆð 	×!Ò! &­+Ñ6Ô6Ð6ð@•Ð@ÐAØ-¸Ø+>ð@ñ @ô @å@KñMô Mˆð 	×!Ò! &­+Ñ6Ô6Ð6Ð6Ð6r   c           	      óR  — |                       t          ¦  «        5   t          dgddd¬¦  «        t          ¦  «         d d d ¦  «         n# 1 swxY w Y   |                       t          ¦  «        5   t          dgddd¬¦  «        t          ¦  «         d d d ¦  «         n# 1 swxY w Y   |                       t          ¦  «        5   t          dgddd¬¦  «        t          ¦  «         d d d ¦  «         n# 1 swxY w Y   |                       t          ¦  «        5   t          dgddd¬¦  «        t          ¦  «         d d d ¦  «         n# 1 swxY w Y   |                       t
          ¦  «        5   t          dgddd	d
¬¦  «        t          ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr@   rA   T)r   r&   r	   é   rF   )rV   )éÿÿÿÿ)Úz_trE   ÚcudarP   )ÚassertRaisesÚ
ValueErrorr   r   ÚRuntimeErrorÚ	TypeError)r4   s    r   Útest_exceptionsz!TestUpdateInplace.test_exceptions^   s‚  € à×Ò�zÑ*Ô*ð 	Dð 	Dð4�KÐ-Ð.°À4Ø&2ð4ñ 4ô 4Ý4BñDô Dð Dð	Dð 	Dð 	Dñ 	Dô 	Dð 	Dð 	Dð 	Dð 	Dð 	Dð 	Døøøð 	Dð 	Dð 	Dð 	Dð
 ×Ò�zÑ*Ô*ð 	Kð 	Kð;�KÐ-Ð.°Ø!%°Tð;ñ ;ô ;Ý;IñKô Kð Kð	Kð 	Kð 	Kñ 	Kô 	Kð 	Kð 	Kð 	Kð 	Kð 	Kð 	Køøøð 	Kð 	Kð 	Kð 	Kð ×Ò�zÑ*Ô*ð 	Lð 	Lð<�KÐ-Ð.°Ø!%°Uð<ñ <ô <Ý<JñLô Lð Lð	Lð 	Lð 	Lñ 	Lô 	Lð 	Lð 	Lð 	Lð 	Lð 	Lð 	Løøøð 	Lð 	Lð 	Lð 	Lð
 ×Ò�|Ñ,Ô,ð 	Oð 	Oð?�KÐ-Ð.°Ø!%°Xð?ñ ?ô ?Ý?MñOô Oð Oð	Oð 	Oð 	Oñ 	Oô 	Oð 	Oð 	Oð 	Oð 	Oð 	Oð 	Oøøøð 	Oð 	Oð 	Oð 	Oð
 ×Ò�yÑ)Ô)ð 	7ð 	7ð'�KÐ-Ð.°Ø!%°TØ%ð'ñ 'ô 'å'5ñ7ô 7ð 7ð	7ð 	7ð 	7ñ 	7ô 	7ð 	7ð 	7ð 	7ð 	7ð 	7ð 	7ð 	7øøøð 	7ð 	7ð 	7ð 	7ð 	7ð 	7sY   ›#A
Á
AÁAÁ/#BÂB"Â%B"Ã#C2Ã2C6Ã9C6Ä#EÅE
ÅE
Å+$FÆF Æ#F N)Tr	   )	Ú__name__Ú
__module__Ú__qualname__r>   rJ   rM   rR   rT   r^   r(   r   r   r   r      s}   € € € € € àFJØ ðPð Pð Pð Pð:ð :ð :ð"	:ð 	:ð 	:ð:ð :ð :ð7ð 7ð 7ð&7ð 7ð 7ð 7ð 7r   r   Ú__main__)Ú
__future__r   r   r   ÚunittestÚnumpyr    Únumbar   Únumba.tests.supportr   r   r   r   r_   Úmainr(   r   r   ú<module>ri      sÓ   ðà @Ð @Ð @Ð @Ð @Ð @Ð @Ð @Ð @Ð @à €€€à Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø (Ð (Ð (Ð (Ð (Ð (ðð ð ð
ð ð ð_7ð _7ð _7ð _7ð _7˜ñ _7ô _7ð _7ðD ˆzÒÐØ€H„M�O„O€O€O€Oð Ðr   