
    sh;                         S SK r S SK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 rS rS rS	 rS
 rS rS rS rS rS r " S S\ R.                  5      r\S:X  a  \ R4                  " 5         gg)    N)jitnjit)typesutils)tag)length_of_iteratorc                 6    Sn[        U 5       H  nX-  nM	     U$ Nr   range)nsis      j/Users/tiagomarins/Projetos/claudeai/copy_bank/venv/lib/python3.13/site-packages/numba/tests/test_range.pyloop1r      s!    	A1X	 H    c                 6    Sn[        X5       H  nX#-  nM	     U$ r
   r   )abr   r   s       r   loop2r      s!    	A1[	 Hr   c                 8    Sn[        XU5       H  nX4-  nM	     U$ r
   r   )r   r   cr   r   s        r   loop3r      s#    	A1^	 Hr   c                 *    [        [        U 5      5      $ Nlenr   )r   s    r   
range_len1r   "   s    uQx=r   c                 *    [        [        X5      5      $ r   r   )r   r   s     r   
range_len2r    %   s    uQ{r   c                 ,    [        [        XU5      5      $ r   r   )r   r   r   s      r   
range_len3r"   (   s    uQ1~r   c                 <    [        [        [        U 5      5      5      $ r   )r   iterr   r   s    r   range_iter_len1r&   *   s    d58n--r   c                 *    [        [        U 5      5      $ r   )r   r$   r%   s    r   range_iter_len2r(   -   s    d1g&&r   c                     [        U 5      n[        X5      n[        XU5      n/ nX4U4 H5  nUR                  UR                  UR                  UR                  45        M7     U$ r   )r   appendstartstopstep)r+   r,   r-   r1r2r3tmprs           r   range_attrsr3   0   sX    	uB	u	B	uD	!B
Cb\

AGGQVVQVV,- Jr   c                 ~    [        U5      n[        X5      n[        XU5      nXEU4 Vs/ s H  opU;   PM	     sn$ s  snf r   r   )valr+   r,   r-   r.   r/   r0   r2   s           r   range_containsr6   9   s?    	uB	u	B	uD	!B!rl+l1Hl+++s   :c                   P    \ 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)	TestRange@   c                     [         n[        [        R                  45      " U5      nU R	                  U" S5      U" S5      5        g )N   )r   r   r   int16
assertTrueselfpyfunccfuncs      r   test_loop1_int16TestRange.test_loop1_int16B   s2    ekk^$V,a&),r   c                     [         n[        [        R                  [        R                  45      " U5      nU R	                  U" SS5      U" SS5      5        g )N      )r   r   r   r<   r=   r>   s      r   test_loop2_int16TestRange.test_loop2_int16G   s=    ekk5;;/08aVAq\2r   c                     [         n[        [        R                  [        R                  [        R                  45      " U5      n/ SQnU H  nU R	                  U" U6 U" U6 5        M     g )N)rE      rE   )rK         )irN   )rN   rN   )r   r   r   int32assertEqual)r?   r@   rA   arglistargss        r   test_loop3_int32TestRange.test_loop3_int32L   sT    ekk5;;<=fE
 DUD\64=9 r   c           
         [         n[        R                  [        R                  [        R                  /n/ SQnU HH  n[        U45      " U5      nU H-  nU R                  U" U" U5      5      U" U" U5      5      5        M/     MJ     g N)r;   r   )r   r   r<   rP   int64r   rQ   )r?   r@   typelistrR   typrA   args          r   test_range_len1TestRange.test_range_len1X   si    KKekk:C#L(E  s3x&S2BC  r   c                   ^ [         n[        R                  [        R                  [        R                  /n/ SQnU HL  m[        TT45      " U5      nU H0  n[        U4S jU 5       5      nU R                  U" U6 U" U6 5        M2     MN     g )N))rE   rF   )rF   rE   )rX   c              3   4   >#    U  H  nT" U5      v   M     g 7fr    .0xr[   s     r   	<genexpr>,TestRange.test_range_len2.<locals>.<genexpr>h        3dc!ffd   )r    r   r<   rP   rY   r   tuplerQ   r?   r@   rZ   rR   rA   rS   args_r[   s          @r   test_range_len2TestRange.test_range_len2a   st    KKekk:*C#s$V,E3d33  ?   r   c                   ^ [         n[        R                  [        R                  [        R                  /n/ SQnU HM  m[        TTT45      " U5      nU H0  n[        U4S jU 5       5      nU R                  U" U6 U" U6 5        M2     MO     g )NrJ   c              3   4   >#    U  H  nT" U5      v   M     g 7fr   rb   rc   s     r   rf   ,TestRange.test_range_len3.<locals>.<genexpr>w   rh   ri   )r"   r   r<   rP   rY   r   rj   rQ   rk   s          @r   test_range_len3TestRange.test_range_len3k   sz    KKekk:
 C#sC)&1E3d33  ?   r   c           
         [         n[        n[        R                  [        R                  [        R
                  /n/ SQnU HH  n[        U45      " U5      nU H-  nU R                  U" U" U5      5      U" U" U5      5      5        M/     MJ     g rW   )r   r&   r   r<   rP   rY   r   rQ   )r?   
range_funcrange_iter_funcrZ   rR   r[   rA   r\   s           r   test_range_iter_len1TestRange.test_range_iter_len1z   sn    
)KKekk:C#L1E  s3x*SX2FG  r   c                     [         n[        [        R                  " [        R                  SS945      " U5      n/ SQnU R                  U" U5      [        U5      5        g )NT)	reflected)rE   rK   rM      r;   )r(   r   r   ListintprQ   r   )r?   rv   rA   rR   s       r   test_range_iter_listTestRange.test_range_iter_list   sE    )ejjt<>?P!wW6r   c                     [         n/ SQn[        [        R                  [        R                  [        R                  45      " U5      nU H  nU R	                  U" U6 U" U6 5        M     g )N)r   r   rE   r   r`   rE   r`   rE   rE   r`   r{   rE   r`   r{   
   r;   rX   rO   )r3   r   r   rY   rQ   )r?   r@   rR   rA   r\   s        r   test_range_attrsTestRange.test_range_attrs   sT    ! ekk5;;<>vFCUC[&#,7 r   c           	      P   [         n/ SQnSS/n/ SQn/ SQn/ SQnX4-   U-   U-   n[        U5      nU H,  n	U H#  n
U R                  U" U
/U	Q76 U" U
/U	Q76 5        M%     M.     SS0S/S	S
/n[        USS9nU H,  n	U H#  n
U R                  U" U
/U	Q76 U" U
/U	Q76 5        M%     M.     g )N)	r   )r`   r   rE   )rE   r   r`   r   )r   rE   r`   r   r   r   r   TF)rN   irX   rO   r`   r   rE   rK   r{   r;   rF   r   )gg      g        g      ?g?)y      ?        y      ?      ?y?        y      ??r   rE   abc)rE   )forceobj)r6   r   rQ   r   )r?   r@   rR   	bool_valsint_vals
float_valscomplex_valsvallistrA   r\   r5   non_numeric_vals	cfunc_objs                r   test_range_containsTestRange.test_range_contains   s    ! 5M	(0
='*4 VC  s!1S!16#3D3DE   !!HqeUD9.	C'  3!5!5vc7HC7HI ( r   rb   N)__name__
__module____qualname____firstlineno__rB   rG   rT   r]   rm   rr   rw   r~   r   r   __static_attributes__rb   r   r   r8   r8   @   s9    -
3

:D@@H78Jr   r8   __main__)unittestsysnumpynumbar   r   
numba.corer   r   numba.tests.supportr   numba.core.inline_closurecallr   r   r   r   r   r    r"   r&   r(   r3   r6   TestCaser8   r   mainrb   r   r   <module>r      s{     
   # # <.',vJ!! vJt zMMO r   