
    shB                        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       r/Users/tiagomarins/Projetos/claudeai/copy_bank/venv/lib/python3.13/site-packages/numba/tests/test_comprehension.py	comp_listr      s:    !HHqHA	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    ejj]#F+q6!9-q6!9-rF2J/    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X4XgXXXXU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*    1u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   list18TestListComprehension.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   list28TestListComprehension.test_bulk_use_cases.<locals>.list25   s     *q!EAq***   	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   list38TestListComprehension.test_bulk_use_cases.<locals>.list39   s#    0121QAB&222s   c                 2    [         R                  " / SQ5      $ )z)Test list comprehension to np.array ctor r-   r,      nparrayr4   s    r   list48TestListComprehension.test_bulk_use_cases.<locals>.list4=   s    88I&&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   list58TestListComprehension.test_bulk_use_cases.<locals>.list5B   s;    88qAq!RXX!n!Qq!n5qABBn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   innerGTestListComprehension.test_bulk_use_cases.<locals>.list6.<locals>.innerH   s    1ur&   r.   )r4   rQ   rK   s      r   list68TestListComprehension.test_bulk_use_cases.<locals>.list6F   s#    &'(aE!Ha(((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    1ur&   r.   )r4   rQ   rK   r9   s      @r   list78TestListComprehension.test_bulk_use_cases.<locals>.list7L   s)    A&'(aE!Ha(((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    taxr&   r.   )r4   rK   r   rQ   qs        r   list88TestListComprehension.test_bulk_use_cases.<locals>.list8T   s0     !"1Q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    tad{"r&   r.   r4   rK   rQ   r   s      @r   list98TestListComprehension.test_bulk_use_cases.<locals>.list9]   s,     !"1Q"A#8O	 #   %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!    *+,!QAaD!,,,s   r.   re   s      @r   list109TestListComprehension.test_bulk_use_cases.<locals>.list10e   s,     !"1Q"A-8O	 #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   list119TestListComprehension.test_bulk_use_cases.<locals>.list11m   s(    &'(a!aA(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   list129TestListComprehension.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   list139TestListComprehension.test_bulk_use_cases.<locals>.list13w   s)    +,-1aq!1A-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   list149TestListComprehension.test_bulk_use_cases.<locals>.list14|   s$    #$%1aq1A%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   list159TestListComprehension.test_bulk_use_cases.<locals>.list15   s-    #$%1aq1A%88A; &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   list169TestListComprehension.test_bulk_use_cases.<locals>.list16   sU    $%&Aq%(AB&Q!QB"B"B7N	 '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   list179TestListComprehension.test_bulk_use_cases.<locals>.list17   sh     S11a1q!t8LPQ8Q Q1I34 () 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   list189TestListComprehension.test_bulk_use_cases.<locals>.list18   s-    A''HHQK  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   list199TestListComprehension.test_bulk_use_cases.<locals>.list19   s!     9q!(8$8Aq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   list209TestListComprehension.test_bulk_use_cases.<locals>.list20   s     /q!JAq///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   list219TestListComprehension.test_bulk_use_cases.<locals>.list21   s    %&'QDGQ'''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   list229TestListComprehension.test_bulk_use_cases.<locals>.list22   sZ     !"1QA" !"1QA" 6q!!QAvA!Aq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   list239TestListComprehension.test_bulk_use_cases.<locals>.list23   s)    AqAAHHQK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   list249TestListComprehension.test_bulk_use_cases.<locals>.list24   s-    3451aUq)1A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   list259TestListComprehension.test_bulk_use_cases.<locals>.list25   s?    
 xx-H',RyLy!T(^4KAyL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VVVVVVVV	5 CT*3/  sSX6  {+v&u-E#J , ;; DD!  JJ..uSz3s8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_funcATestListComprehension.test_objmode_inlining.<locals>.objmode_func   s%    A"#n!Qq!GnN %s   T)forceobjrA   )r   assertPreciseEqual)r!   r   r#   texpectedgots         r   test_objmode_inlining+TestListComprehension.test_objmode_inlining   s=    	
 T"<0?Ah.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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	                  X5        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    zz.%8%zz*@%Hzz.%8T<8@d|


%%e2T!W]]L9MM/5+=+=e>N>Nq>Q+RS_e.@.@AQAQRSAT.UVMM*E,>,>u?O?OPQ?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_1HTestArrayComprehension.test_comp_with_array_1.<locals>.comp_with_array_1  8    AAq2Aa%23A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(JJ(!$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_2HTestArrayComprehension.test_comp_with_array_2.<locals>.comp_with_array_2  sD    		1"a A88LA9}ae!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_noinlineVTestArrayComprehension.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_noinline4TestArrayComprehension.test_comp_with_array_noinline  s@    	
 	32	.).B&JJ/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1X

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    	 	

+QT
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_arrayNTestArrayComprehension.test_comp_nest_with_array.<locals>.comp_nest_with_array0  E    U1XFX%(3(Qq5(3XFGAH 4F   A
A A
A
r   Tr   r   )r!   r  s     r   test_comp_nest_with_array0TestArrayComprehension.test_comp_nest_with_array/  s6    	 	

'+JJ+QTJ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_3RTestArrayComprehension.test_comp_nest_with_array_3.<locals>.comp_nest_with_array_39  se    UZ[\U]^U]PQ%(K(QuQx8x!EAIx8(KU]^_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_32TestArrayComprehension.test_comp_nest_with_array_38  s6    	 	

)1-JJ-qtJ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_noinline9TestArrayComprehension.test_comp_nest_with_array_noinlineA  sH    	 	32	.).B&JJ4a,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_rangePTestArrayComprehension.test_comp_with_array_range.<locals>.comp_with_array_rangeO  s-    U1[1[![12AH 2s   2r   r   r  )r!   r4  s     r   test_comp_with_array_range1TestArrayComprehension.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_stepbTestArrayComprehension.test_comp_with_array_range_and_step.<locals>.comp_with_array_range_and_stepV  s/    U1^4^!^45A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    	 	

11b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    U1X<XQ!!X<=AH =s   ==r   Tr
  r  )r!   rA  s     r    test_comp_with_array_conditional7TestArrayComprehension.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_conditionalfTestArrayComprehension.test_comp_nest_with_array_conditional.<locals>.comp_nest_with_array_conditionald  sQ    U1XTXQRS3%(3(Qq5(3XTUA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"    	 	

3Q(, 	 	.r&   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_iterPTestArrayComprehension.test_comp_unsupported_iter.<locals>.comp_unsupported_iterk  s1    i+C883/341Q3/00/s   <
z1Unsupported iterator found in array comprehension)r   r	   r   r   r   str	exception)r!   rO  r   s      r   test_comp_unsupported_iter1TestArrayComprehension.test_comp_unsupported_iterj  sj    	1 {+vJJ,- ,lC(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_comp1ATestArrayComprehension.test_no_array_comp.<locals>.no_array_comp1u  s    AAHr&   r   Fr
  c                 \    / SQn[         R                  " U5      nUR                  S5        U$ )NrW  r   )rD   rE   r   rX  s      r   no_array_comp2ATestArrayComprehension.test_no_array_comp.<locals>.no_array_comp2{  s$    AAHHQKHr&   Tr  )r!   rY  r\  s      r   test_no_array_comp)TestArrayComprehension.test_no_array_compt  s4    	
 	

>2E
B	
 	

>2D
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MHq288a$91Q$9:HMNAH %:M   #A'
A"A'
"A'
r   r  r!   rc  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   rb  s       r   rc  ITestArrayComprehension.test_nested_array_with_const.<locals>.nested_array  re  rf  r   r  rg  s     r   test_nested_array_with_const3TestArrayComprehension.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_compDTestArrayComprehension.test_array_comp_with_iter.<locals>.array_comp  s+    !-!Qq5!-.AH .s   ,r   )r   rD   rE   tupler   List)r!   rq  r   s      r   test_array_comp_with_iter0TestArrayComprehension.test_array_comp_with_iter  sX    	 

:!

:rxx{+

:uQx(

:uzz!}-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   rq  ETestArrayComprehension.test_array_comp_with_dtype.<locals>.array_comp  s3    U1X.X!X.bllCAH /s   ?r   r   )r   rD   ry  r!   rq  s     r   test_array_comp_with_dtype1TestArrayComprehension.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   rq  ITestArrayComprehension.test_array_comp_inferred_dtype.<locals>.array_comp  s/    %(3(Qb&(34AH 4s   5r   r  r|  s     r   test_array_comp_inferred_dtype5TestArrayComprehension.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   rq  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   rq  TTestArrayComprehension.test_array_comp_inferred_dtype_nested_sum.<locals>.array_comp  sE    U1XFX%(3(Qq5(3XFGA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   rq  YTestArrayComprehension.test_array_comp_inferred_dtype_outside_setitem.<locals>.array_comp  s4    ((uQx0x!Ax01C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!   rq  r  r   r#   s        r   .test_array_comp_inferred_dtype_outside_setitemETestArrayComprehension.test_array_comp_inferred_dtype_outside_setitem  s    	 

:r1277
;{+v&z2E"dO , 	?11(2B2BCC  !	
 	=DDUZZ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)Nd   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   fooFTestArrayComprehension.test_array_comp_shuffle_sideeffect.<locals>.foo  sB    hh5<8<a<89GII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_sideeffect9TestArrayComprehension.test_array_comp_shuffle_sideeffect  s    	d		 
	
 &E oo%%')"((uU|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XXqc]F		  +AHHQUOHr&   r   Tr
  r  )r!   r   s     r   test_empty_list_not_removed2TestArrayComprehension.test_empty_list_not_removed  s    	 	

1ad
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!1Q!A1XHHQK!  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  rS  r^  rh  rm  ru  r}  r  r  r  r  r  r  r  r   r.   r&   r   r   r      s    !U&@,.KCE.1:O.-B%$.>###
.0,47r&   r   __main__)unittest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P7X.. P7f zMMO r&   