ó
    „ñ:i4E  ã                   ó  • S SK r S SKJr  S SKrS SKrS SKrS SKrS SKJrJ	r	J
r
  S SKJrJr  S SKJrJr  S SKJr  S SKJr  S SKJrJrJr  \(       + rS	 r " S
 S\5      r " S S\ R                  5      r\S:X  a  \ R:                  " 5         gg)é    N)ÚTestCase)ÚjitÚnjitÚtyped)ÚtypesÚutils)ÚTypingErrorÚLoweringError)Ú_header_lead)Únumpy_version)ÚtagÚ_32bitÚcaptured_stdoutc                 ób   • [        U 5       Vs/ s H  oPM     nnSnU H  nX1-  nM	     U$ s  snf ©Nr   )Úrange)ÚnÚiÚlÚss       Úa/srv/projetos/modelo_ml_acdoc/venv/lib/python3.13/site-packages/numba/tests/test_comprehension.pyÚ	comp_listr      s:   € Ü˜!”HÓ’HˆqŠ‘H€AÐØ	€AÛˆØ	‰Šñ à€Hùò	 	s   Ž,c                   ó&   • \ rS rSrS rS rS rSrg)ÚTestListComprehensioné   c                 ó  • [         n[        [        R                  45      " U5      nU R	                  U" S5      U" S5      5        U R	                  U" S5      U" S5      5        U R	                  U" S5      U" S5      5        g )Né   r   éÿÿÿÿ)r   r   r   ÚintpÚassertEqual)ÚselfÚpyfuncÚcfuncs      r   Útest_comp_listÚ$TestListComprehension.test_comp_list    sd   € ÜˆÜ”e—j‘j�]Ô# FÓ+ˆØ×Ñ™˜q›¡6¨!£9Ô-Ø×Ñ™˜q›¡6¨!£9Ô-Ø×Ñ™˜r›¡F¨2£JÕ/ó    c                 óÐ  ^ ^!• [        SS9U!4S j5       m!S nS nS nS nS nS	 nS
 nS nS n	S n
S nS nS nS nS nS nS nSm U 4S jnSm U 4S jnS nU!4S jnS nS nS nS nXX4XgX‰X«XÍXïUUUUUUUUUU/n/ SQnU H1  n [        SS9" U5      nU R                  U" U5      U" U5      5        M3     U R                  [        5       n[        SS9" U5      nU" U5        SSS5        [        R                  S :”  a  S!ngS"ng! [         a@     [        R                  R                  W" U5      U" U5      5         M¾  ! [         a    e f = ff = f! , (       d  f       Nu= f)#z2Tests the large number of use cases defined below T©Únopythonc                 óB   >• U S:  a  U $ T" U S-
  5      T" U S-
  5      -   $ ©Né   é   © )r   Úfib3s    €r   r/   Ú7TestListComprehension.test_bulk_use_cases.<locals>.fib3+   s*   ø€ à�1‹uØ�Ù˜˜A™“;¡ a¨!¡e£Ñ,Ð,r&   c                 ó\   • [        S[        U 5      S-
  5       Vs/ s H  oPM     sn$ s  snf )zTest basic list comprehension r-   )r   Úlen©Úxr   s     r   Úlist1Ú8TestListComprehension.test_bulk_use_cases.<locals>.list11   s+   € ä$ Q¬¨A«°©
Ô3Ó4Ò3˜!’AÑ3Ñ4Ð4ùÒ4s   ›)c                 ó@   • U  Vs/ s H  oS:  d  M
  UPM     sn$ s  snf )z$Test conditional list comprehension r,   r.   ©r4   Úys     r   Úlist2Ú8TestListComprehension.test_bulk_use_cases.<locals>.list25   s   € á Ó*šq˜!¨¡E—A™qÑ*Ð*ùÒ*ó   …	’c                 ó@   • U  Vs/ s H  oS:  a  UOSPM     sn$ s  snf )z Test ternary list comprehension r,   r   r.   r8   s     r   Úlist3Ú8TestListComprehension.test_bulk_use_cases.<locals>.list39   s#   € á01Ó2²¨1˜Q›‘A BÒ&±Ñ2Ð2ùÒ2s   …c                 ó2   • [         R                  " / SQ5      $ )z)Test list comprehension to np.array ctor ©r-   r,   é   ©ÚnpÚarray©r4   s    r   Úlist4Ú8TestListComprehension.test_bulk_use_cases.<locals>.list4=   s   € ä—8’8šIÓ&Ð&r&   c                 ó²   • [         R                  " U  VVs/ s H)  n[         R                  " U  Vs/ s H  o"PM     sn5      PM+     snn5      $ s  snf s  snnf )z0Test nested list comprehension to np.array ctor rC   ©r4   r9   Úzs      r   Úlist5Ú8TestListComprehension.test_bulk_use_cases.<locals>.list5B   s;   € ä—8’8¹qÔAºq¸!œRŸXšX±!£n²!¨Q¢q±!¡nÖ5¹qÒAÓBÐBù¢nùÓAs   –A
°A»A
ÁA
c                 óB   • S nU  Vs/ s H
  o!" U5      PM     sn$ s  snf )z1Test use of inner function in list comprehension c                 ó   • U S-   $ ©Nr-   r.   rF   s    r   ÚinnerÚGTestListComprehension.test_bulk_use_cases.<locals>.list6.<locals>.innerH   s   € Ø˜1‘u�r&   r.   )r4   rQ   rK   s      r   Úlist6Ú8TestListComprehension.test_bulk_use_cases.<locals>.list6F   s#   € òá&'Ó(¢a �E˜!–H¡aÑ(Ð(ùÒ(s   ˆc                 óN   ^• SmU4S jnU  Vs/ s H
  o!" U5      PM     sn$ s  snf )z*Test use of closure in list comprehension rB   c                 ó   >• U T-   $ ©Nr.   r8   s    €r   rQ   ÚGTestListComprehension.test_bulk_use_cases.<locals>.list7.<locals>.innerP   s   ø€ Ø˜1‘u�r&   r.   )r4   rQ   rK   r9   s      @r   Úlist7Ú8TestListComprehension.test_bulk_use_cases.<locals>.list7L   s)   ø€ àˆAõá&'Ó(¢a �E˜!–H¡aÑ(Ð(ùÒ(s   Ž"c                 óN   • U  Vs/ s H  oS-   PM	     nnS nU" U5      nU$ s  snf )z8Test use of list comprehension as arg to inner function r-   c                 ó   • U S   S-   $ ©Nr   r-   r.   rF   s    r   rQ   ÚGTestListComprehension.test_bulk_use_cases.<locals>.list8.<locals>.innerX   s   € Ø˜‘t˜a‘x�r&   r.   )r4   rK   r   rQ   Úqs        r   Úlist8Ú8TestListComprehension.test_bulk_use_cases.<locals>.list8T   s0   € á !Ó"¢˜1�Q”¡ˆAÐ"ò á�a“ˆAØˆHùò #s   …"c                 óT   ^• U  Vs/ s H  oS-   PM	     snmU4S jnU" U 5      $ s  snf )z1Test use of list comprehension access in closure r-   c                 ó   >• U S   TS   -   $ r]   r.   )r4   r   s    €r   rQ   ÚGTestListComprehension.test_bulk_use_cases.<locals>.list9.<locals>.innera   s   ø€ Ø˜‘t˜a ™d‘{Ð"r&   r.   ©r4   rK   rQ   r   s      @r   Úlist9Ú8TestListComprehension.test_bulk_use_cases.<locals>.list9]   s,   ø€ á !Ó"¢˜1�Q”¡Ñ"ˆAõ#á˜“8ˆOùò	 #ó   †%c                 óT   ^• U  Vs/ s H  oS-   PM	     snmU4S jnU" T5      $ s  snf )z<Test use of list comprehension access in closure and as arg r-   c                 ó>   >• U  Vs/ s H
  oTS   -   PM     sn$ s  snf r   r.   )r4   r9   r   s     €r   rQ   ÚHTestListComprehension.test_bulk_use_cases.<locals>.list10.<locals>.inneri   s!   ø€ Ù*+Ó,ª! Q˜A˜a™Dœ©!Ñ,Ð,ùÒ,s   †r.   re   s      @r   Úlist10Ú9TestListComprehension.test_bulk_use_cases.<locals>.list10e   s,   ø€ á !Ó"¢˜1�Q”¡Ñ"ˆAõ-á˜“8ˆOùò	 #rh   c                 ó\   • U  Vs/ s H  n[         R                  " U5      PM     nnU$ s  snf )z5Test scalar array construction in list comprehension rC   ©r4   rK   r   s      r   Úlist11Ú9TestListComprehension.test_bulk_use_cases.<locals>.list11m   s(   € á&'Ó(¢a ”—’˜!–¡aˆAÐ(ØˆHùò )ó   … )c                 ó\   • U  Vs/ s H  n[         R                  " U5      PM     nnU$ s  snf )z?Test scalar type conversion construction in list comprehension )rD   Úfloat64ro   s      r   Úlist12Ú9TestListComprehension.test_bulk_use_cases.<locals>.list12r   s(   € á()Ó*ª 1”—’˜A–©ˆAÐ*ØˆHùò +rr   c                 ó\   • U  Vs/ s H  n[         R                  " U5      PM     nnU$ s  snf )zGTest use of explicit numpy scalar ctor reference in list comprehension )Únumpyrt   ro   s      r   Úlist13Ú9TestListComprehension.test_bulk_use_cases.<locals>.list13w   s)   € á+,Ó-ª1 a”—’˜qÖ!©1ˆAÐ-ØˆHùò .rr   c                 óF   • U  Vs/ s H  n[        U5      PM     nnU$ s  snf )z?Test use of python scalar ctor reference in list comprehension ©Úfloatro   s      r   Úlist14Ú9TestListComprehension.test_bulk_use_cases.<locals>.list14|   s$   € á#$Ó%¢1˜a”�q–¡1ˆAÐ%ØˆHùò &s   …c                 ón   • U  Vs/ s H  n[        U5      PM     nn[        R                  " U5      $ s  snf )znTest use of python scalar ctor reference in list comprehension followed by np array construction from the list©r}   rD   rE   ro   s      r   Úlist15Ú9TestListComprehension.test_bulk_use_cases.<locals>.list15�   s-   € á#$Ó%¢1˜a”�q–¡1ˆAÐ%Ü—8’8˜A“;Ðùò &s   …2c                 óÎ   • U  Vs/ s H  n[        U5      PM     nnU  Vs/ s H  oPM     nn[        R                  " U5      n[        R                  " U5      nXE-   $ s  snf s  snf )zGTest type unification from np array ctors consuming list comprehension r�   )r4   rK   Úl1Úl2ÚzeÚoes         r   Úlist16Ú9TestListComprehension.test_bulk_use_cases.<locals>.list16†   sU   € á$%Ó&¢A˜q”%˜–(¡AˆBÐ&Ù“šQ˜’!™QˆB�Ü—’˜"“ˆBÜ—’˜"“ˆBØ‘7ˆNùò	 'ùÚs
   …A A"c                 ó°   • U  VVVs/ s H>  o  H5  o   H,  n[         R                  " US-  US-  -   5      U:X  d  M(  XU4PM.     M7     M@     snnn$ s  snnnf )z5Test complex list comprehension including math calls r,   )rD   Úsqrt)r4   ÚaÚbÚcs       r   Úlist17Ú9TestListComprehension.test_bulk_use_cases.<locals>.list17Ž   sh   € ñ õSÚ˜« 1³1¨a¼¿ºÀÀ1ÁÀqÈ!ÁtÁÓ8LÐPQÑ8Qó �Q˜1“IÙ34ñ Ù()ñ ÙóSð Sùô Ss
   ‡1A¼Aé	   c                 óP   >• / nU  H  nUT:  d  M  UR                  U5        M     U$ )z2Test loop list with outer scope var as conditional©Úappend)r4   rK   r   Ú_OUTER_SCOPE_VARs      €r   Úlist18Ú9TestListComprehension.test_bulk_use_cases.<locals>.list18•   s-   ø€ àˆAÛ�ØÐ'Õ'Ø—H‘H˜Q–Kñ ð ˆHr&   c                 óB   >• U  Vs/ s H  oT:  d  M
  UPM     sn$ s  snf )z7Test list comprehension with outer scope as conditionalr.   )r4   r   r–   s     €r   Úlist19Ú9TestListComprehension.test_bulk_use_cases.<locals>.list19Ÿ   s!   ø€ á Ó9šq˜!Ð(8Ñ$8—A™qÑ9Ð9ùÒ9s   †	“c                 ó@   • U  Vs/ s H  oS:X  d  M
  UPM     sn$ s  snf )zTest return empty list iüÿÿr.   r3   s     r   Úlist20Ú9TestListComprehension.test_bulk_use_cases.<locals>.list20£   s   € á Ó/šq˜!¨¡J—A™qÑ/Ð/ùÒ/r<   c                 ó@   >• U  Vs/ s H  nT" U5      PM     sn$ s  snf )z4Test call a jitted function in a list comprehension r.   )r4   r   r/   s     €r   Úlist21Ú9TestListComprehension.test_bulk_use_cases.<locals>.list21§   s   ø€ á%&Ó'¢Q ‘D˜–G¡QÑ'Ð'ùÒ's   †c                 ó¼   • U  Vs/ s H  oS-
  PM	     nnU  Vs/ s H  oS-   PM	     nnU V Vs/ s H  o  H  oU:X  d  M
  U PM     M     snn $ s  snf s  snf s  snn f )zGTest create two lists comprehensions and a third walking the first two r-   r.   )r4   r9   r�   rŽ   s       r   Úlist22Ú9TestListComprehension.test_bulk_use_cases.<locals>.list22«   sZ   € á !Ó"¢˜1�Q”¡ˆAÐ"Ù !Ó"¢˜1�Q”¡ˆAÐ"Ù Ô6šq˜!«! Q°A©v—A©!‘A™qÒ6Ð6ùò #ùÚ"ùÛ6s   …A™A®AÁ 
Ac                 óT   • U  Vs/ s H  oPM     nnUR                  S5        U$ s  snf )z/Test operation on comprehension generated list r-   r”   rJ   s      r   Úlist23Ú9TestListComprehension.test_bulk_use_cases.<locals>.list23±   s)   € á“šA�q’™AˆA�Ø�H‰H�QŒKØˆHùò s   …%c                 óT   • U  Vs/ s H  oS:”  a  [        U5      OUPM     nnU$ s  snf )zTest type promotion rB   r|   rJ   s      r   Úlist24Ú9TestListComprehension.test_bulk_use_cases.<locals>.list24·   s-   € á34Ó5²1¨a ›U”�q”¨Ò)±1ˆAÐ5ØˆHùò 6s   …%c                 ó–   • [         R                  " / SQ5      n[        S5       Vs/ s H  o"[        U5      ;  d  M  UPM     nnU$ s  snf )N)r-   r,   é   é   é
   )rD   rE   r   Úlist)r4   Úincludedr   Únot_includeds       r   Úlist25Ú9TestListComprehension.test_bulk_use_cases.<locals>.list25¼   s?   € ô
 —x’x¢Ó-ˆHÜ',¨R¤yÓL¢y !¼TÀ(»^Ñ4KŸA¡yˆLÐLØÐùò Ms
   ¦A¼A©r-   r,   rB   é   r   Nl        é@   é    )r   r    Ú
ValueErrorrD   ÚtestingÚassert_allcloseÚ	ExceptionÚassertRaisesr	   ÚsysÚmaxsize)"r!   r5   r:   r>   rG   rL   rS   rY   r`   rf   rl   rp   ru   ry   r~   r‚   r‰   r�   r—   rš   r�   r    r£   r¦   r©   r²   ÚfÚvarÚrefr#   ÚraisesÚbitsr–   r/   s"                                   @@r   Útest_bulk_use_casesÚ)TestListComprehension.test_bulk_use_cases'   sª  ù€ ô 
�dÑ	ô	-ó 
ð	-ò
	5ò	+ò	3ò	'ò
	Cò	)ò	)ò	ò	ò	ò	ò
	ò
	ò
	ò
	ò
	ò	Sð
 Ðõ	ð Ðõ	:ò	0õ	(ò	7ò	ò	ò
	 ð ˜5Ø˜5¨Ø˜VØ�V˜V V¨VØ�V˜V V¨Vð	5ˆò ˆÛˆCðÜ TÒ*¨3Ó/�Ø× Ñ ¡ s£©S°«XÖ6ñ ð ×Ñœ{Ô+¨vÜ Ò& uÓ-ˆEÙ�#ŒJ÷ ,ô �;‰;˜Ó Ø‰Dà‰Døô! ó ðÜ—J‘J×.Ñ.©u°S«z¹3¸s»8×DøÜ ó Øðúðú÷ ,Õ+ús*   Â
-D
ÃEÄ

EÄ,EÅEÅEÅ
E%c                 ór   • S n[        SS9" U5      n/ SQnU" U5      nU" U5      nU R                  XE5        g )Nc                 óF   • [        5       nU  Vs/ s H  o"PM     nnU$ s  snf rW   )Úobject)r9   rK   r4   Úinlineds       r   Úobjmode_funcÚATestListComprehension.test_objmode_inlining.<locals>.objmode_funcä   s%   € Ü“ˆAÙ"#“n¢!˜Q’q¡!ˆG�nØˆNùò %s   �T)ÚforceobjrA   )r   ÚassertPreciseEqual)r!   rÊ   r#   ÚtÚexpectedÚgots         r   Útest_objmode_inliningÚ+TestListComprehension.test_objmode_inliningã   s=   € ò	ô
 ˜TÒ" <Ó0ˆÚˆÙ “?ˆÙ�A‹hˆØ×Ñ Õ.r&   r.   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r$   rÄ   rÑ   Ú__static_attributes__r.   r&   r   r   r      s   † ò0òzõx
/r&   r   c                   óæ   • \ rS rSrSrS rS rS rS rS r	S r
S	 rS
 rS rS rS rS r\R$                  " \S:  S5      S 5       rS rS rS rS rS rS rS rS rS rS rS rS r S r!Sr"g )!ÚTestArrayComprehensionéð   Fc                 ób  • UR                  SS5      nUR                  SS5      nUR                  SS5      n[        SUS9" U5      nU" U6 nU" U6 n	[        R                  R	                  X‰5        U(       a  U R                  U	S   R                  U5        U(       a/  U R                  SUR                  UR                  S	   5      5        O.U R                  SUR                  UR                  S	   5      5        U(       a/  U R                  S
UR                  UR                  S	   5      5        gg)zVA generic check function that run both pyfunc, and jitted pyfunc,
and compare results.Úrun_parallelFÚassert_allocate_listÚassert_dtypeT)r)   Úparallelr-   zallocate listr   z@do_schedulingN)Úgetr   rD   r¹   Úassert_array_equalr    ÚdtypeÚassertInÚinspect_llvmÚ
signaturesÚassertNotIn)
r!   r"   ÚargsÚkwargsrÜ   rÝ   rÞ   r#   ÚpyresÚcress
             r   ÚcheckÚTestArrayComprehension.checkô   s  € ð —z‘z .°%Ó8ˆØ%Ÿz™zÐ*@À%ÓHÐØ—z‘z .°%Ó8ˆÜ˜T¨<Ò8¸Ó@ˆÙ˜�ˆÙ�dˆ|ˆÜ
�
‰
×%Ñ% eÔ2ÞØ×Ñ˜T !™WŸ]™]¨LÔ9ÞØ�M‰M˜/¨5×+=Ñ+=¸e×>NÑ>NÈqÑ>QÓ+RÕSà×Ñ˜_¨e×.@Ñ.@À×AQÑAQÐRSÑATÓ.UÔVÞØ�M‰MÐ*¨E×,>Ñ,>¸u×?OÑ?OÐPQÑ?RÓ,SÕTð r&   c                 óh   • S nU R                  US5        [        (       a  U R                  USSS9  g g )Nc                 ó~   • U S-  n[         R                  " [        U 5       Vs/ s H  o"U-   PM	     sn5      nU$ s  snf ©Nr,   ©rD   rE   r   ©r   Úmr   r   s       r   Úcomp_with_array_1ÚHTestArrayComprehension.test_comp_with_array_1.<locals>.comp_with_array_1  ó8   € Ø�A‘ˆAÜ—’¬¨q¬Ó2ª A˜aœ%©Ñ2Ó3ˆAØˆHùò 3ó   £:r   T©rÜ   ©rë   ÚPARALLEL_SUPPORTED)r!   ró   s     r   Útest_comp_with_array_1Ú-TestArrayComprehension.test_comp_with_array_1  s6   € ò	ð
 	�
‰
Ð$ aÔ(ßÒØ�J‰JÐ(¨!¸$ˆJÒ?ð r&   c                 ó0   • S nU R                  USS5        g )Nc                 ó¢   • [         R                  " U * U 5      n[         R                  " U Vs/ s H  o3U:  a  X3-  OUS-  PM     sn5      $ s  snf rï   )rD   ÚarangerE   )r   Ú	thresholdÚAr4   s       r   Úcomp_with_array_2ÚHTestArrayComprehension.test_comp_with_array_2.<locals>.comp_with_array_2  sD   € Ü—	’	˜1˜"˜aÓ ˆAÜ—8’8ÉÓLÊÀA¨9£}˜aše¸!¸a¹%Ò?ÉÑLÓMÐMùÒLs   ­Ar   r   ©rë   )r!   r  s     r   Útest_comp_with_array_2Ú-TestArrayComprehension.test_comp_with_array_2  s   € ò	Nð 	�
‰
Ð$ a¨Õ+r&   c                 ót   • S nSS K Js  Jn   SUl        U R	                  USSS9  SUl        g ! SUl        f = f)Nc                 ó~   • U S-  n[         R                  " [        U 5       Vs/ s H  o"U-   PM	     sn5      nU$ s  snf rï   rð   rñ   s       r   Úcomp_with_array_noinlineÚVTestArrayComprehension.test_comp_with_array_noinline.<locals>.comp_with_array_noinline  rõ   rö   r   Fr   T©rÝ   ©Únumba.core.inline_closurecallÚcoreÚinline_closurecallÚenable_inline_arraycallrë   )r!   r  Úics      r   Útest_comp_with_array_noinlineÚ4TestArrayComprehension.test_comp_with_array_noinline  s@   € ò	÷
 	3Ð2ð	.Ø).ˆBÔ&Ø�J‰JÐ/°ÈˆJÑNà)-ˆBÕ&ø¨ˆBÕ&úó   Ž. ®	7c                 ó,   • S nU R                  USSS9  g )Nc                 ó~   • S/n[        U 5       H  nUR                  U5        M     [        R                  " U5      nU$ r   )r   r•   rD   rE   )r   Úlstr   r   s       r   r  ÚaTestArrayComprehension.test_comp_with_array_noinline_issue_6053.<locals>.comp_with_array_noinline&  s4   € Ø�#ˆCÜ˜1–X�Ø—
‘
˜1–ñ ä—’˜“ˆAØˆHr&   r   Tr
  r  )r!   r  s     r   Ú(test_comp_with_array_noinline_issue_6053Ú?TestArrayComprehension.test_comp_with_array_noinline_issue_6053%  s   € ò	ð 	�
‰
Ð+¨QÀTˆ
ÒJr&   c                 óh   • S nU R                  US5        [        (       a  U R                  USSS9  g g )Nc                 ó¸   • [         R                  " [        U 5       VVs/ s H!  n[        U 5       Vs/ s H  o!U-  PM	     snPM#     snn5      nU$ s  snf s  snnf rW   rð   ©r   r   Újr   s       r   Úcomp_nest_with_arrayÚNTestArrayComprehension.test_comp_nest_with_array.<locals>.comp_nest_with_array0  óE   € Ü—’¼UÀ1¼XÔFºX¸¬%°¬(Ó3ª( Q˜qœ5©(Ô3¹XÒFÓGˆAØˆHùò 4ùÓFó   ŸA
²AÁ A
ÁA
r   Tr÷   rø   )r!   r  s     r   Útest_comp_nest_with_arrayÚ0TestArrayComprehension.test_comp_nest_with_array/  s6   € ò	ð 	�
‰
Ð'¨Ô+ßÒØ�J‰JÐ+¨Q¸TˆJÒBð r&   c                 óh   • S nU R                  US5        [        (       a  U R                  USSS9  g g )Nc                 ó  • [         R                  " [        U 5       VVVs/ s H@  n[        U 5       VVs/ s H$  n[        U 5       Vs/ s H
  o1U-  U-  PM     snPM&     snnPMB     snnn5      nU$ s  snf s  snnf s  snnnf rW   rð   )r   r   r  Úkr   s        r   Úcomp_nest_with_array_3ÚRTestArrayComprehension.test_comp_nest_with_array_3.<locals>.comp_nest_with_array_39  se   € Ü—’ÔUZÐ[\ÔU]Õ^ÒU]ÐPQÄ%ÈÄ(ÔKÂ(¸Q¬u°Q¬xÓ8ªx¨! ™E AœI©xÔ8Á(ÕKÑU]Ó^Ó_ˆAØˆHùò 9ùÓKùÔ^s(    A=´A7ÁA2ÁA7ÁA=Á2A7Á7A=r   Tr÷   rø   )r!   r'  s     r   Útest_comp_nest_with_array_3Ú2TestArrayComprehension.test_comp_nest_with_array_38  s6   € ò	ð 	�
‰
Ð)¨1Ô-ßÒØ�J‰JÐ-¨q¸tˆJÒDð r&   c                 ót   • S nSS K Js  Jn   SUl        U R	                  USSS9  SUl        g ! SUl        f = f)Nc                 ó¸   • [         R                  " [        U 5       VVs/ s H!  n[        U 5       Vs/ s H  o!U-  PM	     snPM#     snn5      nU$ s  snf s  snnf rW   rð   r  s       r   Úcomp_nest_with_array_noinlineÚ`TestArrayComprehension.test_comp_nest_with_array_noinline.<locals>.comp_nest_with_array_noinlineB  r   r!  r   Fr   Tr
  r  )r!   r-  r  s      r   Ú"test_comp_nest_with_array_noinlineÚ9TestArrayComprehension.test_comp_nest_with_array_noinlineA  sH   € ò	÷ 	3Ð2ð	.Ø).ˆBÔ&Ø�J‰JÐ4°aØ,0ð ñ 2ð *.ˆBÕ&ø¨ˆBÕ&úr  c                 ó0   • S nU R                  USS5        g )Nc                 ón   • [         R                  " [        X5       Vs/ s H  o"PM     sn5      nU$ s  snf rW   rð   ©rò   r   r   r   s       r   Úcomp_with_array_rangeÚPTestArrayComprehension.test_comp_with_array_range.<locals>.comp_with_array_rangeO  s-   € Ü—’¤U¨1¤[Ó1¢[ š!¡[Ñ1Ó2ˆAØˆHùò 2s   ž2r   r®   r  )r!   r4  s     r   Útest_comp_with_array_rangeÚ1TestArrayComprehension.test_comp_with_array_rangeN  s   € ò	ð 	�
‰
Ð(¨!¨RÕ0r&   c                 ó0   • S nU R                  USS5        g )Nc                 óp   • [         R                  " [        XS5       Vs/ s H  o"PM     sn5      nU$ s  snf rï   rð   r3  s       r   Úcomp_with_array_range_and_stepÚbTestArrayComprehension.test_comp_with_array_range_and_step.<locals>.comp_with_array_range_and_stepV  s/   € Ü—’¤U¨1°¤^Ó4¢^ š!¡^Ñ4Ó5ˆAØˆHùò 5s   Ÿ3r   r®   r  )r!   r:  s     r   Ú#test_comp_with_array_range_and_stepÚ:TestArrayComprehension.test_comp_with_array_range_and_stepU  s   € ò	ð 	�
‰
Ð1°1°bÕ9r&   c                 ó,   • S nU R                  USSS9  g )Nc                 ó„   • [         R                  " [        U 5       Vs/ s H  oS-  S:X  d  M  UPM     sn5      nU$ s  snf r+   rð   ©r   r   r   s      r   Úcomp_with_array_conditionalÚ\TestArrayComprehension.test_comp_with_array_conditional.<locals>.comp_with_array_conditional]  s5   € Ü—’¤U¨1¤XÓ<¢X °Q±¸!±Ÿ!¡XÑ<Ó=ˆAØˆHùò =s   ž=®=r®   Tr
  r  )r!   rA  s     r   Ú test_comp_with_array_conditionalÚ7TestArrayComprehension.test_comp_with_array_conditional\  s   € ò	ð 	�
‰
Ð.°Èˆ
ÒNr&   c                 ó,   • S nU R                  USSS9  g )Nc                 óÌ   • [         R                  " [        U 5       VVs/ s H+  oS-  S:X  d  M  [        U 5       Vs/ s H  o!U-  PM	     snPM-     snn5      nU$ s  snf s  snnf r+   rð   r  s       r   Ú comp_nest_with_array_conditionalÚfTestArrayComprehension.test_comp_nest_with_array_conditional.<locals>.comp_nest_with_array_conditionald  sQ   € Ü—’¼UÀ1¼XÔTºX¸ÈQÉÐRSÉÓ3¬%°¬(Ó3ª( Q˜qœ5©(Ô3¹XÒTÓUˆAØˆHùò 4ùÓTs   ŸA 
¯A 
¼AÁ
A 
ÁA 
r   Tr
  r  )r!   rG  s     r   Ú%test_comp_nest_with_array_conditionalÚ<TestArrayComprehension.test_comp_nest_with_array_conditionalc  s"   € ò	ð 	�
‰
Ð3°QØ(,ð 	ò 	.r&   )r-   é   zASetting an array element with a sequence is removed in NumPy 1.24c                 ó(  • S nU R                  [        5       nU R                  US5        S S S 5        U R                  [        [        WR                  5      5        U R                  S[        UR                  5      5        g ! , (       d  f       N]= f)Nc                 ó¾   • [         R                  " [        U 5       VVs/ s H$  n[        US-   5       Vs/ s H  o!U-  PM	     snPM&     snn5      nU$ s  snf s  snnf rP   rð   r  s       r   Úcomp_nest_with_dependencyÚXTestArrayComprehension.test_comp_nest_with_dependency.<locals>.comp_nest_with_dependencyn  sI   € Ü—’¼uÀQ¼xÔHºx¸!¬%°°!±¬*Ó5ª* Q˜qœ5©*Ô5¹xÒHÓIˆAØˆHùò 6ùÓHs   ŸA
µAÁA
ÁA
r   zarray(undefined,©r¼   r	   rë   rã   r   ÚstrÚ	exception)r!   rN  rÂ   s      r   Útest_comp_nest_with_dependencyÚ5TestArrayComprehension.test_comp_nest_with_dependencyj  si   € ò	ð ×Ñœ{Ô+¨vØ�J‰JÐ0°!Ô4÷ ,à�‰”l¤C¨×(8Ñ(8Ó$9Ô:Ø�‰Ð(¬#¨f×.>Ñ.>Ó*?Õ@÷ ,Õ+ús   ™BÂ
Bc                 ó&  • S nU R                  [        5       nU R                  U5        S S S 5        U R                  [        [        WR                  5      5        U R                  S[        UR                  5      5        g ! , (       d  f       N]= f)Nc                  ó„   • [        / SQ/ SQ5      n [        R                  " U  VVs/ s H  u  pUPM	     snn5      $ s  snnf )NrA   )rµ   r   r¬   )ÚziprD   rE   )Úvalr�   rŽ   s      r   Úcomp_unsupported_iterÚPTestArrayComprehension.test_comp_unsupported_iter.<locals>.comp_unsupported_iterx  s1   € Ü’i¢Ó+ˆCÜ—8’8©3Ô/ª3¡4 1›Q©3Ò/Ó0Ð0ùÓ/s   ¦<
z1Unsupported iterator found in array comprehensionrP  )r!   rY  rÂ   s      r   Útest_comp_unsupported_iterÚ1TestArrayComprehension.test_comp_unsupported_iterw  sj   € ò	1ð ×Ñœ{Ô+¨vØ�J‰JÐ,Ô-÷ ,à�‰”l¤C¨×(8Ñ(8Ó$9Ô:Ø�‰ÐIÜ˜&×*Ñ*Ó+õ	-÷ ,Õ+ús   ™BÂ
Bc                 óT   • S nU R                  USSS9  S nU R                  USSS9  g )Nc                 ó:   • / SQn[         R                  " U5      nU$ )N©r-   r,   rB   rµ   rC   ©r   r   r�   s      r   Úno_array_comp1ÚATestArrayComprehension.test_no_array_comp.<locals>.no_array_comp1‚  s   € ÚˆAÜ—’˜“ˆAØˆHr&   r®   Fr
  c                 ó\   • / SQn[         R                  " U5      nUR                  S5        U$ )Nr_  r   )rD   rE   r•   r`  s      r   Úno_array_comp2ÚATestArrayComprehension.test_no_array_comp.<locals>.no_array_comp2ˆ  s$   € ÚˆAÜ—’˜“ˆAØ�H‰H�QŒKØˆHr&   Tr  )r!   ra  rd  s      r   Útest_no_array_compÚ)TestArrayComprehension.test_no_array_comp�  s4   € ò	ð
 	�
‰
�> 2¸Eˆ
ÑBò	ð
 	�
‰
�> 2¸Dˆ
ÒAr&   c                 ó.   • S nU R                  US5        g )Nc                 óÚ   • [         R                  " [        U 5       VVs/ s H2  n[         R                  " [        U 5       Vs/ s H  o"PM     sn5      PM4     snn5      nU$ s  snf s  snnf rW   rð   ©r   r9   r4   r   s       r   Únested_arrayÚ>TestArrayComprehension.test_nested_array.<locals>.nested_array�  óL   € Ü—’ÄEÈ!ÄHÔMÂH¸qœ2Ÿ8š8´°a´Ó$9²¨1¢Q±Ñ$9Ö:ÁHÒMÓNˆAØˆHùò %:ùÓMó   Ÿ#A'
ÁA"ÁA'
Á"A'
r®   r  ©r!   rk  s     r   Útest_nested_arrayÚ(TestArrayComprehension.test_nested_array�  s   € ò	ð 	�
‰
�< Õ$r&   c                 ó.   • S nU R                  US5        g )Nc                 óÚ   • [         R                  " [        S5       VVs/ s H2  n[         R                  " [        S5       Vs/ s H  o"PM     sn5      PM4     snn5      nU$ s  snf s  snnf )Nrµ   rB   rð   rj  s       r   rk  ÚITestArrayComprehension.test_nested_array_with_const.<locals>.nested_array—  rm  rn  r   r  ro  s     r   Útest_nested_array_with_constÚ3TestArrayComprehension.test_nested_array_with_const–  s   € ò	ð 	�
‰
�< Õ#r&   c                 ó  • S n/ SQnU R                  X5        U R                  U[        R                  " U5      5        U R                  U[        U5      5        U R                  U[        R
                  " U5      5        g )Nc                 ób   • [         R                  " U  Vs/ s H  oU-  PM	     sn5      nU$ s  snf rW   rC   )r�   r4   r   s      r   Ú
array_compÚDTestArrayComprehension.test_array_comp_with_iter.<locals>.array_compž  s+   € Ü—’©!Ó-ª! Q˜qœ5©!Ñ-Ó.ˆAØˆHùò .s   •,r´   )rë   rD   rE   Útupler   ÚList)r!   ry  r   s      r   Útest_array_comp_with_iterÚ0TestArrayComprehension.test_array_comp_with_iter�  sX   € ò	ò ˆØ�
‰
�:Ô!à�
‰
�:œrŸxšx¨›{Ô+à�
‰
�:œu Q›xÔ(à�
‰
�:œuŸzšz¨!›}Õ-r&   c                 óH   • S nU R                  US[        R                  S9  g )Nc                 óˆ   • [         R                  " [        U 5       Vs/ s H  oPM     sn[         R                  S9nU$ s  snf )N)râ   )rD   rE   r   Ú	complex64r@  s      r   ry  ÚETestArrayComprehension.test_array_comp_with_dtype.<locals>.array_comp¬  s3   € Ü—’¤U¨1¤XÓ.¢X š!¡XÑ.´b·l±lÑCˆAØˆHùò /s   ž?r®   ©rÞ   )rë   rD   r�  ©r!   ry  s     r   Útest_array_comp_with_dtypeÚ1TestArrayComprehension.test_array_comp_with_dtype«  s   € ò	ð 	�
‰
�:˜r´·±ˆ
Ò=r&   c                 ó.   • S nU R                  US5        g )Nc                 ót   • [         R                  " [        U 5       Vs/ s H  oS-  PM	     sn5      nU$ s  snf )Ny              ð?rð   r@  s      r   ry  ÚITestArrayComprehension.test_array_comp_inferred_dtype.<locals>.array_comp³  s/   € Ü—’¬%°¬(Ó3ª( Q˜bœ&©(Ñ3Ó4ˆAØˆHùò 4s   ž5r®   r  r„  s     r   Útest_array_comp_inferred_dtypeÚ5TestArrayComprehension.test_array_comp_inferred_dtype²  ó   € ò	ð 	�
‰
�:˜rÕ"r&   c                 ó.   • S nU R                  US5        g )Nc                 ó¸   • [         R                  " [        U 5       VVs/ s H!  n[        U 5       Vs/ s H  o!U-  PM	     snPM#     snn5      nU$ s  snf s  snnf rW   rð   r  s       r   ry  ÚPTestArrayComprehension.test_array_comp_inferred_dtype_nested.<locals>.array_compº  r   r!  r®   r  r„  s     r   Ú%test_array_comp_inferred_dtype_nestedÚ<TestArrayComprehension.test_array_comp_inferred_dtype_nested¹  rŒ  r&   c                 ó.   • S nU R                  US5        g )Nc                 ó¸   • [         R                  " [        U 5       VVs/ s H!  n[        U 5       Vs/ s H  o!U-  PM	     snPM#     snn5      nU$ s  snf s  snnf rW   rð   r  s       r   ry  ÚTTestArrayComprehension.test_array_comp_inferred_dtype_nested_sum.<locals>.array_compÁ  sE   € Ü—’¼UÀ1¼XÔFºX¸¬%°¬(Ó3ª( Q˜qœ5©(Ô3¹XÒFÓGˆAàˆHùò 4ùÓFr!  r®   r  r„  s     r   Ú)test_array_comp_inferred_dtype_nested_sumÚ@TestArrayComprehension.test_array_comp_inferred_dtype_nested_sumÀ  s   € ò	ð
 	�
‰
�:˜rÕ"r&   c                 óò  • S nSnU R                  USU[        R                  S9  U R                  [        5       n[        SS9" U5      nU" SS5        S S S 5        U R                  [        SR                  [        R                  5      -   [        WR                  5      5        U R                  S	R                  [        R                  5      [        UR                  5      5        g ! , (       d  f       Nš= f)
Nc                 óv   • [         R                  " [        U 5       Vs/ s H  o"PM     sn5      nXS'   U$ s  snf r   rð   )r   Úvr   Úarrs       r   ry  ÚYTestArrayComprehension.test_array_comp_inferred_dtype_outside_setitem.<locals>.array_compÉ  s4   € Ü—(’(¤u¨Q¤xÓ0¢x !šA¡xÑ0Ó1ˆCà�‰FØˆJùò 1s   ž6g333333ó?r®   rƒ  Tr(   y        ffffff@z Function({})z/(array({}, 1d, C), Literal[int](0), complex128))rë   rD   r   r¼   r	   r   rã   r   ÚformatÚoperatorÚsetitemrQ  rR  r   )r!   ry  r™  rÂ   r#   s        r   Ú.test_array_comp_inferred_dtype_outside_setitemÚETestArrayComprehension.test_array_comp_inferred_dtype_outside_setitemÈ  s¿   € ò	ð ˆØ�
‰
�:˜r 1´2·7±7ˆ
Ñ;à×Ñœ{Ô+¨vÜ Ò& zÓ2ˆEÙ�"�dŒO÷ ,ð 	�‰Ü˜?×1Ñ1´(×2BÑ2BÓCÑCÜ�× Ñ Ó!ô	
ð 	�‰Ø=×DÑDÄUÇZÁZÓPÜ�× Ñ Ó!õ	
÷ ,Õ+ús   »C(Ã(
C6c           	      ó  ^• Sm[        SS9U4S j5       n[        5        nU" 5         S S S 5        WR                  5       R                  5       n[        5        n[	        [
        R                  " [        T5       Vs/ s H  oUPM     sn5      5        S S S 5        WR                  5       R                  5       nU R                  X65        U R                  US5        g ! , (       d  f       N¹= fs  snf ! , (       d  f       Nf= f)Néd   Tr(   c                  óÂ   >• [         R                  " [        T5       V s/ s H  o PM     sn 5      n[         R                  R	                  U5        [        U5        g s  sn f rW   )rD   rE   r   ÚrandomÚshuffleÚprint)r   ÚnumbersÚnelems     €r   ÚfooÚFTestArrayComprehension.test_array_comp_shuffle_sideeffect.<locals>.fooâ  sB   ø€ ä—h’h¬5°¬<Ó8ª< a¢©<Ñ8Ó9ˆGÜ�I‰I×Ñ˜gÔ&Ü�'�Nùò  9s   ŸAz\[(\s*\d+)+\])
r   r   ÚgetvalueÚstripr¦  rD   rE   r   ÚassertNotEqualÚassertRegex)r!   r©  ÚgotbufrÐ   Ú	expectbufr   Úexpectr¨  s          @r   Ú"test_array_comp_shuffle_sideeffectÚ9TestArrayComprehension.test_array_comp_shuffle_sideeffectß  sÇ   ø€ Øˆä	�dÑ	ô	ó 
ð	ô
 Ô &ÙŒE÷ à�o‰oÓ×%Ñ%Ó'ˆäÔ )Ü”"—(’(¤u¨U¤|Ó4¢| !šA¡|Ñ4Ó5Ô6÷ à×#Ñ#Ó%×+Ñ+Ó-ˆð 	×Ñ˜CÔ(Ø×Ñ˜Ð.Õ/÷ Õüò
 5÷ Õús)    CÁ#C1Á;C,ÂC1Ã
C)Ã,C1Ã1
C?c                 ó,   • S nU R                  USSS9  g )Nc                 óž   • / n[         R                  " S/5      n[         R                  R                  US5      nUR	                  X-   5        U$ rP   )rD   rE   r¤  Úchoicer•   )r4   rÎ   ÚmyListr�   s       r   r¿   Ú=TestArrayComprehension.test_empty_list_not_removed.<locals>.f÷  s>   € ØˆAÜ—X’X˜q˜c“]ˆFÜ—	‘	× Ñ  ¨Ó+ˆAØ�H‰H�Q‘UŒOØˆHr&   r   Tr
  r  )r!   r¿   s     r   Útest_empty_list_not_removedÚ2TestArrayComprehension.test_empty_list_not_removedõ  s   € ò	ð 	�
‰
�1�a¨dˆ
Ò3r&   c                 ó,   • S nU R                  USSS9  g)zTest issue 3742 c                 óÈ   • [        S5       Vs/ s H  oPM       n[        R                  " U 5      n[        U 5       H  n[        R                  " U 5      nXU'   M     U$ s  snf rP   )r   rD   ÚemptyÚzeros)r   r   rK   s      r   r©  Ú;TestArrayComprehension.test_reuse_of_array_var.<locals>.foo  sU   € ô ˜aœÓ!š�1ŠQ™Ñ!Ü—’˜“ˆAÜ˜1–X�Ü—H’H˜Q“K�Ø�!“ñ ð ˆHùò "s   ŽAr®   Tr
  Nr  )r!   r©  s     r   Útest_reuse_of_array_varÚ.TestArrayComprehension.test_reuse_of_array_varÿ  s   € ò		ð 	�
‰
�3˜°ˆ
Ò6r&   r.   N)#rÓ   rÔ   rÕ   rÖ   Ú_numba_parallel_test_rë   rú   r  r  r  r"  r)  r/  r6  r<  rC  rI  ÚunittestÚ
skipUnlessr   rS  r[  rf  rp  ru  r}  r…  rŠ  r�  r•  rŸ  r²  r¹  rÀ  r×   r.   r&   r   rÙ   rÙ   ð   s¹   † à!ÐòUò&@ò,ò.òKòCòEò.ò1ò:òOò.ð ×Ò˜¨Ñ0ð)ó*ñAó*ðAò-òBò%ò$ò.ò>ò#ò#ò#ò
ò.0ò,4õ7r&   rÙ   Ú__main__)rÃ  Únumba.tests.supportr   r½   r�  rx   rD   Únumbar   r   r   Ú
numba.corer   r   Únumba.core.errorsr	   r
   Únumba.core.types.functionsr   Únumba.np.numpy_supportr   r   r   r   rù   r   r   rÙ   rÓ   Úmainr.   r&   r   Ú<module>rÍ     sz   ðÛ Ý (ã 
Û Û Û ç "Ñ "ß #ß 8Ý 3Ý 0ß <Ñ <ð  ”ZÐ òôO/˜Hô O/ôd]7˜X×.Ñ.ô ]7ð@	 ˆzÓØ‡M‚M…Oð r&   