
    shn"                        S r SSKrSSKJr  SSKJrJrJrJr  SSK	J
r
JrJrJr  SSKJr  SSKJrJrJrJr  SSKJr  S	 rS
 r\R2                  (       ai  \R4                  \R6                  \R8                  4\R:                  \R<                  \R>                  4\R@                  \RB                  \RD                  40r#O$\RH                  \RJ                  \RL                  40r#\#RO                  5        H  u  r(r)\" \(/\)Q76   M     \" \RT                  \RT                  5      S 5       r+S r,\S 5       r-\" \R\                  5      S 5       r/\0" S5       H  u  r1r2\," \1\2S9  M     g)z=
Implementation of the range object for fixed-size integers.
    N)prange)typescgutilserrorsconfig)lower_builtin
lower_castiterator_implimpl_ret_untracked)	signature)	intrinsicoverloadoverload_attributeregister_jitable)internal_prangec                 .    [         R                  " U 5      $ )zb
Return the Structure representation of the given *typ* (an
instance of types.RangeIteratorType).
)r   create_struct_proxy)typs    j/Users/tiagomarins/Projetos/claudeai/copy_bank/venv/lib/python3.13/site-packages/numba/cpython/rangeobj.pymake_range_iteratorr      s    
 &&s++    c                   ^ ^^^^	 [         R                  " T5      m	[        [        T 5      [        [        T 5      [        [
        T 5      U	U U4S j5       5       5       n[        [        T T 5      [        [        T T 5      [        [
        T T 5      U	U U4S j5       5       5       n[        [        T T T 5      [        [        T T T 5      [        [
        T T T 5      U	U4S j5       5       5       n[        [        T5      UU	U 4S j5       n[        ST5      UU	U4S j5       n[        TT5       " U 4S jS[        T5      5      5       mg )	Nc                    > Uu  nT" X5      nU R                  TS5      Ul        XEl        U R                  TS5      Ul        [	        U UTUR                  5       5      $ )z"
range(stop: int) -> range object
r      )get_constantstartstopstepr   	_getvalue)	contextbuildersigargsr   state
RangeStateint_typerange_state_types	         r   range1_impl$make_range_impl.<locals>.range1_impl   sb     7,**8Q7
))(A6
!'")"2"'//"35 	5r   c                    > Uu  pET" X5      nXFl         XVl        U R                  TS5      Ul        [	        U UT	UR                  5       5      $ )z.
range(start: int, stop: int) -> range object
r   )r   r   r   r   r   r   )
r    r!   r"   r#   r   r   r$   r%   r&   r'   s
          r   range2_impl$make_range_impl.<locals>.range2_impl+   sS     7,
))(A6
!'")"2"'//"35 	5r   c                 z   > Uu  pEnT" X5      nXGl         XWl        Xgl        [        U UT	UR	                  5       5      $ )z9
range(start: int, stop: int, step: int) -> range object
)r   r   r   r   r   )
r    r!   r"   r#   r   r   r   r$   r%   r'   s
           r   range3_impl$make_range_impl.<locals>.range3_impl<   sG     #d7,

!'")"2"'//"35 	5r   c                    > Uu  nT" XU5      nTR                  XU5      n[        XT	UR                  UR                  5      5      $ )z
len(range)
)from_range_stater   loadcount)
r    r!   r"   r#   valuer$   res	RangeIterr%   r&   s
          r   	range_len"make_range_impl.<locals>.range_lenM   sF    
 7U3((5A!'Hgll399>UVVr   getiterc                 x   > Uu  nT" XU5      nTR                  XU5      R                  5       n[        XT	U5      $ )z
range.__iter__
)r1   r   r   )
r    r!   r"   r#   r4   r$   r5   r6   r%   range_iter_types
          r   getiter_range32_impl-make_range_impl.<locals>.getiter_range32_implW   sB    
 7U3((5AKKM!'OSIIr   c                   8   > \ rS rSr\U 4S j5       rU 4S jrSrg)"make_range_impl.<locals>.RangeItera   c           
        > U " X5      nUR                   nUR                  nUR                  n[        R                  " X%R
                  5      nUR                  XX5        [        R                  " X%R
                  5      n	Xl        Xdl        Xtl        Xl        UR                  Xe5      n
UR                  TS5      nUR                  TS5      nUR                  SX5      nUR                  SX{5      nUR                  X5      nUR                  SX{5      n[        R                  " UU5         UR                  R!                  U["        S5        SSS5        UR%                  U5       u  nnU   UR                  XR                  5        SSS5        U   UR'                  X5      nUR)                  UUUR+                  U5      5      nUR                  SUU5      nUR-                  UR/                  X5      UR)                  UX5      5      nUR                  UUR                  5        SSS5        SSS5        U$ ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N:= f! , (       d  f       U$ = f)zC
Create a RangeIter initialized from the given RangeState *state*.
r   r   >z==)zrange() arg 3 must not be zeroN)r   r   r   r   alloca_oncetypestoreiterr3   subr   icmp_signedxoricmp_unsignedif_unlikely	call_convreturn_user_exc
ValueErrorif_elsesremselectnegaddsdiv)clsr    r!   r$   selfr   r   r   startptrcountptrdiffzeroonepos_diffpos_stepsign_differs	zero_stepthenorelseremunevennewcountr&   s                         r   r1   3make_range_impl.<locals>.RangeIter.from_range_stated   s   
 w(DKKE::D::D**7JJ?HMM%***7JJ?H III!J;;t+D''!4D&&x3C**3;H**3;H";;x:L--dD?I$$Wi8!!11':2UW 9
 ..4MM$

3  !,,t2C!..3C8HIC$00c4@F&{{7<<+C+2>>&#+L NHMM(DJJ7 	 / K# 98 T V	 /. KsI   *"H7%I*+I
I*BI%I*7
I
I	I*
I'	#I**
I9c           	      (  > UR                  T
S5      nU R                  nUR                  U5      nUR                  SXd5      nUR	                  U5        UR                  U5         UR                  U R                  5      nUR                  U5        UR                  T
S5      n	UR                  UR                  XiS/S9U5        UR                  UR                  XR                  5      U R                  5        S S S 5        g ! , (       d  f       g = f)Nr   rB   r   nsw)flags)r   r3   r2   rH   	set_validif_thenrF   yield_rE   rG   rS   r   )rV   r    r!   resultrZ   rX   r3   is_validr4   r[   r&   s             r   iternext+make_range_impl.<locals>.RangeIter.iternext   s    ''!4DzzHLL*E**3<HX&*TYY/e$**8Q7gkk%UGkDhOgkk%;TYYG +**s   %BD
D)r3   rF   r   r   N)__name__
__module____qualname____firstlineno__classmethodr1   rn   __static_attributes__)r&   s   r   r6   r?   a   s$     
,	 
,	\	H 	Hr   r6   )	r   r   r   ranger   r   lenr
   r   )
r&   r'   r;   r(   r+   r.   r7   r<   r6   r%   s
   ```     @@r   make_range_implrx      s8   ,,-=>J5(#68$?H-5 . % $5 5(H-68X.?Hh75 8 / .5 5(Hh768Xx8?HhA5 B 9 85 3()W *W 9./J 0J #_5>H'8 >H 6>Hr   c           	          [         R                  " XS5      nU Vs/ s H*  nU R                  XUR                  UR                  5      PM,     nn[         R                  " X5      $ s  snf N   )r   unpack_tuplecastdtypemake_anonymous_struct)r    r!   fromtytotyvalolditemsvitemss           r   range_to_ranger      s_    ##G!4H  \\'fllDJJ? 
  ((88 s   1A%c                 l   ^ ^ [         U 4S j5       m[        [        R                  U5      U4S j5       ng )Nc                    > [        U[        R                  5      (       a  U4S jn[        UR                  U5      U4$ g )Nc                 n   > Uu  n[         R                  " XS5      n[        XUR                  UT   5      $ rz   )r   r|   r   return_type)r    r!   r"   r#   r   r   indexs         r   codegen?make_range_attr.<locals>.rangetype_attr_getter.<locals>.codegen   s8    ,,W1=)'COO*/,8 8r   )
isinstancer   	RangeTyper   r~   )	typingctxar   r   s      r   rangetype_attr_getter.make_range_attr.<locals>.rangetype_attr_getter   s6    a))8
 QWWa('11 *r   c                    > U4S jnU$ )Nc                    > T" U 5      $ )N )rnger   s    r   get0make_range_attr.<locals>.range_attr.<locals>.get   s    (..r   r   )r   r   r   s     r   
range_attr#make_range_attr.<locals>.range_attr   s    	/
r   )r   r   r   r   )r   	attributer   r   s   `  @r   make_range_attrr      s4    2 2 3 4r   c                     U R                   S:  a  XR                  :  d  XR                  :  a  gU R                   S:  a  XR                  ::  d  XR                  :  a  gXR                  -
  U R                   -  S:H  $ )Nr   F)r   r   r   robjr   s     r   impl_contains_helperr      s]    yy1}#

*cYY.>	QC99,jj0@::*q00r   c                    S n[        U [        R                  5      (       d  g [        U[        R                  [        R                  45      (       a  [
        $ [        U[        R                  5      (       a  S nU$ [        U[        R                  5      (       a  S nU$ [        U[        R                  5      (       d  U$ g )Nc                     g)NFr   r   s     r   
impl_false!impl_contains.<locals>.impl_false   s    r   c                 @    US-  S:w  a  g[        U [        U5      5      $ )Nr   r   F)r   intr   s     r   implimpl_contains.<locals>.impl   s!    Qw!|+D#c(;;r   c                     UR                   S:w  a  gUR                  S-  S:w  a  g[        U [        UR                  5      5      $ )Nr   Fr   )imagrealr   r   r   s     r   r   r      s8    xx1}A"+D#chh-@@r   )	r   r   r   IntegerBooleanr   FloatComplexNumber)r   r   r   r   s       r   impl_containsr      s     dEOO,,	C%--7	8	8##	C	%	%	<
 	C	'	'	A U\\** +r   )r   r   r   )r   r   )3__doc__operatornumbar   
numba.corer   r   r   r   numba.core.imputilsr   r	   r
   r   numba.core.typingr   numba.core.extendingr   r   r   r   numba.parfors.parforr   r   rx   USE_LEGACY_TYPE_SYSTEMint32range_state32_typerange_iter32_typeint64range_state64_typerange_iter64_typeuint64unsigned_range_state64_typeunsigned_range_iter64_typerange_impl_mappy_intr'   r;   r   r&   state_typesr   r   r   r   containsr   	enumerateixattrr   r   r   <module>r      sc     5 5G G ' Z Z 0,IHX 
  u//1H1HIu//1H1HI995;[;[\N 	u--u/D/DEN ,113HkH+{+ 4 EOOU__-9 .9$ 1 1 
(

 @ 34HB"- 5r   