ó
    „ñ:i”  ã                   óP  • S r SSKJr  SSKrSSKrSSKJr  SSKJr  S r	S r
S rS	S
.S jrS;S jrS rS r\
" \5      S 5       r\
" \5      S<S j5       r\
" \R(                  5      S 5       r\
" \5      S 5       r\
" \5      S 5       r\
" \5      S 5       r\
" \R8                  5      S 5       rS r\" \S5        \" \ S5        \" \!S5        \" \RD                  SS5        \" \RF                  SS5        \" \RH                  SS5        \" \RJ                  SS5        \" \RL                  SS5        \" \RN                  SS S
9  \" \RP                  S!S S
9  \" \RR                  S"S S
9  \" \RT                  S#S S
9  \" \RV                  S$S S
9  \" \RX                  S%5        \" \RZ                  S&5        \" \R\                  S'5        \" \R^                  S(S S
9  \" \R`                  S)S S
9  \" \Rb                  S*S S
9  \" \Rd                  S+S S
9  \" \Rf                  S,SS S
9  \" \Rh                  S-S!S S
9  \" \Rj                  S.S"S S
9  \" \Rl                  S/S#S S
9  \" \Rn                  S0S$S S
9  \" \Rp                  S1S(S S
9  \" \Rr                  S2S)S S
9  \" \Rt                  S3S*S S
9  \" \Rv                  S4S+S S
9  \" \Rx                  S5S S
9  \" \Rz                  S6S S
9  \" \R|                  S7S S
9  \" \R~                  S8S5S S
9  \" \R€                  S9S6S S
9  \" \R‚                  S:S7S S
9  g)=z_
Overloads for ClassInstanceType for built-in functions that call dunder methods
on an object.
é    )ÚwrapsN)Úoverload)ÚClassInstanceTypec                 ó.   • U S;   d   e[        S5      S U  $ )N)é   é   Úxy)Úlist©Ún_argss    Úh/srv/projetos/modelo_ml_acdoc/venv/lib/python3.13/site-packages/numba/experimental/jitclass/overloads.pyÚ	_get_argsr      s!   € Ø�VÓÐÐÜ�‹:�g�vÐÐó    c                 ó   ^ • U 4S jnU$ )zf
Decorator to add an overload for target that applies when the first argument
is a ClassInstanceType.
c                 óè   >^ • [        T 5      U 4S j5       nT[        LaC  [        [        R                  " U5      R
                  5      nU[        [        U5      5      :X  d   e[        T5      " U5      $ )Nc                  óF   >• [        U S   [        5      (       d  g T" U 0 UD6$ )Nr   )Ú
isinstancer   )ÚargsÚkwargsÚfuncs     €r   ÚwrappedÚ;class_instance_overload.<locals>.decorator.<locals>.wrapped   s(   ø€ ä˜d 1™gÔ'8×9Ñ9ØÙ˜Ð( Ñ(Ð(r   )	r   Úcomplexr
   ÚinspectÚ	signatureÚ
parametersr   Úlenr   )r   r   ÚparamsÚtargets   `  €r   Ú	decoratorÚ*class_instance_overload.<locals>.decorator   se   ù€ Ü	ˆt‹ô	)ó 
ð	)ð
 œÒ äœ'×+Ò+¨GÓ4×?Ñ?Ó@ˆFØœY¤s¨6£{Ó3Ó3Ð3Ð3Ü˜Ô Ó(Ð(r   © )r   r    s   ` r   Úclass_instance_overloadr#      s   ø€ õ
)ð Ðr   c                 ó$   • 0 n[        X5        X!   $ )z;
Extract a code-generated function from a string template.
)Úexec)ÚtemplateÚnameÚ	namespaces      r   Úextract_templater)   '   s   € ð €IÜˆÔØ‰?Ðr   r   r   c                ó¦   ^^• [        T5      nSSR                  U5       S3n[        [        US5      5      UU4S j5       n[	        U 5      " U5      $ )zX
Register an overload for func that checks for methods __attr__ for each
attr in attrs.
ú

def func(Ú,z):
    pass
r   c            	      óf   >• T Vs/ s H  n[        U S   SU S3T5      PM     nn[        U6 $ s  snf )Nr   Ú__)Útry_call_methodÚ
take_first)r   r   ÚattrÚoptionsÚattrsr   s       €€r   Úoverload_funcÚ/register_simple_overload.<locals>.overload_func<   sL   ø€ ñ ó
â�ô ˜D ™G r¨$¨¨r ]°FÖ;Ùð 	ð 
ô ˜7Ð#Ð#ùò	
s   †.)r   Újoinr   r)   r#   )r   r   r3   Ú	arg_namesr&   r4   s    ``   r   Úregister_simple_overloadr8   0   sb   ù€ ô ˜&Ó!€Ið
Ø
�(‰(�9Ó
Ð	ð ð€Hô
 Ô˜H fÓ-Ó.õ$ó /ð$ô # 4Ô(¨Ó7Ð7r   c                 ó¶   • XR                   ;   aJ  [        U5      nSSR                  U5       SUS    SU SSR                  USS 5       S	3	n[        US
5      $ g)zc
If method is defined for cls_type, return a callable that calls this method.
If not, return None.
r+   r,   z):
    return r   Ú.Ú(r   Nz)
r   )Újit_methodsr   r6   r)   )Úcls_typeÚmethodr   r7   r&   s        r   r/   r/   G   sx   € ð
 ×%Ñ%Ó%Ü˜fÓ%ˆ	ð
Ø
�(‰(�9Ó
Ð	ð Ø�a‰Lˆ>˜˜6˜( ! C§H¡H¨Y°q°r¨]Ó$;Ð#<ð =ðˆô   ¨&Ó1Ð1ð &r   c                 óF   • XR                   ;   a  SU S3n[        US5      $ g)zw__complex__ needs special treatment as the argument names are kwargs
and therefore specific in name and default value.
z+
def func(real=0, imag=0):
    return real.z()
r   N)r<   r)   )r=   r>   r&   s      r   Útry_call_complex_methodr@   U   s:   € ð ×%Ñ%Ó%ðà�ð ðˆô   ¨&Ó1Ð1ð &r   c                  ó`   • [        S U  5       5      (       d   U 5       eU  H
  nUc  M  Us  $    g)z!
Take the first non-None option.
c              3   ób   #   • U  H%  oS L =(       d    [         R                  " U5      v •  M'     g 7f©N)r   Ú
isfunction)Ú.0Úos     r   Ú	<genexpr>Útake_first.<locals>.<genexpr>e   s%   é € ÐCº7°a�Dˆy×1œG×.Ò.¨qÓ1Ô1º7ùs   ‚-/N)Úall)r2   rF   s     r   r0   r0   a   s4   € ô ÑC¹7ÓC×CÑCÐLÀWÓLÐCÛˆØ‹=ØŠHò r   c                 ód   • [        U S5      nSU R                  ;   a  S nOS nS n[        XU5      $ )NÚ__bool__Ú__len__c                 ó*   • [        [        U 5      5      $ rC   )Úboolr   ©Úxs    r   Úusing_len_implÚ"class_bool.<locals>.using_len_implp   s   € Üœ˜A›“<Ðr   c                 ó   • g)NTr"   rO   s    r   Ú<lambda>Úclass_bool.<locals>.<lambda>u   s   €  r   ©r/   r<   r0   )rP   Úusing_bool_implrQ   Úalways_true_impls       r   Ú
class_boolrY   k   s:   € ä% a¨Ó4€Oà�A—M‘MÓ!ó	 ð ˆá%Ðä�oÐ7GÓHÐHr   c                 ó4   • [        [        U S5      SS j5      $ )NÚ__complex__c                 ó*   • [        [        U 5      5      $ rC   )r   Úfloat©ÚrealÚimags     r   rT   Úclass_complex.<locals>.<lambda>~   s   € œw¤u¨T£{Ô3r   ©r   r   )r0   r@   r^   s     r   Úclass_complexrc   z   s   € äÜ  mÓ4Û3óð r   c                 ó   • [        U SS5      $ )NÚ__contains__r   )r/   ©rP   Úys     r   Úclass_containsrh   ‚   s   € ô ˜1˜n¨aÓ0Ð0r   c                 óp   • [        U S5      /nSU R                  ;   a  UR                  S 5        [        U6 $ )NÚ	__float__Ú	__index__c                 ó4   • [        U R                  5       5      $ rC   )r]   rk   rO   s    r   rT   Úclass_float.<locals>.<lambda>�   s   € ¤ q§{¡{£}Ô!5r   )r/   r<   Úappendr0   ©rP   r2   s     r   Úclass_floatrp   ‰   s7   € ä˜q +Ó.Ð/€Gð 	�q—}‘}Ó$à�‰Ñ5Ô6ä�wÐÐr   c                 ób   • [        U S5      /nUR                  [        U S5      5        [        U6 $ )NÚ__int__rk   )r/   rn   r0   ro   s     r   Ú	class_intrs   •   s/   € ä˜q )Ó,Ð-€Gà‡N�N”? 1 kÓ2Ô3ä�wÐÐr   c                 ó0   • [        [        U S5      S 5      $ )NÚ__str__c                 ó   • [        U 5      $ rC   )ÚreprrO   s    r   rT   Úclass_str.<locals>.<lambda>¢   s   € ”$�q”'r   ©r0   r/   rO   s    r   Ú	class_strrz   ž   s   € äÜ˜˜9Ó%Ùóð r   c                 ó2   • [        [        U SS5      S 5      $ )NÚ__ne__r   c                 ó   • X:X  + $ rC   r"   rf   s     r   rT   Úclass_ne.<locals>.<lambda>­   s   € ˜!“\r   ry   rf   s     r   Úclass_ner   ¦   s    € ô
 Ü˜˜8 QÓ'Ù!óð r   c                 ó8   ^^• UU4S jn[        U 5      " U5        g )Nc                 óp   >• [        U ST S3S5      nST S3UR                  ;   a  S nOS n[        X#5      $ )Nr.   r   c                 ó
   • X:„  $ rC   r"   rf   s     r   Úreflected_implÚEregister_reflected_overload.<locals>.class_lt.<locals>.reflected_impl¶   s	   € Ø‘u�r   rV   )rP   rg   Únormal_implrƒ   Úmeth_forwardÚmeth_reflecteds       €€r   Úclass_ltÚ-register_reflected_overload.<locals>.class_lt²   sG   ø€ Ü% a¨2¨l¨^¸2Ð)>ÀÓBˆà�Ð˜rÐ" a§m¡mÓ3óð "ˆNä˜+Ó6Ð6r   )r#   )r   r†   r‡   rˆ   s    `` r   Úregister_reflected_overloadrŠ   ±   s   ù€ ö	7ô ˜DÔ! (Õ+r   Úabsr   ÚhashÚgeÚleÚgtÚltÚeqÚaddr   ÚfloordivÚlshiftÚmulÚmodÚnegÚposÚinvertÚpowÚrshiftÚsubÚtruedivÚiaddÚ	ifloordivÚilshiftÚimulÚimodÚipowÚirshiftÚisubÚitruedivÚandÚorÚxorÚiandÚiorÚixor)r   rb   )BÚ__doc__Ú	functoolsr   r   ÚoperatorÚnumba.core.extendingr   Únumba.core.typesr   r   r#   r)   r8   r/   r@   r0   rN   rY   r   rc   Úcontainsrh   r]   rp   Úintrs   Ústrrz   Úner   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¦   Úand_Úor_r©   rª   r«   r¬   r"   r   r   Ú<module>r¸      sM  ðñõ Û Û å )Ý .òò
ò*ð 34õ 8ô.2ò	2òñ ˜ÓñIó ðIñ ˜Ó!óó "ðñ ˜×*Ñ*Ó+ñ1ó ,ð1ñ ˜Óñ ó  ð ñ ˜Óñ ó ð ñ ˜Óñó ðñ ˜Ÿ™Ó%ñó &ðò,ñ ˜˜eÔ $Ù ˜˜eÔ $Ù ˜˜vÔ &ñ ˜HŸK™K¨¨tÔ 4Ù ˜HŸK™K¨¨tÔ 4Ù ˜HŸK™K¨¨tÔ 4Ù ˜HŸK™K¨¨tÔ 4ñ ˜HŸK™K¨¨tÔ 4ñ ˜Ÿ™ u°QÒ 7Ù ˜×*Ñ*¨J¸qÒ AÙ ˜Ÿ™¨(¸1Ò =Ù ˜Ÿ™ u°QÒ 7Ù ˜Ÿ™ u°QÒ 7Ù ˜Ÿ™ uÔ -Ù ˜Ÿ™ uÔ -Ù ˜Ÿ™¨(Ô 3Ù ˜Ÿ™ u°QÒ 7Ù ˜Ÿ™¨(¸1Ò =Ù ˜Ÿ™ u°QÒ 7Ù ˜×)Ñ)¨9¸QÒ ?ñ ˜Ÿ™¨°¸aÒ @Ù ˜×+Ñ+¨[¸*ÈQÒ OÙ ˜×)Ñ)¨9°hÀqÒ IÙ ˜Ÿ™¨°¸aÒ @Ù ˜Ÿ™¨°¸aÒ @Ù ˜Ÿ™¨°¸aÒ @Ù ˜×)Ñ)¨9°hÀqÒ IÙ ˜Ÿ™¨°¸aÒ @Ù ˜×*Ñ*¨J¸	È!Ò Lñ ˜Ÿ™¨°aÒ 8Ù ˜Ÿ™ t°AÒ 6Ù ˜Ÿ™ u°QÒ 7ñ ˜Ÿ™¨°¸aÒ @Ù ˜Ÿ™ u¨d¸1Ò =Ù ˜Ÿ™¨°¸aÓ @r   