
    shb                     b   S SK Jr  S SKrS SK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JrJr  S SK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	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)S r*S r+S r,S r-S r.S r/S r0S r1S  r2S! r3S" r4S# r5S$ r6S% r7S& r8S' r9S( r:S) r;S* r<S+ r=S, r>S- r?S. r@S/ rAS0 rBS1 rCS2 rDS3 rES4 rFS5 rGS6 rHS7 rIS8 rJS9 rKS: rLS; rMS< rNS= rOS> rPS? rQS@ rRSA rSSB rTSC rUSD rVSE rWSF rXSG rYSH rZSI r[ " SJ SK\\5      r\ " SL SM\\5      r] " SN SO\\5      r^ " SP SQ\\5      r_ " SR SS\_5      r`ST ra " SU SV\_5      rb " SW SX\c5      rd " SY SZ\c5      re " S[ S\\_5      rf " S] S^\\5      rg " S_ S`\\5      rh\iSa:X  a  \R                  " 5         gg)b    )
namedtupleN)jittypeofnjitliteral_unroll	literally)typeserrors)TestCaseMemoryLeakMixin)jitclass)overloadPointabc                     g N xs    j/Users/tiagomarins/Projetos/claudeai/copy_bank/venv/lib/python3.13/site-packages/numba/tests/test_lists.pynoopr      s        c                 $    SnU  H  nX-  nM	     U$ )z
Expect a list of numbers
r   r   r   resvs      r   unbox_usecaser      s     C Jr   c                 8    SnU  H  nU[        U5      -  nM     U$ )z
Expect a list of tuples
r   lenr   s      r   unbox_usecase2r#       s%     Cs1v Jr   c                 ,    U u  pUnU H  nX4-  nM	     U$ )z+
Expect a (number, list of numbers) tuple.
r   r   r   r   r   r   s        r   unbox_usecase3r&   )   s&     DA
C Jr   c                 @    U u  pUnU H  nU[        U5      -  nM     U$ )z*
Expect a (number, list of tuples) tuple.
r!   r%   s        r   unbox_usecase4r(   3   s,     DA
Cs1v Jr   c                 
    XU/$ r   r   )r   yzs      r   create_listr,   >   s    !9r   c                     XU/X4U//$ r   r   )r   r*   r+   r   r   cs         r   create_nested_listr/   A   s    1Iay!!r   c                  Z    [        [        S5       V s/ s H  o S-  PM	     sn 5      $ s  sn f N
      sumranger   s    r   list_comprehension1r7   D   s%    eBi(i1i())(s   (c                  j    [        [        S5       V s/ s H  o S-  S:X  d  M  U PM     sn 5      $ s  sn f )Nr2   r3   r   r4   r   s    r   list_comprehension2r9   G   s+    5939aA
93443s   00c            	          [        [        S5       V s/ s H  n [        R                  " U S5      PM     sn 5      $ s  sn f r1   )r5   r6   mathpowr   s    r   list_comprehension3r=   J   s-    b	2	1A	2332s   !;c            	          [        [        S5       V Vs/ s H  n [        S5        H  oU-  PM	     M     snn 5      $ s  snn f Nr2   r4   )r   r*   s     r   list_comprehension4r@   M   s1    uRy<y!%)QA)y<==<s   !=
c                  H    [        S5       V s/ s H  o S-  PM	     sn $ s  sn f r1   r6   r   s    r   list_comprehension5rC   P   s      9%9aE9%%%s   c                      [        S5       V Vs/ s H  n [        U 5       Vs/ s H  oPM     snPM      snn $ s  snf s  snn f N   rB   )r*   r   s     r   list_comprehension6rG   S   s4    +0848aa!1Q!844!4s   =8==c                 *    [        [        U 5      5      $ r   listr6   ns    r   list_constructorrM   W   s    a>r   c                      [        5       $ r   rJ   r   r   r   list_constructor_emptyrP   Z   s     6Mr   c                 8    [        5       nUR                  U 5      $ r   )rJ   append)rL   r*   s     r   #list_constructor_empty_but_typeablerS   _   s     	A88A;r   c                 r    / nUR                  S5        [        U 5       H  nUR                  U5        M     U$ N*   rR   r6   rL   lis      r   list_appendr[   e   s0    
AHHRL1X	 Hr   c                 r    / nUR                  S5        [        U 5       H  nUR                  U5        M     U$ )N      E@rW   rX   s      r   list_append_heterogeneousr^   l   s0    
AHHTN1X	 Hr   c                     / nUR                  [        U 5      5        UR                  US S 5        UR                  [        U SS5      5        U$ )Nr   extendr6   rL   rY   s     r   list_extendrd   s   sB    
AHHU1XHHQsVHHU1a_Hr   c                     / nUR                  [        U 5      5        UR                  US S 5        UR                  S5        UR                  S/5        U$ )Nr`   )   rV   g     ^@ra   rc   s     r   list_extend_heterogeneousrg   {   sH    
AHHU1XHHQsVHHWHHeWHr   c                     [        [        U 5      5      nSn[        U5      S:  a0  U[        U5      UR                  5       -  -  n[        U5      S:  a  M0  U$ Nr   )rJ   r6   r"   pop)rL   rY   r   s      r   	list_pop0rk      sJ    U1XA
C
a&1*s1v a&1*Jr   c                 R    [        [        U 5      5      nUR                  U5      nX24$ r   )rJ   r6   rj   )rL   rZ   rY   r   s       r   	list_pop1rm      s#    U1XA	aA4Kr   c                 @    [        [        U 5      5      n[        U5      $ r   rJ   r6   r"   rc   s     r   list_lenrp      s    U1XAq6Mr   c                     [        [        U 5      5      nSn[        [        U5      5       H  nX#X   -  -  nM     [        [        U5      * S5       H  nX#X   -  -  nM     U$ ri   ro   rL   rY   r   rZ   s       r   list_getitemrs      s^    U1XA
C3q6]14x  CF7A14x Jr   c                 
   [        [        U 5      5      nSn[        [        U5      5       H  nX1U   -  X'   M     [        [        U5      * S5       H  nX1U   -  X'   M     [        [        U5      5       H
  nX!U   -  nM     U$ ri   ro   rr   s       r   list_setitemru      s{    U1XA
C3q6]Q4x  CF7AQ4x 3q6]t Jr   c                 2    [        [        U 5      5      nX1U $ r   rI   rL   startstoprY   s       r   list_getslice2rz      s    U1XA4=r   c                 6    [        [        U 5      5      nXAX#2   $ r   rI   )rL   rx   ry   steprY   s        r   list_getslice3r}      s    U1XA4_r   c                 d    [        [        U 5      5      n[        [        SSU-   5      5      nXTX#& U$ Nd   rI   )rL   n_sourcerx   ry   rY   r   s         r   list_setslice2r      s0    U1XAU3h'(AeMHr   c                     [        [        U 5      5      nXAX#2   n[        [        U5      5       H  nXV==   S-  ss'   M     XTXU2'   U$ r   ro   )rL   rx   ry   r|   rY   r   rZ   s          r   list_setslice3r      sI    U1XA	/A3q6]	 eoHr   c                 f    [        [        U 5      5      n[        [        SSU-   5      5      XRX42'   U$ r   rI   )rL   n_srcrx   ry   r|   rY   s         r   list_setslice3_arbitraryr      s0    U1XAeCu56ADoHr   c                 8    [        [        U 5      5      nUS S 2	 U$ r   rI   rc   s     r   list_delslice0r      s    U1XA	!Hr   c                 @    [        [        U 5      5      nX1S 2	 US U2	 U$ r   rI   rw   s       r   list_delslice1r      s&    U1XA	&		%4%Hr   c                 6    [        [        U 5      5      nX1U2	 U$ r   rI   rw   s       r   list_delslice2r      s    U1XA	*Hr   c                 N    [        [        U 5      5      nUR                  5         U$ r   )rJ   r6   clearrc   s     r   
list_clearr      s    U1XAGGIHr   c                 r    [        [        U 5      5      nUR                  5       nUR                  S5        X4$ rU   )rJ   r6   copyrR   )rL   rY   lls      r   	list_copyr      s,    U1XA	
BHHRL5Lr   c                 h    [        [        U 5      5      nSn[        U5       H  u  p4X#U-  -  nM     U$ ri   )rJ   r6   	enumerate)rL   rY   r   rZ   r   s        r   list_iterationr      s4    U1XA
C!1u Jr   c           	      v    [        [        U 5      5      nSU;   SU;   U S-
  U;   X;   SU;  SU;  U S-
  U;  X;  4$ Nr      rI   rc   s     r   list_containsr      sO    U1XAFAFAEQJQJ
AENAJ r   c                 P    [        [        U SS5      5      nUR                  U5      $ Nr   r`   rJ   r6   indexrL   r   rY   s      r   list_index1r      s"    U1a_A771:r   c                 P    [        [        U SS5      5      nUR                  X5      $ r   r   )rL   r   rx   rY   s       r   list_index2r      s#    U1a_A771r   c                 R    [        [        U SS5      5      nUR                  XU5      $ r   r   )rL   r   rx   ry   rY   s        r   list_index3r      s%    U1a_A771T""r   c                 Z    [        [        U S-
  SS5      5      nUR                  U5        U$ )Nr   r`   )rJ   r6   remover   s      r   list_remover      s)    U1q5"b!"AHHQKHr   c                 R    [        [        SU 5      5      nUR                  X5        U$ ri   )rJ   r6   insert)rL   posr   rY   s       r   list_insertr     s#    U1a[AHHSHr   c                 t    / n[        U 5       H  nUR                  US-  5        M     UR                  U5      $ rE   )r6   rR   count)rL   r   rY   r   s       r   
list_countr     s2    
A1X	Q 771:r   c                 N    [        [        U 5      5      nUR                  5         U$ r   )rJ   r6   reverserc   s     r   list_reverser     s    U1XAIIKHr   c                     [        [        SU 5      5      n[        [        SSU-   5      5      nX#-   nUR                  S5        X#U4$ )Nr   r   rV   )rJ   r6   rR   )mrL   r   r   r   s        r   list_addr     sC    U1a[AU3a !A
%CJJrN9r   c                  j    S/n S/nX-   nX-   nU R                  S5        UR                  S5        XX#4$ )Nr          @rF         @rR   )r   r   r.   ds       r   list_add_heterogeneousr     s>    	
A	A	A	AHHQKHHSM:r   c                 j    [        [        SU 5      5      n[        [        SSU-   5      5      nX#-  nX#4$ )Nr   r   rI   )r   rL   r   r   s       r   list_add_inplacer   "  s5    U1a[AU3a !AFA4Kr   c                  $    S/n S/nX-  n X-  nX4$ )Nr   r   r   r   s     r   list_add_inplace_heterogeneousr   (  s%    	
A	AFAFA4Kr   c                 2    [        [        U 5      5      nX!-  $ r   rI   rL   r   r   s      r   list_mulr   /      U1XA5Lr   c                 2    [        [        U 5      5      nX-  $ r   rI   r   s      r   	list_mul2r   3  r   r   c                 6    [        [        U 5      5      nX!-  nU$ r   rI   r   s      r   list_mul_inplacer   7  s    U1XAFAHr   c                 X    [        [        U 5      5      n[        U5      U(       a  S4$ S4$ )NTF)rJ   r6   bool)rL   r   s     r   	list_boolr   <  s(    U1XA7QT**E**r   c                 0    [        U 5      [        U5      :H  $ r   rO   r   s     r   
eq_usecaser   @      7d1gr   c                 0    [        U 5      [        U5      :g  $ r   rO   r   s     r   
ne_usecaser   C  r   r   c                 0    [        U 5      [        U5      :  $ r   rO   r   s     r   
gt_usecaser   F      7T!Wr   c                 0    [        U 5      [        U5      :  $ r   rO   r   s     r   
ge_usecaser   I  r   r   c                 0    [        U 5      [        U5      :  $ r   rO   r   s     r   
lt_usecaser   L  r   r   c                 0    [        U 5      [        U5      :*  $ r   rO   r   s     r   
le_usecaser   O  r   r   c                 L    [        [        U 5      5      nUnUS S  nXL XLXL XL4$ r   rI   )rL   r   r   r.   s       r   identity_usecaser   R  s4    U1XA	A	!AFajAFaj99r   c                  6    S/n SU S'   SnU  H  nX-  nM	     X4$ )NFTr   r   )rY   r   r   s      r   bool_list_usecaser   X  s/    	AAaDAE 4Kr   c                 v    U R                  5       nU R                  5       nSU S'   U R                  U5        XU4$ )Nr]   r   rj   rb   rY   r   r   r*   s       r   reflect_simpler   a  s5    	A	AAaDHHRL7Nr   c                     US   (       a  / SQn U R                  5       nU R                  5       nSU S'   U R                  U5        XU4$ )Nr   )g      &@g      6@g     @@g      F@r]   r   r   s       r   reflect_conditionalr   h  sA    	!u 	A	AAaDHHRL7Nr   c                 0    U R                  S5        [        erU   )rR   ZeroDivisionErrorrY   s    r   reflect_exceptionr   r  s    HHRL
r   c                 F    U R                  UR                  5       5        XL $ r   )rR   rj   )rY   r   s     r   reflect_dualr   v  s    HHRVVX7Nr   c                      \ rS rSrS rS rSDS j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#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. r0S/ r1S0 r2S1 r3S2 r4S3 r5\6Rn                  " \8Rr                  S4:  S55      S6 5       r:S7 r;S8 r<S9 r=S: r>S; r?S< r@S= rAS> rBS? rCS@ rDSA rESBrFgC)E	TestListsi{  c                     [         n[        [        R                  [        R                  [        R                  45      " U5      nU R	                  U" SSS5      U" SSS5      5        g )Nr   r3   rF   )r,   r   r	   int32assertEqualselfpyfunccfuncs      r   test_create_listTestLists.test_create_list}  sI    ekk5;;<=fEq!Q1a9r   c                 6   [         n[        [        R                  [        R                  [        R                  [        R                  [        R                  [        R                  45      " U5      nU R	                  U" SSSSSS5      U" SSSSSS5      5        g )Nr   r3   rF      rf      )r/   r   r	   r   r   r   s      r   test_create_nested_list!TestLists.test_create_nested_list  sr    #ekk5;;kk5;;= >>DFq!Q1a0&Aq!Q2JKr   c                     [        SS9" U5      nS H7  nU(       a  U R                  OU R                  nU" U" U5      U" U5      5        M9     g )NTnopython)r   rF      F   i  )r   assertPreciseEqualr   )r   r   preciser   rL   eqs         r   check_unary_with_sizeTestLists.check_unary_with_size  sB    T"6*$A,3((9I9IBuQx# %r   c                 .    U R                  [        5        g r   )r  rM   r   s    r   test_constructorTestLists.test_constructor  s    ""#34r   c                 `   U R                  5         [        SS9" [        5      nU R                  [        R
                  5       nU" 5         S S S 5        [        WR                  5      nU R                  SU5        U R                  SU5        U R                  SU5        g ! , (       d  f       NZ= f)NTr   z!Cannot infer the type of variablezlist(undefined)z&For Numba to be able to compile a list)	disable_leak_checkr   rP   assertRaisesr
   TypingErrorstr	exceptionassertIn)r   r   raiseserrmsgs       r   test_constructor_empty TestLists.test_constructor_empty  s    !T"#9:v112fG 3V%%&96B'0>G 32s   B
B-c                     [         R                  " S5      SSS/SS/[         R                  " S/5      /n[        nU H3  n[	        SS	9" U5      nU" U5      nU" U5      nU R                  Xe5        M5     g )
Nr   g      $@y      ?      @   g      1@g      ,@r2   Tr   )npr   arrayrS   r   r   )r   argsr   argr   expectedgots          r   #test_constructor_empty_but_typeable-TestLists.test_constructor_empty_but_typeable  sj    S&1#Sz288RD>J4C&v.Ec{H*C##C2	 r   c                 .    U R                  [        5        g r   )r  r[   r  s    r   test_appendTestLists.test_append      "";/r   c                 ,    U R                  [        SS9  g NF)r   )r  r^   r  s    r   test_append_heterogeneous#TestLists.test_append_heterogeneous      ""#<e"Lr   c                 .    U R                  [        5        g r   )r  rd   r  s    r   test_extendTestLists.test_extend  r  r   c                 ,    U R                  [        SS9  g r!  )r  rg   r  s    r   test_extend_heterogeneous#TestLists.test_extend_heterogeneous  r$  r   c                 .    U R                  [        5        g r   )r  rk   r  s    r   	test_pop0TestLists.test_pop0      ""9-r   c           
          [         n[        SS9" U5      nS HB  nSSUS-
  US-
  SSU* S	-   U* S-   4 H#  nU" X45      nU R                  U" X45      U5        M%     MD     g )
NTr   rf   (   r   r   r3   r`   rF   )rm   r   r   )r   r   r   rL   rZ   r  s         r   	test_pop1TestLists.test_pop1  sm    T"6*AAE1q5"b1"q&1"q&A!!<''aX> B r   c                    U R                  5         [        SS9" [        5      nU R                  [        5       nU" SS5        S S S 5        U R                  [        WR                  5      S5        U R                  [        5       nU" SS5        S S S 5        U R                  [        UR                  5      S5        g ! , (       d  f       N= f! , (       d  f       NE= f)NTr   r   rf   zpop from empty listr   zpop index out of range)r  r   rm   r	  
IndexErrorr   r  r  )r   r   cms      r   test_pop_errorsTestLists.test_pop_errors  s    !T"9-z*b!QK +R\\*,ABz*b!QK +R\\*,DE +* +*s   
B=
C=
C
Cc                     [         n[        SS9" U5      nS HJ  nSSUS-
  US-
  US-   SSU* S	-   U* S-
  /	nU H%  nU" X5S
5      nU R                  U" X5S
5      U5        M'     ML     g )NTr   r0  r   r   r3   r`   r2  rF   rV   )r   r   r   )r   r   r   rL   indicesrZ   r  s          r   test_insertTestLists.test_insert  s|    T"6*A!QUAE1q5"b1"q&1"q&IG!!+''aBB  r   c                 .    U R                  [        5        g r   )r  rp   r  s    r   test_lenTestLists.test_len  s    ""8,r   c                 .    U R                  [        5        g r   )r  rs   r  s    r   test_getitemTestLists.test_getitem      ""<0r   c                 .    U R                  [        5        g r   )r  ru   r  s    r   test_setitemTestLists.test_setitem  rD  r   c           	          [        SS9" U5      nSS/nU HZ  nSSUS-
  SS	U* S
-   U* S-
  U* /n[        R                  " XU5       H'  u  pgU" XFU5      nU R                  U" XFU5      U5        M)     M\     g NTr   rf   r1  r   r   r3   r`   r2  rF   r   	itertoolsproductr   )	r   r   r   sizesrL   r;  rx   ry   r  s	            r   check_slicing2TestLists.check_slicing2  s    T"6*BA!QUBQBFQBFQB?G(00B!!D1''a(=xH  C r   c                 .    U R                  [        5        g r   )rN  rz   r  s    r   test_getslice2TestLists.test_getslice2      N+r   c           
      "   [         n[        SS9" U5      nSS/n[        R                  " X35       H\  u  pESSUS-
  SS	U* S
-   U* S-
  U* /n[        R                  " Xf5       H'  u  pxU" XEXx5      n	U R	                  U" XEXx5      U	5        M)     M^     g rI  )r   r   rK  rL  r   )
r   r   r   rM  rL   r   r;  rx   ry   r  s
             r   test_setslice2TestLists.test_setslice2  s    T"6*B!))%7HA!QUBQBFQBFQB?G(00B!!E8''a(DhO  C 8r   c           
          [         n[        SS9" U5      nS H`  nSSUS-
  SSU* S	-   U* S-
  U* /n/ S
Qn[        R                  " XDU5       H(  u  pgnU" X6Xx5      n	U R	                  U" X6Xx5      U	5        M*     Mb     g NTr   )r2   r   r   r3   r`   r2  rF   )r   r   r`   r3   )r}   r   rK  rL  r   
r   r   r   rL   r;  stepsrx   ry   r|   r  s
             r   test_getslice3TestLists.test_getslice3      T"6*A!QUBQBFQBFQB?G%E%.%6%6w%O!T!!D7''a(CXN &P r   c           
          [         n[        SS9" U5      nS H`  nSSUS-
  SSU* S	-   U* S-
  U* /n/ S
Qn[        R                  " XDU5       H(  u  pgnU" X6Xx5      n	U R	                  U" X6Xx5      U	5        M*     Mb     g rX  )r   r   rK  rL  r   rZ  s
             r   test_setslice3TestLists.test_setslice3  r^  r   c                 &   U R                  5         [        n[        SS9" U5      nU" SSSSS5        U R                  [        5       nU" SSSS	S5        S S S 5        U R                  S
[        WR                  5      5        g ! , (       d  f       N4= f)NTr   rf   r2   r   r3   r   r   rF   zcannot resize)r  r   r   r	  
ValueErrorr  r  r  r   r   r   r7  s       r   test_setslice3_resizeTestLists.test_setslice3_resize  sw    !)T"6*aQ1z*b!S!Q" +os2<<'89 +*s   B
Bc                 .    U R                  [        5        g r   )r  r   r  s    r   test_delslice0TestLists.test_delslice0      "">2r   c                 .    U R                  [        5        g r   )rN  r   r  s    r   test_delslice1TestLists.test_delslice1  rS  r   c                 .    U R                  [        5        g r   )rN  r   r  s    r   test_delslice2TestLists.test_delslice2  rS  r   c                    U R                  5         [        n[        SS9" U5      nU R                  [        5       nU" SSSS5        S S S 5        U R                  [        WR                  5      S5        g ! , (       d  f       N4= f)NTr   r2   r   r3   r   zslice step cannot be zero)r  r}   r   r	  rc  r   r  r  rd  s       r   test_invalid_sliceTestLists.test_invalid_slice  sh    !T"6*z*b"aA +R\\*,GH +*s   A55
Bc                 .    U R                  [        5        g r   )r  r   r  s    r   test_iterationTestLists.test_iteration!  rj  r   c                 .    U R                  [        5        g r   )r  r   r  s    r   test_reverseTestLists.test_reverse$  rD  r   c                 .    U R                  [        5        g r   )r  r   r  s    r   test_containsTestLists.test_contains'  s    ""=1r   c                      U" U6 nU R                  U" U6 U5        g ! [         a8    U R                  [        5         U" U6   S S S 5         g ! , (       d  f        g = ff = fr   )r   rc  r	  )r   r   r   r  r  s        r   check_index_resultTestLists.check_index_result*  s[    	<t}H
 ##E4L(;	  	"":.t /...	s&    AAA
A	AAc                     U R                  5         [        n[        SS9" U5      nS H  nU R                  XSU45        M     g )NTr   r   r   rf   r2   ir   )r  r   r   r~  r   r   r   r   s       r   test_index1TestLists.test_index13  s@    !T"6*(A##FB7; )r   c                     U R                  5         [        n[        SS9" U5      nSnS H<  nSSUS-
  US-
  US-   SS	U* S
-   U* S-
  /	nU H  nU R                  XSXF45        M     M>     g NTr   r   r  r   r   r3   r`   r2  rF   )r  r   r   r~  )r   r   r   rL   r   r;  rx   s          r   test_index2TestLists.test_index2:  s    !T"6*(A!QUAE1q5"b1"q&1"q&IG ''A~F ! )r   c                    U R                  5         [        n[        SS9" U5      nSnS HS  nSSUS-
  US-
  US-   SS	U* S
-   U* S-
  /	n[        R                  " XU5       H  u  pgU R                  XSXFU45        M     MU     g r  )r  r   r   rK  rL  r~  )r   r   r   rL   r   r;  rx   ry   s           r   test_index3TestLists.test_index3D  s    !T"6*(A!QUAE1q5"b1"q&1"q&IG(00B''Ad7KL  C )r   c                     [         n[        SS9" U5      nSnU R                  [        R                  U5         U" SSSS5        S S S 5        g ! , (       d  f       g = f)NTr   zarg "start" must be an Integer.r2   r   invalidrf   r   r   assertRaisesRegexr
   r
  r   r   r   msgs       r   test_index_exception1TestLists.test_index_exception1N  sK    T"6*/##F$6$6<"aA& =<<   A
Ac                     [         n[        SS9" U5      nSnU R                  [        R                  U5         U" SSSS5        S S S 5        g ! , (       d  f       g = f)NTr   zarg "stop" must be an Integer.r2   r   r  r  r  s       r   test_index_exception2TestLists.test_index_exception2U  sK    T"6*.##F$6$6<"aI& =<<r  c                     [         n[        SS9" U5      nSnS H#  nU" X45      nU R                  U" X45      U5        M%     g )NTr   r   )r   r   rf      )r   r   r   r   r   r   rL   r   r  s         r   test_removeTestLists.test_remove\  sB    T"6*Aa|H##E!K: r   c                    U R                  5         [        n[        SS9" U5      nU R                  [        5       nU" SS5        S S S 5        U R                  [        WR                  5      S5        g ! , (       d  f       N4= f)NTr   r2   rV   zlist.remove(x): x not in list)r  r   r   r	  rc  r   r  r  rd  s       r   test_remove_errorTestLists.test_remove_errord  sc    !T"6*z*b"bM +R\\*,KL +*s   
A33
Bc                     [         n[        SS9" U5      n[        S5       H#  nU R                  U" SU5      U" SU5      5        M%     g )NTr   rf      )r   r   r6   r   r  s       r   
test_countTestLists.test_countl  s@    T"6*qA##E"aL&Q-@ r   c                 .    U R                  [        5        g r   )r  r   r  s    r   
test_clearTestLists.test_clearr  s    "":.r   c                 .    U R                  [        5        g r   )r  r   r  s    r   	test_copyTestLists.test_copyu  r.  r   c                     [        SS9" U5      n/ SQn[        R                  " X35       H%  u  pEU" XE5      nU R                  U" XE5      U5        M'     g )NTr   r   rF   2   ,  rJ  )r   r   r   rM  r   rL   r  s          r   	check_addTestLists.check_addx  sJ    T"6*%%e3DAa|H##E!K: 4r   c                 .    U R                  [        5        g r   )r  r   r  s    r   test_addTestLists.test_add      x r   c                 j    [         n[        SS9" U5      nU" 5       nU R                  U" 5       U5        g NTr   )r   r   r   r   r   r   r  s       r   test_add_heterogeneous TestLists.test_add_heterogeneous  s/    'T"6*8(+r   c                 .    U R                  [        5        g r   )r  r   r  s    r   test_add_inplaceTestLists.test_add_inplace      '(r   c                 j    [         n[        SS9" U5      nU" 5       nU R                  U" 5       U5        g r  )r   r   r   r  s       r   test_add_inplace_heterogeneous(TestLists.test_add_inplace_heterogeneous  s/    /T"6*8(+r   c                     [        SS9" U5      nS H,  nS H#  nU" X45      nU R                  U" X45      U5        M%     M.     g )NTr   r  )r   r3   rF   r   r`   ir   r   r  s         r   	check_mulTestLists.check_mul  sB    T"6* A*!!<''aX> + !r   c                 .    U R                  [        5        g r   )r  r   r  s    r   test_mulTestLists.test_mul  r  r   c                 .    U R                  [        5        g r   )r  r   r  s    r   	test_mul2TestLists.test_mul2  s    y!r   c                 .    U R                  [        5        g r   )r  r   r  s    r   test_mul_inplaceTestLists.test_mul_inplace  r  r   l        z,need a 64-bit system to test for MemoryErrorc                    U R                  5         [        n[        SS9" U5      nU R                  [        5         U" SS5        S S S 5        [
        R                  R                  S5      (       a6  [        R                  " S5      nUR                  SR                  S5      5        U R                  [        5         U" SS	5        S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)
NTr   r   l           darwinz
libc.dylibz###Please ignore the above error message i.e. can't allocate region. It is in fact the purpose of this test to request more memory than can be provided###
zUTF-8l            )r  r   r   r	  MemoryErrorsysplatform
startswithctCDLLprintfencode)r   r   r   libcs       r   test_mul_errorTestLists.test_mul_error  s     	!T"6*{+!UO ,<<""8,,77<(DKK //5vg@ {+!UO ,+ ,+ ,+s   
C<
C 
C 
C.c                     [         n[        SS9" U5      nS H#  nU" U5      nU R                  U" U5      U5        M%     g )NTr   )r   r   rF   )r   r   r   )r   r   r   rL   r  s        r   	test_boolTestLists.test_bool  s=    T"6*AayH##E!Hh7 r   c                 x   ^ [        SS9S 5       m[        SS9U4S j5       nU R                  U" S5      S5        g )NTr   c                 "    [        U 5      U S   4$ Nr`   r!   )lsts    r   inner*TestLists.test_list_passing.<locals>.inner  s    s8SW$$r   c                 <   > [        [        U 5      5      nT" U5      $ r   rI   )rL   rY   r  s     r   outer*TestLists.test_list_passing.<locals>.outer  s    U1XA8Or   rf   )rf   r   r  )r   r  r  s     @r   test_list_passingTestLists.test_list_passing  sI    	d		% 
	% 
d		 
	 	a&1r   c                    ^ ^^ UUU 4S jn[        SS9" T5      mU" S5        U" S5        U" S5        U" S5        U" S5        U" S	5        g )
Nc                 @   > TR                  T" U 6 T" U 6 SU < 35        g )Nzmismatch for arguments )assertIs)r  r   r   r   s    r   r   #TestLists._test_compare.<locals>.eq  s"    MM%,9=?Ar   Tr   )r   r3   r  )r   r3   rF   r  )r  r  ))r   r3   r   r  ))      ?r         @r  ))r  r   g      @r  r   )r   r   r   r   s   `` @r   _test_compareTestLists._test_compare  sP    	A T"6*



!"
'(
'(r   c                 .    U R                  [        5        g r   )r  r   r  s    r   test_eqTestLists.test_eq      :&r   c                 .    U R                  [        5        g r   )r  r   r  s    r   test_neTestLists.test_ne  r  r   c                 .    U R                  [        5        g r   )r  r   r  s    r   test_leTestLists.test_le  r  r   c                 .    U R                  [        5        g r   )r  r   r  s    r   test_ltTestLists.test_lt  r  r   c                 .    U R                  [        5        g r   )r  r   r  s    r   test_geTestLists.test_ge  r  r   c                 .    U R                  [        5        g r   )r  r   r  s    r   test_gtTestLists.test_gt  r  r   c                 j    [         n[        SS9" U5      nU R                  U" S5      U" S5      5        g )NTr   rF   )r   r   r   r   s      r   test_identityTestLists.test_identity  s.    !T"6*a&)4r   c                 f    [         n[        SS9" U5      nU R                  U" 5       U" 5       5        g r  )r   r   r   r   s      r   test_bool_listTestLists.test_bool_list  s*    "T"6*2r   r   N)T)G__name__
__module____qualname____firstlineno__r   r   r  r  r  r  r  r"  r&  r)  r,  r3  r8  r<  r?  rB  rF  rN  rQ  rU  r\  r`  re  rh  rl  ro  rr  ru  rx  r{  r~  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  unittest
skipUnlessr  maxsizer  r  r  r  r  r  r  r  r  r  r  r
  __static_attributes__r   r   r   r   r   {  sq   :
L$5	H30M0M.?	FC-11I,POO
:3,,I312<<GM'';MA/.;!,),?!") -GII 82)''''''5
3r   r   c                   `    \ rS rSrSr\R                  S 5       rS rS r	S r
S rS rS	 rS
rg)TestUnboxingi  z8
Test unboxing of Python lists into native Numba lists.
c              #      #    U R                  [        5       nS v   S S S 5        Ub&  U R                  [        WR                  5      U5        g g ! , (       d  f       N8= f7fr   )r	  	TypeErrorassertRegexr  r  )r   r  r  s      r   assert_type_errorTestUnboxing.assert_type_error  sJ     y)V *?S!1!12C8  *)s   A A2A 
AA c                 :   ^ ^^ [        SS9" T5      mUUU 4S jnU$ )NTr   c                 H   > T" U 5      nT" U 5      nTR                  X!5        g r   )r   )r  r  r  r   r   r   s      r   check'TestUnboxing.check_unary.<locals>.check   s#    c{H*C##C2r   r  )r   r   r  r   s   `` @r   check_unaryTestUnboxing.check_unary  s    T"6*	3 r   c                 V    U R                  [        5      nU" SS/5        U" SS/5        g )Nr   r3                 ?y              @)r  r   r   r  s     r   test_numbersTestUnboxing.test_numbers  s)      /q!fr4jr   c                 j    U R                  [        5      nU" SS/5        U" SS/5        U" / SQ5        g )Nr  )rF   r   )r                  @)rF   y              @)r   r   r   )r  r#   r#  s     r   test_tuplesTestUnboxing.test_tuples  s4      0vvw !lr   c                 F    U R                  [        5      nU" S/ SQ45        g )Nr   )r3   rF   r   )r  r&   r#  s     r   test_list_inside_tuple#TestUnboxing.test_list_inside_tuple  s      0q)nr   c                 F    U R                  [        5      nU" SSS/45        g )Nr   )r3   )rF   )r  r(   r#  s     r    test_list_of_tuples_inside_tuple-TestUnboxing.test_list_of_tuples_inside_tuple  s#      0q4, r   c                    Sn[         n[        SS9" U5      nSS/nU R                  U5         U" U5        S S S 5        U R                  USS/5        U R                  U5         U" SS/5        S S S 5        U R                  U5         U" SSS/45        S S S 5        U R                  U5         U" [	        SSS/5      5        S S S 5        SS/nU R                  [        5       nU" U5        S S S 5        S	nU R                  [        WR                  5      UR                  [        R                  5      5        g ! , (       d  f       GN
= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f)
Nzcan't unbox heterogeneous listTr   r   g      @r'  r   )r3   rF   zFcan't unbox heterogeneous list: UniTuple({0} x 1) != UniTuple({0} x 2))r   r   r  r   r   r	  r  r  r  formatr	   intp)r   r  r   r   r  r  s         r   test_errorsTestUnboxing.test_errors  s@    /T"6*#h##C(#J ) 	q#h'##C(1b'N ) ##C(1q"g, )##C(%Ar7#$ ) Vny)V#J *9V--.

5::0FG% )( )( )(((
 *)s;   	D9#EE-E-#	E>9
E
E
E*-
E;>
Fr   N)r  r  r  r  __doc__
contextlibcontextmanagerr  r  r$  r(  r+  r.  r4  r  r   r   r   r  r    s@     9 9
!Hr   r  c                   <    \ rS rSrSrS rS rS rS rS r	S r
S	rg
)TestListReflectioni6  z?
Test reflection of native Numba lists on Python list objects.
c                 z   [        SS9" U5      n/ SQS/4/ SQ/ SQ4/nU H  u  pE[        U5      n[        U5      nU" Xe5      nU R                  Xu5         U" Xu5      n	U R                  X5        U R                  Xg5        U R	                  US   UL U	S   UL 5        AA	S S S 5        M     g ! , (       d  f       M  = f)NTr   )r  r   r  r           )g      @g      @g      @g       @g      "@r   )r   rJ   assertRefCountr   r   )
r   r   r   samplesdestsrcr  r  pyrescress
             r   check_reflection#TestListReflection.check_reflection;  s    T"6*$rd+$&:; !IDDzHt*C8)E$$S.S''4''6  qX!5tAw#~F4 /.	 ! /.s   A	B++
B:	c                 .    U R                  [        5        g r   )rC  r   r  s    r   test_reflect_simple&TestListReflection.test_reflect_simpleK  s    n-r   c                 .    U R                  [        5        g r   )rC  r   r  s    r   test_reflect_conditional+TestListReflection.test_reflect_conditionalN  s    12r   c                 "   [         n[        SS9" U5      n/ SQnU R                  U5         U R                  [        5         U" U5        SSS5        U R                  U/ SQ5        SSS5        g! , (       d  f       N+= f! , (       d  f       g= f)zM
When the function exits with an exception, lists should still be
reflected.
Tr   r  N)r   r3   rF   rV   )r   r   r=  r	  r   r   )r   r   r   rY   s       r   test_reflect_exception)TestListReflection.test_reflect_exceptionQ  sn    
 #T"6*  #""#45a 6##A}5 $#55 $#s#   B 	A/
B /
A=	9B  
Bc                     [         n[        SS9" U5      n/ SQnUSS nU" X35      nU" XD5      nU R                  XV5        U R                  X45        U R                  X45        g)zO
When the same list object is reflected twice, behaviour should
be consistent.
Tr   r  N)r   r   r   assertRefCountEqual)r   r   r   pylistclistr  r  s          r   test_reflect_same_list)TestListReflection.test_reflect_same_list^  sd    
 T"6*q	&)E!..  /r   c                     [        SS9" [        5      nS/nU Vs/ s H  n[        U5      PM     nnU" U5        U R                  U Vs/ s H  n[        U5      PM     snU5        gs  snf s  snf )z@
When the list wasn't mutated, no reflection should take place.
Tr   y              )@N)r   r   idr   )r   r   rY   r   idss        r   test_reflect_clean%TestListReflection.test_reflect_cleanm  sd     T"4(G ar!ua a+A"Q%+S1 !+s   A'	A,r   N)r  r  r  r  r6  rC  rF  rI  rL  rR  rW  r  r   r   r   r:  r:  6  s%      .360	2r   r:  c                       \ rS rSrS rSrg)ManagedListTestCaseiy  c                     U R                  [        U5      [        U5      5        [        X5       H  u  p4U R                  X45        M     g r   )r   r"   zipr   )r   expectr  r   r   s        r   !assert_list_element_precise_equal5ManagedListTestCase.assert_list_element_precise_equal{  s9    Vc#h/$DA##A) %r   r   N)r  r  r  r  r^  r  r   r   r   rZ  rZ  y  s    *r   rZ  c                   r    \ 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)TestListManagedElementsi  z,Test list containing objects that need refctc                 X   [        SS9" U5      n[        R                  " S5      R                  [        R                  5      [        R                  " S5      R                  [        R                  5      /n[        U5      nU" U5        [        U5      nU" U5        U R                  XES9  g )NTr   rF   rf   r]  r  )r   r  arangeastyper3  rJ   r^  )r   r   r   conr]  r  s         r   _check_element_equal,TestListManagedElements._check_element_equal  s    T"6*yy|""277+RYYq\-@-@-IJcv3ic
.. 	/ 	r   c                 ,    S nU R                  U5        g )Nc                     g r   r   rf  s    r   r   =TestListManagedElements.test_reflect_passthru.<locals>.pyfunc      r   rg  r   r   s     r   test_reflect_passthru-TestListManagedElements.test_reflect_passthru  s    	!!&)r   c                 ,    S nU R                  U5        g )Nc                     U R                  [        R                  " S5      R                  [        R                  5      5        g r?   )rR   r  rd  re  r3  rk  s    r   r   =TestListManagedElements.test_reflect_appended.<locals>.pyfunc  s%    JJryy}++BGG45r   rn  ro  s     r   test_reflect_appended-TestListManagedElements.test_reflect_appended  s    	6 	!!&)r   c                 ,    S nU R                  U5        g )Nc                 6    [         R                  " S5      U S'   g )Nr2   r   )r  rd  rk  s    r   r   <TestListManagedElements.test_reflect_setitem.<locals>.pyfunc  s    YYr]CFr   rn  ro  s     r   test_reflect_setitem,TestListManagedElements.test_reflect_setitem  s    	# 	!!&)r   c                 ,    S nU R                  U5        g )Nc                 $    U R                  5         g r   rj   rk  s    r   r   ;TestListManagedElements.test_reflect_popped.<locals>.pyfunc  s    GGIr   rn  ro  s     r   test_reflect_popped+TestListManagedElements.test_reflect_popped  s    	 	!!&)r   c                 ,    S nU R                  U5        g)zQmake sure list.insert() doesn't crash for refcounted objects (see #7553)
        c                     U R                  S[        R                  " S5      R                  [        R                  5      5        g )Nr   r   )r   r  rd  re  r3  rk  s    r   r   ;TestListManagedElements.test_reflect_insert.<locals>.pyfunc  s'    JJq"))A,--bgg67r   Nrn  ro  s     r   test_reflect_insert+TestListManagedElements.test_reflect_insert  s    	8 	!!&)r   c                 b    S n[        SS9" U5      nU" 5       nU" 5       nU R                  X4S9  g )Nc                      / n [        S5       HE  nU R                  [        R                  " U5      R	                  [        R
                  5      5        MG     U $ )Nr  )r6   rR   r  rd  re  r3  rf  rZ   s     r   r   3TestListManagedElements.test_append.<locals>.pyfunc  s=    C3Z

299Q>009:  Jr   Tr   rc  r   r^  r   r   r   r]  r  s        r   r  #TestListManagedElements.test_append  s<    	 T"6*g.. 	/ 	r   c                 f    S n[        SS9" U5      nU" 5       nU" 5       nU R                  X45        g )Nc                      / n [        S5       H(  nU R                  [        R                  " U5      5        M*     SnU  H%  nX#R	                  5       SUR
                  -   -  -  nM'     U$ )Nr  r<  r   )r6   rR   r  rd  r5   size)rf  rZ   r.   arrs       r   r   9TestListManagedElements.test_append_noret.<locals>.pyfunc  sX    C3Z

299Q<(  AWWY!chh,// Hr   Tr   r   r   r  s        r   test_append_noret)TestListManagedElements.test_append_noret  s4    	 T"6*g%r   c                 b    S n[        SS9" U5      nU" 5       nU" 5       nU R                  X4S9  g )Nc                      / n [        S5       H(  nU R                  [        R                  " S5      5        M*     [        R                  " S5      U S'   U $ )Nrf   r3   r   r   r6   rR   r  rd  r  s     r   r   ;TestListManagedElements.test_reassign_refct.<locals>.pyfunc  s?    C1X

299Q<( YYq\CFJr   Tr   rc  r  r  s        r   test_reassign_refct+TestListManagedElements.test_reassign_refct  <    	 T"6*g.. 	/ 	r   c                 b    S n[        SS9" U5      nU" 5       nU" 5       nU R                  X4S9  g )Nc                  ~    / n [        S5       H(  nU R                  [        R                  " S5      5        M*     U SS $ )Nrf   r3   r   r  r  s     r   r   6TestListManagedElements.test_get_slice.<locals>.pyfunc  s4    C1X

299Q<( q8Or   Tr   rc  r  r  s        r   test_get_slice&TestListManagedElements.test_get_slice  s<    	 T"6*g.. 	/ 	r   c                 b    S n[        SS9" U5      nU" 5       nU" 5       nU R                  X4S9  g )Nc                      / n [        S5       H(  nU R                  [        R                  " S5      5        M*     U SS U SS& U $ )Nrf   r3   r   r   rF   r  r  s     r   r   6TestListManagedElements.test_set_slice.<locals>.pyfunc  s?    C1X

299Q<( 1QxC!HJr   Tr   rc  r  r  s        r   test_set_slice&TestListManagedElements.test_set_slice  r  r   c                 b    S n[        SS9" U5      nU" 5       nU" 5       nU R                  X4S9  g )Nc                      / n [        S5       H+  nU R                  [        R                  " US-   5      5        M-     [	        U 5      S:  a!  U R                  5         [	        U 5      S:  a  M!  U $ )N   r   r3   r6   rR   r  rd  r"   rj   r  s     r   r   0TestListManagedElements.test_pop.<locals>.pyfunc  sT    C2Y

299QU+, c(Q,	 c(Q,Jr   Tr   rc  r  r  s        r   test_pop TestListManagedElements.test_pop  <    	 T"6*g.. 	/ 	r   c                 b    S n[        SS9" U5      nU" 5       nU" 5       nU R                  X4S9  g )Nc                      / n [        S5       H+  nU R                  [        R                  " US-   5      5        M-     [	        U 5      S:  a"  U R                  S5        [	        U 5      S:  a  M"  U $ )Ni  r   r3   r  r  s     r   r   4TestListManagedElements.test_pop_loc.<locals>.pyfunc  sV    C4[

299QU+, !c(Q,
 c(Q,Jr   Tr   rc  r  r  s        r   test_pop_loc$TestListManagedElements.test_pop_loc  r  r   c                 b    S n[        SS9" U5      nU" 5       nU" 5       nU R                  X4S9  g )Nc                      / n [        S5       H+  nU R                  [        R                  " US-   5      5        M-     U SS2	 U $ )Nr  r   rF   r2   r  r  s     r   r   6TestListManagedElements.test_del_range.<locals>.pyfunc!  s>    C2Y

299QU+, AbD	Jr   Tr   rc  r  r  s        r   test_del_range&TestListManagedElements.test_del_range   r  r   c                 f    S n[        SS9" U5      nU" 5       nU" 5       nU R                  X45        g )Nc                  X    / n [        S5       H  nU R                  S/U-  5        M     U $ Nr2   r   )r6   rR   r  s     r   r   9TestListManagedElements.test_list_of_list.<locals>.pyfunc1  s,    C2Y

A37# Jr   Tr   r  r  s        r   test_list_of_list)TestListManagedElements.test_list_of_list0  s4    	 T"6*g%r   r   N)r  r  r  r  r6  rg  rp  ru  rz  r  r  r  r  r  r  r  r  r  r  r  r  r   r   r   ra  ra    sP    2	*
****&"  "" &r   ra  c                    ^  U 4S jnU$ )Nc                    > U R                  5         U R                  [        5       nT" U /UQ70 UD6  S S S 5        SnU R                  U[	        WR
                  5      5        g ! , (       d  f       N6= f)Nz-cannot reflect element of reflected container)r  r	  r  r  r  r  )r   r  kwargsr  
expect_msgfns        r   wrapped*expect_reflection_failure.<locals>.wrapped@  s]    !y)Vt%d%f% *D
j#f&6&6"78 *)s   A$$
A2r   )r  r  s   ` r   expect_reflection_failurer  ?  s    9 Nr   c                       \ rS rSrS rS r\S 5       r\S 5       r\S 5       r	\S 5       r
S rS	 rS
 r\S 5       rS r\S 5       rS rS r\S 5       r\S 5       rS rSrg)TestListOfListiJ  c                     SSK Jn  U" U5      nU" U6 nU" U5      n[        SS9" U5      nU" U6 nU R                  XXS9  U R                  XFS9  g )Nr   )deepcopyTr   rc  )r   r  r   r^  )	r   r   r  r  expect_argsr]  	njit_argsr   r  s	            r   compile_and_testTestListOfList.compile_and_testL  sh    !tn%TN	T"6*Y.. 	/ 	 	.. 	/ 	r   c                 ,    S nU R                  U5        g )Nc                  p    [        S5       V s/ s H  n [        R                  " U 5      /PM     nn U$ s  sn f )Nr   )r6   r  rd  )rZ   r   s     r   r   :TestListOfList.test_returning_list_of_list.<locals>.pyfunc^  s.    ).q2A"))A,A2H 3s   !3r  ro  s     r   test_returning_list_of_list*TestListOfList.test_returning_list_of_list]  s    	 	f%r   c                    S n[        SS9" U5      n[        S5       Vs/ s H  n[        R                  " U5      PM     sn[        S5       Vs/ s H  n[        R                  " U5      S-   PM     sn/n[        S5       Vs/ s H  n[        R                  " U5      PM     snS//nS/S1//nS/SS0//nU" U5        U R                  [        5       nU" U5        S S S 5        U R                  S	[        WR                  5      5        U R                  [        5       nU" U5        S S S 5        U R                  S
[        UR                  5      5        U R                  [        5       nU" U5        S S S 5        U R                  S[        UR                  5      5        U R                  [        5       nU" U5        S S S 5        U R                  S[        UR                  5      5        g s  snf s  snf s  snf ! , (       d  f       GN%= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       Nw= f)Nc                     U S   $ Nr   r   r   s    r   r   <TestListOfList.test_heterogeneous_list_error.<locals>.pyfuncf      Q4Kr   Tr   rf   r"  r1  r   r   Qreflected list(array(float64, 1d, C)) != reflected list(array(complex128, 1d, C))zDreflected list(array(float64, 1d, C)) != reflected list((int64 x 1))z=reflected list(int64) != reflected list(reflected set(int64))z*Cannot type list element of <class 'dict'>)r   r6   r  zerosonesr	  r  r  r  r  rc  )	r   r   r   rZ   l2l3l4l5r  s	            r   test_heterogeneous_list_error,TestListOfList.test_heterogeneous_list_errord  s   	 T"6*$)!H-Hqrxx{H-&+Ah/hrwwqz"}h/1$)!H-Hqrxx{H-v6cQC5\cS!H: 	b	 y)V"I * 	8  !	 y)V"I * 	+  !	 y)V"I *K  !	
 z*f"I +8  !	M ./- *) *) *) +*sA    G-#G2 G7	G< 	H+	H6	H0<
H
H
H-0
H>c                     S n[        SS9" U5      nSS/SS//nSS	/n[        U5      [        U5      4n[        U5      [        U5      4nU" U6   U" U6   U R                  XV5        g )
Nc                 N    U R                  U5        U S   R                  S5        g )Nr`   {   r   )l1r  s     r   r   :TestListOfList.test_list_of_list_reflected.<locals>.pyfunc  s    IIbMrFMM#r   Tr   r   r   r3   rF   r   rf   )r   rJ   r   )r   r   r   r  r  r]  r  s          r   test_list_of_list_reflected*TestListOfList.test_list_of_list_reflected  ss    	 T"6*!fq!fVb48#2hR s%r   c                 <   S n[        S5       Vs/ s H  n[        R                  " U5      PM     sn[        S5       Vs/ s H  n[        R                  " U5      PM     sn/n[	        SS9" U5      nU" U5      nU R                  U" U5      U5        g s  snf s  snf )Nc                     U S   $ r  r   r   s    r   r   6TestListOfList.test_heterogeneous_list.<locals>.pyfunc  r  r   rf   Tr   )r6   r  r  r  r   r   )r   r   rZ   r  r   l1_gots         r   test_heterogeneous_list&TestListOfList.test_heterogeneous_list  s}    	 %*!H-Hqrxx{H-E!H/MHq
H/MNT"6*rr
F3	 ./Ms    B  Bc                 X   S n[         R                  " S5      /[         R                  " S5      S-  //nU R                  X5        U R                  [        5       nU R                  X5        S S S 5        U R                  S[        WR                  5      5        g ! , (       d  f       N4= f)Nc                 "    U R                  5       $ r   r~  r   s    r   bar$TestListOfList.test_c01.<locals>.bar  s    557Nr   r   r2   r"  r  )r  r  r  r	  r  r  r  r  r   r  rr  s       r   test_c01TestListOfList.test_c01  s    	 hhqk]RXXb\"_-. 	c%y)V!!#) *8  !	 *)s   B
B)c                    S n[         R                  " S5      //nU R                  [        R                  5       nU R                  X5        S S S 5        U R                  S[        WR                  5      5        g ! , (       d  f       N4= f)Nc                 (    U R                  U 5        U $ r   r   r   s    r   r  $TestListOfList.test_c02.<locals>.bar  s    HHQKHr   r   z(Invalid use of BoundFunction(list.append)	r  r  r	  r
   r
  r  r  r  r  r  s       r   test_c02TestListOfList.test_c02  si    	 hhqk]Ov112f!!#) 36  !	 32   A;;
B	c           	      b   S n[         R                  " S5      //nU R                  [        R                  5       nU R                  X5        S S S 5        U R                  SR                  [        S5      [        US   5      5      [        WR                  5      5        g ! , (       d  f       NY= f)Nc                     U nSUS'   U$ Nr   r   r   r   fs     r   r  $TestListOfList.test_c03.<locals>.bar  s    AAaDHr   rF   1invalid setitem with value of {} to element of {}r   r   r  rd  r	  r
   r
  r  r  r2  r   r  r  r  s       r   test_c03TestListOfList.test_c03  s    	
 iil^v112f!!#) 3?FFq	qt   !	
 32s   B  
B.c           	      h   S n[         R                  " S5      //nU R                  [        R                  5       nU R                  X5        S S S 5        U R                  SR                  [        S5      [        US   S   5      5      [        WR                  5      5        g ! , (       d  f       N\= f)Nc                     U nSUS   S'   U$ r  r   r  s     r   r  $TestListOfList.test_c04.<locals>.bar  s    AAaDGHr   rF   r  r2   r   r  r  s       r   test_c04TestListOfList.test_c04  s    	
 iil^v112f!!#) 3?FFr
qtAw   !	 32s   B##
B1c                     S n[         R                  " S5      R                  [         R                  5      //nU R	                  X5        g )Nc                     U n[         R                  " [         R                  " S5      R                  [         R                  5       V s/ s H  o PM     sn 5      US   S'   U$ s  sn f r  )r  r  rd  re  r3  r  s     r   r  $TestListOfList.test_c05.<locals>.bar  sP    Ahh299R=+?+?+HI+Ha+HIJAaDGH  Js   A"rF   )r  rd  re  r3  r  r   r  r  s      r   test_c05TestListOfList.test_c05  s9    	
 iil!!"''*+,c%r   c                    S n[         R                  " S5      //nU R                  [        R                  5       nU R                  X5        S S S 5        U R                  S[        WR                  5      5        g ! , (       d  f       N4= f)Nc                     U n[         R                  " [         R                  " S5       V s/ s H  o S-   PM	     sn 5      US   S'   U$ s  sn f )Nr2   r"  r   )r  r  rd  r  s     r   r  $TestListOfList.test_c06.<locals>.bar  s@    Ahh		">1B>?AaDGH  ?s   ArF   invalid setitem with value)	r  rd  r	  r
   r
  r  r  r  r  r  s       r   test_c06TestListOfList.test_c06  sg    	
 iil^v112f!!#) 32C8H8H4IJ 32r  c                 0   U R                  5         S n[        R                  " S5      //n[        SS9" U5      nU R	                  [
        5       nU" U5        S S S 5        U R                  S[        WR                  5      5        g ! , (       d  f       N4= f)Nc                     U S   $ )Nir   r   s    r   r  $TestListOfList.test_c07.<locals>.bar  s    R5Lr   rF   Tr   zgetitem out of range)	r  r  rd  r   r	  r6  r  r  r  r   r  r  r   r  s        r   test_c07TestListOfList.test_c07  su    !	 iil^T"3'z*f!H +,c&2B2B.CD +*s   	B
Bc                    U R                  5         S n/ SQn[        SS9" U5      nU R                  [        5       nU" U5        S S S 5        U R	                  S[        WR                  5      5        g ! , (       d  f       N4= f)Nc                     SU S'   U $ )Nr  rf   r   r   s    r   r  $TestListOfList.test_c08.<locals>.bar  s    AaDHr   r  Tr   zsetitem out of range)r  r   r	  r6  r  r  r  r  s        r   test_c08TestListOfList.test_c08  sh    !	 T"3'z*f!H +,c&2B2B.CD +*s   	A33
Bc                     S n/ SQnU R                  [        R                  5       nU R                  X5        S S S 5        U R	                  S[        WR                  5      5        g ! , (       d  f       N4= f)Nc                     SU S'   U $ )Ny              @r2  r   r   s    r   r  $TestListOfList.test_c09.<locals>.bar"  s    AbEHr   r  r  )r	  r
   r
  r  r  r  r  r  s       r   test_c09TestListOfList.test_c09!  sZ    	 v112f!!#) 32C8H8H4IJ 32s   A''
A5c                 <    S n/ SQ/ SQ/nU R                  X5        g )Nc                 (    U S   U S   sU S'   U S'   U $ r   r   r   s    r   r  $TestListOfList.test_c10.<locals>.bar-  s"    1qtJAaD!A$Hr   r  r   rf   r   r  r  s      r   test_c10TestListOfList.test_c10+  !    	 	"c%r   c                 <    S n/ SQ/ SQ/nU R                  X5        g )Nc                     U S S S2   U S S & U $ r  r   r   s    r   r  $TestListOfList.test_c11.<locals>.bar6  s    TrT7AaDHr   r  r,  r  r  s      r   test_c11TestListOfList.test_c114  r/  r   c                 j    S n[        S5       Vs/ s H  o"PM     nnU R                  X5        g s  snf )Nc                     U S	 U $ r  r   r   s    r   r  $TestListOfList.test_c12.<locals>.bar>  s    "Hr   r2   )r6   r  )r   r  r   r  s       r   test_c12TestListOfList.test_c12=  s4    	 b	"	1Q	"c% #s   0r   N)r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r"  r'  r-  r3  r8  r  r   r   r   r  r  J  s    "& . .` & & 4 4  "
$" & &	K 
E 
EEK & & & &&r   r  c                       \ rS rSrS rSrg)ItemiF  c                     Xl         X l        g r   manyscalar)r   r>  r?  s      r   __init__Item.__init__G  s    	r   r=  N)r  r  r  r  r@  r  r   r   r   r;  r;  F  s    r   r;  c                        \ rS rSrS rS rSrg)	ContaineriL  c                     [        U5       Vs/ s H7  n[        R                  " U5      R                  [        R                  5      /PM9     snU l        g s  snf r   )r6   r  rd  re  float64datar   rL   rZ   s      r   r@  Container.__init__M  s9    @EaI1biil))"**56I	Is   >Ac                     [        U5       HP  nU R                  R                  [        R                  " U5      R                  [        R                  5      /5        MR     g r   )r6   rF  rR   r  rd  re  rE  rG  s      r   moreContainer.moreP  s<    qAIIbiil11"**=>? r   )rF  N)r  r  r  r  r@  rJ  r  r   r   r   rC  rC  L  s    J@r   rC  c                   2    \ rS rSrS rS rS rS rS rSr	g)	TestListAndJitClassesiU  c                 ~    S[         R                  S S  4S[         R                  4/n[        U5      " [        5      nU$ )Nr>  r?  )r	   rE  r   r;  )r   specJCItems      r   make_jitclass_element+TestListAndJitClasses.make_jitclass_elementV  s;    U]]1%&u}}%
 $%r   c           	          S[         R                  " [         R                  " [         R                  S S S2   5      S90n[        U5      " [        5      nU$ )NrF  r   )dtype)r	   ListrE  r   rC  )r   rO  JCContainers      r   make_jitclass_container-TestListAndJitClasses.make_jitclass_container^  sC    EJJUZZcc0B%CD
 tnY/r   c                 <    [        X#5       H  u  pEU" XE5        M     g r   )r\  )r   testerr]  r  r   r*   s         r   assert_list_element_with_tester5TestListAndJitClasses.assert_list_element_with_testere  s    $DA1L %r   c           	      z  ^  T R                  5       nS nU 4S jn[        SS9" U5      n[        S5       Vs/ s H-  nU" [        R                  R	                  US-   5      US-  S9PM/     nn[        U5      n[        U5      nU" U5      n	U" U5      n
T R                  X7U5        T R                  X9U
5        g s  snf )	Nc                 (    U S   U S   sU S'   U S'   U $ r   r   )xss    r   r   ETestListAndJitClasses.test_jitclass_instance_elements.<locals>.pyfuncl  s"    a5"Q%LBqE2a5Ir   c                    > TR                  U R                  UR                  5        TR                  U R                  UR                  5        g r   )r   r>  r?  )r   r*   r   s     r   r   ATestListAndJitClasses.test_jitclass_instance_elements.<locals>.eqp  s3    ##AFFAFF3##AHHahh7r   Tr   rf   r   g333333?r=  )rQ  r   r6   r  randomrJ   r[  )r   rP  r   r   r   rL   r  
expect_arggot_arg
expect_resgot_ress   `          r   test_jitclass_instance_elements5TestListAndJitClasses.test_jitclass_instance_elementsi  s    ++-		8 T"6* a" 1 299++AE21s7C  	 " #Y
s)J'
.,,RWE,,RWE"s   4B8c                    U R                  5       n[        SS9nU" SS9nU R                  UR                  UR                  5        UR	                  S5        UR	                  S5        U R                  UR                  UR                  5        g )Nr   rK   rF   )rW  rC  r^  rF  rJ  )r   rV  r]  r  s       r   test_jitclass_containing_list3TestListAndJitClasses.test_jitclass_containing_list  si    224QA..sxxEA..sxxEr   r   N)
r  r  r  r  rQ  rW  r[  rh  rk  r  r   r   r   rM  rM  U  s    F2Fr   rM  c                   6    \ rS rSrSrS rS rS rS rS r	Sr
g	)
TestListInitialValuesi  z5Tests that lists carry their initial value if presentc                 b   ^ ^ S m[        T5      U 4S j5       n[        U4S j5       nU" 5         g )Nc                     g r   r   r   s    r   r  ?TestListInitialValues.test_homogeneous_and_literal.<locals>.bar      r   c                    > U R                   c  S $ TR                  [        U [        R                  5      5        TR                  U R                   / SQ5        TR                  [        U S5      S5        S $ )Nc                     [        U 5      $ r   r   r   s    r   <lambda>TTestListInitialValues.test_homogeneous_and_literal.<locals>.ol_bar.<locals>.<lambda>      1r   r  literal_valueFc                     U $ r   r   r   s    r   rv  rw        Qr   )initial_value
assertTrue
isinstancer	   rU  r   hasattrrY   r   s    r   ol_barBTestListInitialValues.test_homogeneous_and_literal.<locals>.ol_bar  s[    &--OOJq%**56Q__i8WQ8%@r   c                     > / SQn T" U 5        g )Nr  r   r   r  s    r   foo?TestListInitialValues.test_homogeneous_and_literal.<locals>.foo  s     AFr   r   r   r   r  r  r  s   `  @r   test_homogeneous_and_literal2TestListInitialValues.test_homogeneous_and_literal  s;    	 
#	 
	 
	 
	
 	r   c                 b   ^ ^ S m[        T5      U 4S j5       n[        U4S j5       nU" 5         g )Nc                     g r   r   r   s    r   r  QTestListInitialValues.test_heterogeneous_but_castable_to_homogeneous.<locals>.bar  rr  r   c                    > TR                  [        U [        R                  5      5        TR	                  U R
                  S 5        TR	                  [        U S5      S5        S $ )Nry  Fc                     U $ r   r   r   s    r   rv  fTestListInitialValues.test_heterogeneous_but_castable_to_homogeneous.<locals>.ol_bar.<locals>.<lambda>  r{  r   )r}  r~  r	   rU  r   r|  r  r  s    r   r  TTestListInitialValues.test_heterogeneous_but_castable_to_homogeneous.<locals>.ol_bar  sK    OOJq%**56Q__d3WQ8%@r   c                     > / SQn T" U 5        g )N)r"  r3   rF   r   r  s    r   r  QTestListInitialValues.test_heterogeneous_but_castable_to_homogeneous.<locals>.foo  s     AFr   r  r  s   `  @r   .test_heterogeneous_but_castable_to_homogeneousDTestListInitialValues.test_heterogeneous_but_castable_to_homogeneous  s;    	 
#	 
	 
	 
	 	r   c                 b   ^ ^ S m[        T5      U 4S j5       n[        U4S j5       nU" 5         g )Nc                     g r   r   r   s    r   r  <TestListInitialValues.test_mutation_not_carried.<locals>.bar  rr  r   c                    > U R                   c  S $ TR                  [        U [        R                  5      5        TR                  U R                   / SQ5        S $ )Nc                     [        U 5      $ r   ru  r  s    r   rv  QTestListInitialValues.test_mutation_not_carried.<locals>.ol_bar.<locals>.<lambda>  rx  r   r  c                     U $ r   r   r  s    r   rv  r    r{  r   )r|  r}  r~  r	   rU  r   )r   r   s    r   r  ?TestListInitialValues.test_mutation_not_carried.<locals>.ol_bar  sD    &--OOJq%**56Q__i8r   c                  @   > / SQn U R                  S5        T" U 5        g )Nr  r   r   r  s    r   r  <TestListInitialValues.test_mutation_not_carried.<locals>.foo  s     AHHQKFr   r  r  s   `  @r   test_mutation_not_carried/TestListInitialValues.test_mutation_not_carried  s;    	 
#	 
	 
	 
	 	r   c                 "  ^^^ [         S 5       nUS 4[        / SQ44 Hn  u  mn[         S 5       mS m[        T5      UU4S j5       n[         U4S j5       nU" 5         TR                  S   S   nU R	                  UR
                  U5        Mp     g )Nc                      g r   r   )r  s    r   nopLTestListInitialValues.test_mutation_not_carried_single_function.<locals>.nop      r   r  c                     g r   r   r   s    r   bazLTestListInitialValues.test_mutation_not_carried_single_function.<locals>.baz  s    r   c                     g r   r   )r+   s    r   r  LTestListInitialValues.test_mutation_not_carried_single_function.<locals>.bar  s    r   c                    > UU4S jnU$ )Nc                 &   > T" U 5        T" U 5        g r   r   )r+   r  r  s    r   impl]TestListInitialValues.test_mutation_not_carried_single_function.<locals>.ol_bar.<locals>.impl  s    qEFr   r   )r+   r  r  r  s     r   r  OTestListInitialValues.test_mutation_not_carried_single_function.<locals>.ol_bar  s     r   c                  B   > / SQn T" U 5        U R                  S5        U $ )Nr  r3   r   r  s    r   r  LTestListInitialValues.test_mutation_not_carried_single_function.<locals>.foo  s    Ar   r   )r   r   r   
signaturesr   r|  )	r   r  ivr  r  largr  r  r  s	         @@@r   )test_mutation_not_carried_single_function?TestListInitialValues.test_mutation_not_carried_single_function  s     
	 
	 DkIy#99FB  c]    E >>!$Q'DT//45 :r   c                    ^ [         S 5       m[         U4S j5       nU" 5         TR                  S   S   nU R                  UR                  S 5        U R                  UR                  R                  S 5        g )Nc                     g r   r   r   s    r   r  9TestListInitialValues.test_list_of_list_ctor.<locals>.bar  r  r   c                  &   > / SQ/ SQ/n T" U 5        g )N)r   r3   rF   r   rf   )r   r3   rF   r   r   r   r  s    r   r  9TestListInitialValues.test_list_of_list_ctor.<locals>.foo  s     /2AFr   r   )r   r  r   r|  rT  )r   r  r  r  s      @r   test_list_of_list_ctor,TestListInitialValues.test_list_of_list_ctor  ss    		 
	 
	 
	 	~~a #++T21148r   r   N)r  r  r  r  r6  r  r  r  r  r  r  r   r   r   rn  rn    s    ?*,,!5F9r   rn  c                   t    \ 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)TestLiteralListsi  c                 *    [         S 5       nU" 5         g )Nc                      SS/n g )Nr   r   r   r   s    r   r  0TestLiteralLists.test_basic_compile.<locals>.foo  s    CAr   )r   r   r  s     r   test_basic_compile#TestLiteralLists.test_basic_compile  s    		 
	 	r   c                 b   ^ ^ S m[        T5      U 4S j5       n[        U4S j5       nU" 5         g )Nc                     g r   r   r   s    r   r  <TestLiteralLists.test_literal_value_passthrough.<locals>.bar  rm  r   c           	      j  > TR                  [        U [        R                  5      5        U R                  nTR                  [        U[
        5      5        TR                  US   [        R                  " S5      5        TR                  US   [        R                  " S5      5        TR                  US   [        R                  " [        R                  SS5      5        TR                  US   [        R                  " [        R                  S/ SQS	95        TR                  [        US
   [        R                  5      5        TR                  US
   R                  S   [        R                  " S5      5        TR                  US
   R                  S   [        R                  " S5      5        S $ )Nr   r   r   r3   CrF   Fr  )	reflectedr|  r   catr2   c                     U $ r   r   r   s    r   rv  QTestLiteralLists.test_literal_value_passthrough.<locals>.ol_bar.<locals>.<lambda>   r{  r   )r}  r~  r	   LiteralListry  rJ   r   literalArrayrE  rU  r3  )r   lvr   s     r   r  ?TestLiteralLists.test_literal_value_passthrough.<locals>.ol_bar  s6   OOJq%*;*;<=BOOJr401RUEMM!$45RUEMM#$67RUEKKq#$FGRUEJJuzzU=F%H IOOJr!ue.?.?@ARU003U]]55IJRU003U]]25FGr   c                  ^   > / SQn SS/n[         R                  " S5      nSSX U/nT" U5        g )Nr  r  r2   rf   r   r   r  r  )otherhomogeneouslistotherheterogeneouslistr  rY   r  s       r   r  <TestLiteralLists.test_literal_value_passthrough.<locals>.foo"  s6    #, &+R["HHQKEC6LMAFr   r  r  s   `  @r   test_literal_value_passthrough/TestLiteralLists.test_literal_value_passthrough  s;    	 
#	 
	 
	 
	 	r   c                 b   ^ ^ S m[        T5      U 4S j5       n[        U4S j5       nU" 5         g )Nc                     g r   r   r   s    r   r  ETestLiteralLists.test_literal_value_involved_passthrough.<locals>.bar.  rm  r   c                 b  >^ TR                  [        U [        R                  5      5        U R                  n[        R
                  " S5      [        R
                  " S5      [        R
                  " S5      [        R                  " [        R                  SS5      0n[        R                  " U5      n[        R
                  " S5      [        R                  " [        R
                  " S5      [        R
                  " S5      [        R                  " [        R                  [        R                  SS0S9U/5      [        R
                  " S	5      [        R
                  " S
5      [        R
                  " S5      [        R                  " [        R                  SS90nUU4S jmT" X5        S $ )NghrZ   r   r  r   r  )r|  r   r3   r.   F)r  c                   > [        U [        R                  5      (       af  [        U[        R                  5      (       aG  [        U R                  UR                  5       H"  u  p#T" U R                  UR                  5        M$     g [        U [
        5      (       a2  [        U[
        5      (       a  [        X5       H  u  p#T" X#5        M     g [        U [        R                  5      (       az  [        U[        R                  5      (       a[  [        U R                  R                  5       UR                  R                  5       5       H  u  u  pEu  pgT" XF5        T" XW5        M     g [        U [        5      (       a\  [        U[        5      (       aG  [        U R                  5       UR                  5       5       H  u  u  pEu  pgT" XF5        T" XW5        M     g T	R                  X5        g r   )
r~  r	   r  r\  ry  rJ   LiteralStrKeyDictitemsdictr   )
r   r   rZ   jkivikjvj
check_samer   s
           r   r  \TestLiteralLists.test_literal_value_involved_passthrough.<locals>.ol_bar.<locals>.check_sameD  s[   q%"3"344q%"3"344 #AOOQ__ E"1??AOOD !F D))4(( #A	"1( !* E$;$;<< E$;$;<<.1!//2G2G2I23//2G2G2I/K*(2"2*"2*/K !D)) D)).1!'')QWWY.G*(2"2*"2* /H $$Q*r   c                     U $ r   r   r   s    r   rv  ZTestLiteralLists.test_literal_value_involved_passthrough.<locals>.ol_bar.<locals>.<lambda>[  r{  r   )r}  r~  r	   r  ry  r  r  rE  r  DictTypeunicode_typer3  rU  
complex128)r   dlvinner_literal
inner_dictouter_literalr  r   s        @r   r  HTestLiteralLists.test_literal_value_involved_passthrough.<locals>.ol_bar1  s.   OOJq%*A*ABC//C"]]3/s1C"]]3/!&U]]As!CEM 00?J"]]3/!--u}}Q/?/4}}S/A/4~~383E3E38::BEq0K 0:/; < c*EMM!,<c*EJJu7G7GAF-H
IM+, s*r   c                  `   > SSSS0S[         R                  " S5      S./S/ SQS	.n T" U 5        g )
Nr   r   r  r  rf   )r  rZ   r3   )r"  r'                @)r   r   r.   r  rY   r  s    r   r  ETestLiteralLists.test_literal_value_involved_passthrough.<locals>.foo]  s5    
 #Qxs!)EFQ"$AFr   r  r  s   `  @r   'test_literal_value_involved_passthrough8TestLiteralLists.test_literal_value_involved_passthrough,  s<    	 
#)	 
)	V 
	 
	 	r   c           
         S nS nS nS nS nS nS nS nS	 n	S
 n
XX4XVUXU
4
nU H  nU R                  UR                  5         U R                  [        R                  5       n[        U5      " 5         S S S 5        SnU R                  U[        WR                  5      5        S S S 5        M     g ! , (       d  f       NB= f! , (       d  f       M  = f)Nc                      SS/n SU S'   g )Nr   r   r   r   r   r   s    r   staticsetitem=TestLiteralLists.test_mutation_failure.<locals>.staticsetitemj  s    aAAaDr   c                      SS/n U S	 g Nr   r   r   r   r   s    r   delitem7TestLiteralLists.test_mutation_failure.<locals>.delitemn  s    aA!r   c                  .    SS/n U R                  S5        g )Nr   r   r'  r   r   s    r   rR   6TestLiteralLists.test_mutation_failure.<locals>.appendr  s    aAHHRLr   c                  2    SS/n U R                  SS/5        g )Nr   r   r'  r  )rb   r   s    r   rb   6TestLiteralLists.test_mutation_failure.<locals>.extendv  s    aAHHb"Xr   c                  0    SS/n U R                  SS5        g )Nr   r   r   r'  )r   r   s    r   r   6TestLiteralLists.test_mutation_failure.<locals>.insertz  s    aAHHQOr   c                  .    SS/n U R                  S5        g Nr   r   )r   r   s    r   r   6TestLiteralLists.test_mutation_failure.<locals>.remove~  s    aAHHSMr   c                  ,    SS/n U R                  5         g r  r~  r   s    r   rj   3TestLiteralLists.test_mutation_failure.<locals>.pop  s    aAEEGr   c                  ,    SS/n U R                  5         g r  )r   r   s    r   r   5TestLiteralLists.test_mutation_failure.<locals>.clear  s    aAGGIr   c                  ,    SS/n U R                  5         g r  )sortr   s    r   r  4TestLiteralLists.test_mutation_failure.<locals>.sort  s    aAFFHr   c                  ,    SS/n U R                  5         g r  )r   r   s    r   r   7TestLiteralLists.test_mutation_failure.<locals>.reverse  s    aAIIKr   Cannot mutate a literal list)	subTestr  r	  r
   r
  r   r  r  r  )r   r   r  rR   rb   r   r   rj   r   r  r   illegalstestr  r]  s                  r   test_mutation_failure&TestLiteralLists.test_mutation_failureh  s    										 "FFC* Ddmm,&&v'9'9:fJL ;7fc&*:*:&;<	 -, :: -,s$    C'B48/C4
C>C
C	c                 f    [         S 5       nU R                  UR                  5       U" 5       5        g )Nc                  d    / SQn / nS H#  nUR                  U R                  U5      5        M%     U$ )Nr   r   r   r3   r   rF   r   r   r   rf   r.   abc)rR   r   rY   r  r   s      r   r  (TestLiteralLists.test_count.<locals>.foo  s/    =AA$ Hr   r   r   py_funcr  s     r   r  TestLiteralLists.test_count  .    		 
	 	.r   c                 f    [         S 5       nU R                  UR                  5       U" 5       5        g )Nc                       / SQn [        U 5      $ )Nr   r!   r   s    r   r  &TestLiteralLists.test_len.<locals>.foo  s    =Aq6Mr   r$  r  s     r   r?  TestLiteralLists.test_len  s.    		 
	 	.r   c                 f    [         S 5       nU R                  UR                  5       U" 5       5        g )Nc                  \    / SQn / n[        S5       H  nUR                  X ;   5        M     U$ )Nr   )r   r   r3   r   )r   rR   r"  s      r   r  +TestLiteralLists.test_contains.<locals>.foo  s/    =AA#$45  6Hr   r$  r  s     r   r{  TestLiteralLists.test_contains  r'  r   c                     [         S 5       nU R                  [        R                  5       nU" S5        S S S 5        SnU R	                  U[        WR                  5      5        g ! , (       d  f       N6= f)Nc                     SS/nX   $ r  r   r   rY   s     r   r  *TestLiteralLists.test_getitem.<locals>.foo  s    aA4Kr   r   $Cannot __getitem__ on a literal listr   r	  r
   r
  r  r  r  r   r  r  r]  s       r   rB  TestLiteralLists.test_getitem  s_    		 
	 v112fF 37fc&"2"234 32   	A%%
A3c                 f    [         S 5       nU R                  UR                  5       U" 5       5        g )Nc                      SS/n U S   U S   4$ r  r   r   s    r   r  0TestLiteralLists.test_staticgetitem.<locals>.foo  s    aAQ41:r   r$  r  s     r   test_staticgetitem#TestLiteralLists.test_staticgetitem  s.    		 
	 	.r   c                     [         S 5       nU R                  [        R                  5       nU" 5         S S S 5        SnU R	                  U[        WR                  5      5        g ! , (       d  f       N6= f)Nc                      / SQn U S S $ )N)r   r   r   r3   r   r   s    r   r  6TestLiteralLists.test_staticgetitem_slice.<locals>.foo  s    ARa5Lr   r4  r5  r6  s       r   test_staticgetitem_slice)TestLiteralLists.test_staticgetitem_slice  s_     
	 
	 v112fE 37fc&"2"234 32   A$$
A2c                     [         S 5       nU R                  [        R                  5       nU" S5        S S S 5        SnU R	                  U[        WR                  5      5        g ! , (       d  f       N6= f)Nc                     SS/nSX'   g )Nr   r   r   r   r2  s     r   r  *TestLiteralLists.test_setitem.<locals>.foo  s    aAADr   r   r  r5  r6  s       r   rF  TestLiteralLists.test_setitem  s_    		 
	 v112fF 3/fc&"2"234 32r8  c                 |    [         S 5       nS H*  nU R                  UR                  U5      U" U5      5        M,     g )Nc                 8    U S-   S:  a	  SS/nUS   $ SS/nUS   $ )Nr   rF   r   r   r3   r   r   r2  s     r   r  (TestLiteralLists.test_unify.<locals>.foo  s5    1uqy!H Q4K !HQ4Kr   )ir   r$  )r   r  r   s      r   
test_unifyTestLiteralLists.test_unify  s<    		 
	 AS[[^SV4 r   c                     [         S 5       nU R                  [        R                  5       nU" S5        S S S 5        SnU R	                  U[        WR                  5      5        g ! , (       d  f       N6= f)Nc                 J    U S-   S:  a  / SQnOSS/nUS   US   US   US   4$ )Nr   rF   )r   r   r'  r   r3   r   r   r2  s     r   r  ,TestLiteralLists.test_not_unify.<locals>.foo  s:    1uqy !HQ41qtQqT))r   r   zCannot unify LiteralListr5  r6  s       r   test_not_unifyTestLiteralLists.test_not_unify  s_    		* 
	* v112fH 3+fc&"2"234 32r8  c                     [         S 5       nU R                  [        R                  5       nU" 5         S S S 5        SnU R	                  U[        WR                  5      5        g ! , (       d  f       N6= f)Nc                  .    SS/n U R                  S5        g r  )r   r   s    r   r  (TestLiteralLists.test_index.<locals>.foo  s    aAGGCLr   z+list.index is unsupported for literal listsr5  r6  s       r   
test_indexTestLiteralLists.test_index  s]    		 
	 v112fE 3>fc&"2"234 32rC  c                 f    [         S 5       nU R                  U" 5       UR                  5       5        g )Nc                  :    SS/R                  5       n U S   U S   4$ r  )r   r   s    r   r  'TestLiteralLists.test_copy.<locals>.foo  s#    aAQ41:r   r$  r  s     r   r  TestLiteralLists.test_copy  s.    		 
	 	.r   c                 b   ^ ^ S m[        T5      U 4S j5       n[        U4S j5       nU" 5         g )Nc                     g r   r   r   s    r   r  3TestLiteralLists.test_tuple_not_in_mro.<locals>.bar  rm  r   c                    > TR                  [        U [        R                  5      5        TR	                  [        U [        R
                  5      5        S $ )Nc                     g)N.r   r   s    r   rv  HTestLiteralLists.test_tuple_not_in_mro.<locals>.ol_bar.<locals>.<lambda>!  s    Sr   )assertFalser~  r	   	BaseTupler}  r  )r   r   s    r   r  6TestLiteralLists.test_tuple_not_in_mro.<locals>.ol_bar  s;    Z5??;<OOJq%*;*;<=  r   c                     > SS/n T" U 5        g r  r   r  s    r   r  3TestLiteralLists.test_tuple_not_in_mro.<locals>.foo#  s    aAFr   r  r  s   `  @r   test_tuple_not_in_mro&TestLiteralLists.test_tuple_not_in_mro  s;    	 
#	! 
	!
 
	 
	 	r   r   N)r  r  r  r  r  r  r  r  r  r?  r{  rB  r<  rA  rF  rK  rP  rU  r  rf  r  r   r   r   r  r    sT    <:x2=h	//	/
5/5
555	5/r   r  __main__)kcollectionsr   r7  rK  r;   r  ctypesr  numpyr  numbar   r   r   r   r   r  
numba.corer	   r
   numba.tests.supportr   r   numba.experimentalr   numba.core.extendingr   r   r   r   r#   r&   r(   r,   r/   r7   r9   r=   r@   rC   rG   rM   rP   rS   r[   r^   rd   rg   rk   rm   rp   rs   ru   rz   r}   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r:  rZ  ra  r  r  objectr;  rC  rM  rn  r  r  mainr   r   r   <module>rs     sI   "    
   > >  $ 9 ' ) 	7J'	"*54>&5

	



#



+:
t3 t3n@H?H @HH@2( @2F*/8 *z&1 z&|y&( y&x6 @ @5F/ 5Fpu9OX u9pc cL	 zMMO r   