Ë
    èÿæiÍ!  ã                   óZ  — d Z ddlZddlmZ ddlmZmZmZmZ ddl	m
Z
mZmZmZ ddlmZ ddlmZmZmZmZ ddlmZ d	„ Zd
„ Zej2                  ej4                  ej6                  fej8                  ej:                  ej<                  fej>                  ej@                  ejB                  fiZ"e"jG                  «       D ]  \  Z$Z% ee$ge%¢­Ž  Œ  eejL                  ejL                  «      d„ «       Z'd„ Z(ed„ «       Z) eejT                  «      d„ «       Z+ e,d«      D ]  \  Z-Z. e(e-e.¬«       Œ y)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                 ó,   — t        j                  | «      S )zn
    Return the Structure representation of the given *typ* (an
    instance of types.RangeIteratorType).
    )r   Úcreate_struct_proxy)Útyps    úk/Volumes/fast/ai/experiments/voice-extract-mac/.venv/lib/python3.12/site-packages/numba/cpython/rangeobj.pyÚmake_range_iteratorr      s   € ô
 ×&Ñ& sÓ+Ð+ó    c                 ór  ‡ ‡‡‡‡	— t        j                  ‰«      Š	t        t        ‰ «      t        t        ‰ «      t        t
        ‰ «      ˆ	ˆ ˆfd„«       «       «       }t        t        ‰ ‰ «      t        t        ‰ ‰ «      t        t
        ‰ ‰ «      ˆ	ˆ ˆfd„«       «       «       }t        t        ‰ ‰ ‰ «      t        t        ‰ ‰ ‰ «      t        t
        ‰ ‰ ‰ «      ˆ	ˆfd„«       «       «       }t        t        ‰«      ˆˆ	ˆ fd„«       }t        d‰«      ˆˆ	ˆfd„«       }t        ‰‰«       G ˆ fd„dt        ‰«      «      «       Šy )	Nc                 óÀ   •— |\  } ‰| |«      }| j                  ‰d«      |_        ||_        | j                  ‰d«      |_        t	        | |‰|j                  «       «      S )z2
        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_implz$make_range_impl.<locals>.range1_impl   sf   ø€ ð ‰ˆÙ˜7 GÓ,ˆØ×*Ñ*¨8°QÓ7ˆŒØˆŒ
Ø×)Ñ)¨(°AÓ6ˆŒ
Ü! 'Ø")Ø"2Ø"'§/¡/Ó"3ó5ð 	5r   c                 ó¢   •— |\  }} ‰| |«      }||_         ||_        | j                  ‰d«      |_        t	        | |‰	|j                  «       «      S )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_implz$make_range_impl.<locals>.range2_impl+   s[   ø€ ð ‰ˆˆtÙ˜7 GÓ,ˆØˆŒØˆŒ
Ø×)Ñ)¨(°AÓ6ˆŒ
Ü! 'Ø")Ø"2Ø"'§/¡/Ó"3ó5ð 	5r   c                 ó„   •— |\  }}} ‰| |«      }||_         ||_        ||_        t        | |‰	|j	                  «       «      S )zI
        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_implz$make_range_impl.<locals>.range3_impl<   sQ   ø€ ð #Ñˆ��dÙ˜7 GÓ,ˆØˆŒØˆŒ
ØˆŒ
Ü! 'Ø")Ø"2Ø"'§/¡/Ó"3ó5ð 	5r   c                 ó”   •— |\  } ‰| ||«      }‰j                  | ||«      }t        | |‰	|j                  |j                  «      «      S )z
        len(range)
        )Úfrom_range_stater   ÚloadÚcount)
r    r!   r"   r#   Úvaluer$   ÚresÚ	RangeIterr%   r&   s
          €€€r   Ú	range_lenz"make_range_impl.<locals>.range_lenM   sL   ø€ ð
 ‰ˆÙ˜7 G¨UÓ3ˆØ×(Ñ(¨°'¸5ÓAˆÜ! '¨7°H¸g¿l¹lÈ3Ï9É9Ó>UÓVÐVr   Úgetiterc                 ó~   •— |\  } ‰| ||«      }‰j                  | ||«      j                  «       }t        | |‰	|«      S )z 
        range.__iter__
        )r.   r   r   )
r    r!   r"   r#   r1   r$   r2   r3   r%   Úrange_iter_types
          €€€r   Úgetiter_range32_implz-make_range_impl.<locals>.getiter_range32_implW   sH   ø€ ð
 ‰ˆÙ˜7 G¨UÓ3ˆØ×(Ñ(¨°'¸5ÓA×KÑKÓMˆÜ! '¨7°OÀSÓIÐIr   c                   ó,   •— e Zd Zeˆ fd„«       Zˆ fd„Zy)ú"make_range_impl.<locals>.RangeIterc           
      óì  •—  | ||«      }|j                   }|j                  }|j                  }t        j                  ||j
                  «      }|j                  ||«       t        j                  ||j
                  «      }	||_        ||_        ||_        |	|_        |j                  ||«      }
|j                  ‰d«      }|j                  ‰d«      }|j                  d|
|«      }|j                  d||«      }|j                  ||«      }|j                  d||«      }t        j                  ||«      5  |j                  j!                  |t"        d«       ddd«       |j%                  |«      5 \  }}|5  |j                  ||j                  «       ddd«       |5  |j'                  |
|«      }|j)                  |||j+                  |«      «      }|j                  d||«      }|j-                  |j/                  |
|«      |j)                  |||«      «      }|j                  ||j                  «       ddd«       ddd«       |S # 1 sw Y   ŒðxY w# 1 sw Y   ŒÀxY w# 1 sw Y   Œ+xY w# 1 sw Y   |S xY w)z[
            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Úiterr0   Ú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   r.   z3make_range_impl.<locals>.RangeIter.from_range_stated   s  ø€ ñ
 �w Ó(ˆDØ—K‘KˆEØ—:‘:ˆDØ—:‘:ˆDä×*Ñ*¨7°E·J±JÓ?ˆHØ�M‰M˜% Ô*ä×*Ñ*¨7°E·J±JÓ?ˆHà ˆDŒIØˆDŒIØˆDŒIØ!ˆDŒJà—;‘;˜t UÓ+ˆDØ×'Ñ'¨°!Ó4ˆDØ×&Ñ& x°Ó3ˆCØ×*Ñ*¨3°°dÓ;ˆHØ×*Ñ*¨3°°dÓ;ˆHØ"Ÿ;™; x°Ó:ˆLØ×-Ñ-¨d°D¸$Ó?ˆIä×$Ñ$ W¨iÕ8à×!Ñ!×1Ñ1°'¼:Ø2UôW÷ 9ð
 —‘ Ô.±.°4¸ÚØ—M‘M $¨¯
©
Ô3÷ ò Ø!Ÿ,™, t¨TÓ2�CØ!Ÿ.™.¨°3¸¿¹ÀCÓ8HÓI�CØ$×0Ñ0°°c¸4Ó@�FØ&Ÿ{™{¨7¯<©<¸¸dÓ+CØ+2¯>©>¸&À#ÀtÓ+Ló N�Hà—M‘M (¨D¯J©JÔ7÷ ÷	 /ð ˆK÷# 9Ð8ú÷ �Tú÷ �Vú÷	 /ð ˆKúsI   Ä4"IÅ/I)Å5IÆ
I)ÆBIÈ3I)ÉIÉI	ÉI)ÉI&	É"I)É)I3c                 ó*  •— |j                  ‰
d«      }| j                  }|j                  |«      }|j                  d||«      }|j	                  |«       |j                  |«      5  |j                  | j                  «      }|j                  |«       |j                  ‰
d«      }	|j                  |j                  ||	dg¬«      |«       |j                  |j                  || j                  «      | j                  «       d d d «       y # 1 sw Y   y xY w)Nr   r<   r   Únsw)Úflags)r   r0   r/   rB   Ú	set_validÚif_thenr@   Úyield_r?   rA   rM   r   )rP   r    r!   ÚresultrT   rR   r0   Úis_validr1   rU   r&   s             €r   Úiternextz+make_range_impl.<locals>.RangeIter.iternext“   sÖ   ø€ Ø×'Ñ'¨°!Ó4ˆDØ—z‘zˆHØ—L‘L Ó*ˆEØ×*Ñ*¨3°°tÓ<ˆHØ×Ñ˜XÔ&à—‘ Õ*ØŸ™ T§Y¡YÓ/�Ø—‘˜eÔ$Ø×*Ñ*¨8°QÓ7�à—‘˜gŸk™k¨%°¸U¸G˜kÓDÀhÔOØ—‘˜gŸk™k¨%°·±Ó;¸T¿Y¹YÔG÷ +×*Ñ*ús   Á&BD	Ä	DN)Ú__name__Ú
__module__Ú__qualname__Úclassmethodr.   rg   )r&   s   €r   r3   r:   a   s   ø„ ð 
ó,	ó 
ð,	õ\	Hr   r3   )	r   r   r   Úranger   r   Úlenr
   r   )
r&   r'   r7   r(   r*   r,   r4   r8   r3   r%   s
   ```     @@r   Úmake_range_implrn      s8  ü€ Ü×,Ñ,Ð-=Ó>€Jä”5˜(Ó#Ü”6˜8Ó$Ü”? HÓ-õ5ó .ó %ó $ð5ô ”5˜( HÓ-Ü”6˜8 XÓ.Ü”? H¨hÓ7õ5ó 8ó /ó .ð5ô ”5˜( H¨hÓ7Ü”6˜8 X¨xÓ8Ü”? H¨h¸ÓAô5ó Bó 9ó 8ð5ô ”3Ð(Ó)õWó *ðWô �9Ð.Ó/õJó 0ðJô Ð# _Ó5ö>HÔ'¨Ó8ó >Hó 6ñ>Hr   c           	      óÐ   — t        j                  ||d«      }|D �cg c]*  }| j                  |||j                  |j                  «      ‘Œ, }}t        j                  ||«      S c c}w ©Né   )r   Úunpack_tupleÚcastÚdtypeÚmake_anonymous_struct)r    r!   ÚfromtyÚtotyÚvalÚolditemsÚvÚitemss           r   Úrange_to_ranger|   «   se   € ä×#Ñ# G¨S°!Ó4€Háó Ù�ð �\‰\˜' 1 f§l¡l°D·J±JÕ?Øð 
ð  ä×(Ñ(¨°%Ó8Ð8ùò s   œ/A#c                 óh   ‡ ‡— t         ˆ fd„«       Št        t        j                  |«      ˆfd„«       }y )Nc                 ót   •— t        |t        j                  «      rˆfd„}t        |j                  |«      |fS y )Nc                 óp   •— |\  }t        j                  ||d«      }t        | ||j                  |‰   «      S rp   )r   rr   r   Úreturn_type)r    r!   r"   r#   rx   r{   Úindexs         €r   Úcodegenz?make_range_attr.<locals>.rangetype_attr_getter.<locals>.codegen·   s<   ø€ Ø‘�Ü×,Ñ,¨W°c¸1Ó=�Ü)¨'°7¸C¿O¹OØ*/°©,ó8ð 8r   )Ú
isinstancer   Ú	RangeTyper   rt   )Ú	typingctxÚar‚   r�   s      €r   Úrangetype_attr_getterz.make_range_attr.<locals>.rangetype_attr_getter´   s3   ø€ ä�aœŸ™Ô)ô8ô
 ˜QŸW™W aÓ(¨'Ð1Ð1ð *r   c                 ó   •— ˆfd„}|S )Nc                 ó   •—  ‰| «      S )N© )Úrnger‡   s    €r   Úgetz0make_range_attr.<locals>.range_attr.<locals>.getÀ   s   ø€ Ù(¨Ó.Ð.r   rŠ   )r‹   rŒ   r‡   s     €r   Ú
range_attrz#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                 óø   — | j                   dkD  r|| j                  k  s|| j                  k\  ry| j                   dk  r|| j                  k  s|| j                  kD  ry|| j                  z
  | j                   z  dk(  S )Nr   F)r   r   r   ©Úrobjrx   s     r   Úimpl_contains_helperr“   Å   sg   € à‡y�y�1‚}˜# §
¡
Ò*¨c°T·Y±YÒ.>ØØ	�‰�QŠ˜C 4§9¡9Ò,°°d·j±jÒ0@Øà�4—:‘:Ñ §¡Ñ*¨qÑ0Ð0r   c                 óT  — d„ }t        | t        j                  «      sy t        |t        j                  t        j                  f«      rt
        S t        |t        j                  «      rd„ }|S t        |t        j                  «      rd„ }|S t        |t        j                  «      s|S y )Nc                  ó   — y)NFrŠ   r‘   s     r   Ú
impl_falsez!impl_contains.<locals>.impl_falseÑ   s   € Ør   c                 ó>   — |dz  dk7  ryt        | t        |«      «      S )Nr   r   F)r“   Úintr‘   s     r   Úimplzimpl_contains.<locals>.implÛ   s!   € Ø�Q‰w˜!Š|Øä+¨D´#°c³(Ó;Ð;r   c                 ó†   — |j                   dk7  ry|j                  dz  dk7  ryt        | t        |j                  «      «      S )Nr   Fr   )ÚimagÚrealr“   r˜   r‘   s     r   r™   zimpl_contains.<locals>.implã   s8   € Ø�x‰x˜1Š}ØØ—‘˜A‘ Ò"Øä+¨D´#°c·h±h³-Ó@Ð@r   )	rƒ   r   r„   ÚIntegerÚBooleanr“   ÚFloatÚComplexÚNumber)r’   rx   r–   r™   s       r   Úimpl_containsr¢   Ï   s…   € òô �dœEŸO™OÔ,Øä	�Cœ%Ÿ-™-¬¯©Ð7Ô	8Ü#Ð#ä	�CœŸ™Ô	%ò	<ð
 ˆä	�CœŸ™Ô	'ò	Að ˆä˜œUŸ\™\Ô*ØÐð +r   )r   r   r   )r�   rŽ   )/Ú__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   rn   Ú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_mapr{   r&   Ústate_typesr„   r|   r�   r“   Úcontainsr¢   Ú	enumerateÚixÚattrrŠ   r   r   Ú<module>rº      s7  ðñó å ß 5Ó 5÷Gó Gå 'ß ZÓ ZÝ 0ò,òIHðX 
‡K�K�5×+Ñ+¨U×-DÑ-DÐEØ	‡K�K�5×+Ñ+¨U×-DÑ-DÐEØ	‡L�L�E×5Ñ5°u×7WÑ7WÐXð€ð ,×1Ñ1Ö3Ñ€HˆkÙ�HÐ+˜{Ô+ð 4ñ ˆE�O‰O˜UŸ_™_Ó-ñ9ó .ð9òð$ ñ1ó ð1ñ 
ˆ(×
Ñ
Óñó ðñ@ Ð3Ö4�H€BˆÙ˜"¨Ö-ñ 5r   