+
    ;i!                         ^ RI Ht ^ RIt^ RIHtHtHt ^ RIt^ RIt^ RI	H
t
HtHtHtHt ^ RIHtHt ^ RIHtHt ^ RIHt ^ RItR tR	 tR
 tR t ! R R]]4      t]R8X  d   ]P<                  ! 4        R# R# )    )partialN)chainproductstarmap)jit	literallynjittypeofTypingError)utilstypes)TestCaseMemoryLeakMixin)_header_leadc                 H    V P                   V P                  V P                  3# N)startstopstep)sls   &U/var/www/html/photoedit/myenv/lib/python3.14/site-packages/numba/tests/test_slices.pyslice_passingr      s    88RWWbgg%%    c                  Z    \        V !  pVP                  VP                  VP                  3# r   )slicer   r   r   )argsr   s   * r   slice_constructorr      s$    	B88RWWbgg%%r   c                 $    \        V !  pW,          # r   )r   )r   lr   s   && r   slice_construct_and_user       s    	B5Lr   c                 "    V P                   ! V!  # r   )indices)sindargss   &*r   slice_indicesr%      s    99gr   c                   \   a  ] tR t^t o R tR tR tR tR tR t	R t
R tR	 tR
 tRtV tR# )
TestSlicesc           	        a a VV 3R lp\         P                  pV) ^,
          p\        RR7      ! \        4      o. ROpRV3R	R
.pRR.p\        P
                  ! VVV4       F  w  w  rxw  rw  rV! WyWW4       K  	  RV3RR.pRV3R	R
.pRR.p\        P
                  ! VVV4       F  w  w  rxw  rw  rV! WyWW4       K  	  S P                  \        4      ;_uu_ 4        S! \        R^^4      4       RRR4       R#   + '       g   i     R# ; i)z3
Check passing a slice object to a Numba function.
c                 V   < \        WV4      pS! V4      pS	P                  WsWE34       R # r   )r   assertPreciseEqual)
abcdefr   gotcfuncselfs
   &&&&&&  r   check,TestSlices.test_slice_passing.<locals>.check$   s)    qQB)C##CQ3r   TnopythonNg      ?*   r9   r;   ))Nr   r8   r:   )	   r<   )r=   )N   )   r?   )r@   )	sysmaxsizer   r   	itertoolsr   assertRaises	TypeErrorr   )r3   r4   	maxposint	maxnegintstart_cases
stop_cases
step_casesr+   r.   r,   r/   r-   r0   r2   s   f            @r   test_slice_passingTestSlices.test_slice_passing   s$   
	4
 KK	JN	T"=1 6Y'<
*
&/&7&78B8B'D"FQFQFQ !a#'D i((H=Y'<

+
&/&7&78B8B'D"FQFQFQ !a#'D y))%Q"# *)))s   C<<D	c                   \         P                  pV) ^,
          p\        P                  ! ^
4      p\	        RR7      ! \
        4      p\	        RR7      ! \        4      pR^ V^33RR^ V^33R^V^33RR	R
^ V^33RR^V^33RRWR33R^
VR33RV^R33R3 F@  w  rgV! V!  pV P                  W4       \        Wc4      p	V! Wc4      p
V P                  W4       KB  	  R# )zA
Test the 'happy path' for slice() constructor in nopython mode.
Tr6   Nr   ))   )r   rN   r>   )NNr>   N))N   )r   rP   r>   ))r>   rP   )r>   rP   r>   )NN   ))NrP   rQ   )r   rP   rQ   )r>   NrQ   )r>   rP   rQ   rR   r;   )NNr;   )
   Nr;   )NrN   r;   )rS   rN   r;   rT   )rA   rB   nparanger   r   r    r*   )r3   rF   rG   r+   r2   	cfunc_user   expectedr1   usagecusages   &          r   test_slice_constructor!TestSlices.test_slice_constructorC   s    KK	JN	IIbMT"#45&'>?	q)Q'(Ay!,-Iq)*"q)Q/0%Ay!,-"	b9:b)R01Y2./&
ND  ,C##C2+D4Et'F##E2)
r   c           	     ,  a
 Ro
\         P                  ! V
3R l\        ^4       4       4      p\        P                  ! ^
4      p\        RR7      ! \        4      pV P                  4        V F&  p \        WB4      pV P                  WS! WB4      4       K(  	  R#   \         d   p\        T4      pT P                  \        T4      RP                  T4      4       T P                  \        4      ;_uu_ 4       pT! YB4       RRR4       M  + '       g   i     M; iT P!                  \"        \        XP$                  4      4       T P!                  RP'                  R T 4       4      \        TP$                  4      4        Rp?EK  Rp?i\(         d   p	T P                  \+        T	4      4      ;_uu_ 4       pT! YB4       RRR4       M  + '       g   i     M; iT P!                  \        T	4      \        XP$                  4      4        Rp	?	EK  Rp	?	ii ; i)	zG
Test that slice constructor behaves same in python and compiled code.
Nc              3   >   <"   T F  p\        SVR 7      x  K  	  R# 5i))repeatN)r   ).0noptionss   & r   	<genexpr>:TestSlices.test_slice_constructor_cases.<locals>.<genexpr>g   s      (
081GGA&&s   Tr6   z7slice expected at (most|least) (3|1) arguments?, got {}z, c              3   J   "   T F  p\        \        V4      4      x  K  	  R # 5ir   )strr
   )r`   args   & r   rc   rd      s     ?$3c&+..$s   !#)Nr;   r   r>   )r   from_iterablerangerU   rV   r   r    disable_leak_checkr*   rE   lenassertRegexrf   formatrD   r   assertInr   	exceptionjoin	Exceptiontype)r3   	arg_casesarrayr2   r   rX   	py_type_en_argsnumba_epy_erb   s   &         @r   test_slice_constructor_cases'TestSlices.test_slice_constructor_casesb   s    #'' (
05a(
 
	 		"T"#:;!DF24?8 ''%2DE=    T  	NNVF^
 &&{33w$& 4333 ))* II?$??))*   &&tDz22g$& 3222I))* s\   /BH"AF4	D	=	FDA,FHH"H4	G	=	HG6HHc                   \        \        \        \        \	        R^4      R4      \        \	        R^4      R4      \        \	        R^4      R4      4      4      p\	        R^4      p\        RR7      ! \        4      p\        W4       F(  w  rE \        WE4      pV P                  Wc! WE4      4       K*  	  R#   \         d   pT P                  \        T4      4      ;_uu_ 4       pT! YE4       RRR4       M  + '       g   i     M; iT P                  \        T4      \        XP                  4      4        Rp?K  Rp?ii ; i)zITest that a numba slice returns same result for .indices as a python one.NTr6   r   )r   r   r   r   ri   r   r%   r*   rq   rD   rr   rn   rf   ro   )	r3   sliceslengthsr2   r#   r   rX   rx   rw   s	   &        r   test_slice_indicesTestSlices.test_slice_indices   s    eBlG,eBlG,eBlG,
 A,T"=1F,DA
?(. ''%+> -  &&tDz22g!K 3222I))* s0   B33D>>"D9 	C2	)	D92D=6D99D>c           	        \        RR7      ! \        4      pV P                  \        4      ;_uu_ 4       pV! \	        R4      ^^^4       RRR4       V P                  R\        XP                  4      4       V P                  \        4      ;_uu_ 4       pV! \	        RR^ 4      R4       RRR4       V P                  R\        R4      ,          \        VP                  4      4       R#   + '       g   i     L; i  + '       g   i     LZ; i)zTests for specific error cases.Tr6   Nz.indices() takes exactly one argument (3 given)g333333?z/'%s' object cannot be interpreted as an integer)	r   r%   rD   r   r   rn   rf   ro   r
   )r3   cslice_indicesr/   s   &  r   test_slice_indices_examples&TestSlices.test_slice_indices_examples   s    d+M:{++q5;1a0 ,=	

 {++q5tQ/5 ,=sK	
 ,+ ,+s   C'C:'C7	:D
	c                   aa Ro\         P                  ! . RO. RO. RO4       FG  o\        S!  o\        RR7      VV3R l4       pV P	                  V! 4       VP                  4       4       KI  	  R# )r>   NTr6   c                     < S S,          # r    )
test_tupletss   r   test_fn4TestSlices.test_slice_from_constant.<locals>.test_fn   s    !"~%r   )r>   rP   rQ      )Nr>   rP   rQ   )Nr>   rP   r;   r}   )rC   r   r   r   assertEqualpy_func)r3   r   r   r   s   & @@r   test_slice_from_constant#TestSlices.test_slice_from_constant   sb    !
##_.B
B B$&  & WY(9:
r   c                F   \         P                  P                  \        ^RR4      4      p\         P                  P                  \        RRR4      4      p\         P                  P                  \        ^RR4      4      pV P	                  W4       V P                  W4       R# rO   )r   miscSliceLiteralr   assertNotEqualr   )r3   sl1sl2sl3s   &   r   test_literal_slice_distinct&TestSlices.test_literal_slice_distinct   su    jj%%eAtT&:;jj%%eD$&=>jj%%eAtT&:;C%"r   c                   \         R  4       p\        ^^^4      \        ^^4      \        ^4      \        R^^4      \        ^R^4      \        RR^4      \        R4      \        RRR4      3pV F  pV P                  W1! V4      4       K  	  R# )c                     \        V 4      # r   r   )xs   &r   r0   /TestSlices.test_literal_slice_boxing.<locals>.f       Q<r   N)r	   r   r   )r3   r0   r~   r   s   &   r   test_literal_slice_boxing$TestSlices.test_literal_slice_boxing   s     
	  
	  !QN!QK!H$1!T1$a $K$d#	
 BR2' r   c                n   a \        ^^^4      o\        V3R l4       pV P                  SV! 4       4       R# )r>   c                     < S # r   r   zs   r   foo2TestSlices.test_literal_slice_freevar.<locals>.foo   s    Hr   N)r   r	   r   )r3   r   r   s   & @r   test_literal_slice_freevar%TestSlices.test_literal_slice_freevar   s8     !QN		 
	 	CE"r   c           
     .   \        4       R  4       p\        R4      pV P                  \        4      ;_uu_ 4       pV! \	        RRV) ^,
          4      4       RRR4       V P                  R\        XP                  4      4       R#   + '       g   i     L7; i)c                     \        V 4      # r   r   r   s   &r   r   1TestSlices.test_literal_slice_maxint.<locals>.foo   r   r   NzInt value is too largel            )r	   intrD   
ValueErrorr   rn   rf   ro   )r3   r   maxvalr/   s   &   r   test_literal_slice_maxint$TestSlices.test_literal_slice_maxint   sv     
	  
	  Uz**adD6'!),- +$	
 +*s   BB	r   N)__name__
__module____qualname____firstlineno__rK   r[   ry   r   r   r   r   r   r   r   __static_attributes____classdictcell__)__classdict__s   @r   r'   r'      s?     "$H3>+FZ?6
$;#(*#
 
r   r'   __main__)	functoolsr   rC   r   r   r   rA   numpyrU   numbar   r   r	   r
   r   
numba.corer   r   numba.tests.supportr   r   numba.core.types.functionsr   unittestr   r   r    r%   r'   r   mainr   r   r   <module>r      sf      - - 
  ; ; # 9 3 &&b
( b
J zMMO r   