Ë
    èÿæiÄ<  ã                   ó  — d Z ddlZddlZddlZddlZddlZddlmZ ddl	m
Z
 ddlmZmZmZ ddlmZ ddlmZ ddlmZ  ej*                   ej,                  d	«      «      Zej0                  Zej4                  Z ej*                   ej,                  d
«      «      Zej0                  Zej4                  ZdZdZ dZ!dZ"d„ Z#d„ Z$d„ Z%d„ Z&d„ Z'd„ Z(d„ Z)d„ Z*d„ Z+d„ Z,d„ Z-d„ Z.ddd„Z/ e.ej`                  d«        e.ejb                  d«      Z2ejf                  dk\  r e.ejh                  d«      Z5 e.ejl                  d «      Z7 e.ejp                  d!«      Z9 e.ejt                  d"«      Z; e.ejx                  d#«      Z= e/ej|                  d$d%«      Z? e/ej€                  d&d'«      ZA e/ej„                  d(d)«      ZC e/ejˆ                  d*d+«      ZE e/ejŒ                  d,d-«      ZG e/ej�                  d.d/«      ZI e/ej”                  d0d1«      ZK e/ej˜                  d2d3«      ZM e/ejœ                  d4d5«      ZO e/ej                   d6d7«      ZQ e/ej¤                  d8d9«      ZS e/ej¨                  d:d;«      ZU e/ej¬                  d<d=«      ZW e/ej°                  d>d?«      ZY e/ej´                  d@dA«      Z[ e/ej¸                  dBdCdD«      Z] e/ej¼                  dEdFdD«      Z_ e/ejÀ                  dGdH«      Za e/ejÄ                  dIdJ«      Zc e/ejÈ                  dKdLdD«      Ze e/ejÌ                  dMdN«      ZgdO„ ZhdP„ ZidQ„ ZjdR„ ZkdS„ ZldT„ ZmdU„ ZndV„ ZodW„ ZpdX„ ZqdY„ ZrdZ„ Zsd[„ Ztd\„ Zud]„ Zvd^„ Zw e-ejð                  ew«       d_„ Zy e-ejô                  ey«       d`„ Z{da„ Z| ee|«      db„ «       Z}dc„ Z~y)ezA
Provide math calls that uses intrinsics or libc math functions.
é    N)ÚConstant)Úimpl_ret_untracked)ÚtypesÚconfigÚcgutils)Úoverload)Ú	signature)Útrailing_zerosÚfloat32Úfloat64iÿÿÿl        l   ÿÿÿÿ l            c                 ó(   — | j                  d||«      S )z<
    Return a condition testing whether *val* is a NaN.
    Úuno)Úfcmp_unordered©ÚbuilderÚvals     úk/Volumes/fast/ai/experiments/voice-extract-mac/.venv/lib/python3.12/site-packages/numba/np/math/mathimpl.pyÚis_nanr   '   s   € ð ×!Ñ! %¨¨cÓ2Ð2ó    c                 óî   — t        |j                  t        d«      «      }t        |j                  t        d«      «      }| j                  d||«      }| j                  d||«      }| j	                  ||«      S )zB
    Return a condition testing whether *val* is an infinite.
    z+infz-infz==)r   ÚtypeÚfloatÚfcmp_orderedÚor_)r   r   Úpos_infÚneg_infÚisposinfÚisneginfs         r   Úis_infr   -   se   € ô �s—x‘x¤ v£Ó/€GÜ�s—x‘x¤ v£Ó/€GØ×#Ñ# D¨#¨wÓ7€HØ×#Ñ# D¨#¨wÓ7€HØ�;‰;�x Ó*Ð*r   c                 óL   — | j                  ||«      }| j                  d||«      S )z?
    Return a condition testing whether *val* is a finite.
    Úord)Úfsubr   )r   r   Úval_minus_vals      r   Ú	is_finiter$   7   s)   € ð
 —L‘L  cÓ*€MØ×Ñ  }°mÓDÐDr   c                 óº   — |j                   t        j                  j                  «       k(  sJ ‚| j	                  |t        j                  j                  d«      «      S )z1
    Bitcast a double into a 64-bit integer.
    é@   )r   ÚllvmliteÚirÚ
DoubleTypeÚbitcastÚIntTyper   s     r   Úf64_as_int64r,   ?   sC   € ð �8‰8”x—{‘{×-Ñ-Ó/Ò/Ð/Ð/Ø�?‰?˜3¤§¡× 3Ñ 3°BÓ 7Ó8Ð8r   c                 óº   — |j                   t        j                  j                  d«      k(  sJ ‚| j	                  |t        j                  j                  «       «      S )z1
    Bitcast a 64-bit integer into a double.
    r&   )r   r'   r(   r+   r*   r)   r   s     r   Úint64_as_f64r.   F   sC   € ð �8‰8”x—{‘{×*Ñ*¨2Ó.Ò.Ð.Ð.Ø�?‰?˜3¤§¡× 6Ñ 6Ó 8Ó9Ð9r   c                 óº   — |j                   t        j                  j                  «       k(  sJ ‚| j	                  |t        j                  j                  d«      «      S )z0
    Bitcast a float into a 32-bit integer.
    é    )r   r'   r(   Ú	FloatTyper*   r+   r   s     r   Úf32_as_int32r2   M   sC   € ð �8‰8”x—{‘{×,Ñ,Ó.Ò.Ð.Ð.Ø�?‰?˜3¤§¡× 3Ñ 3°BÓ 7Ó8Ð8r   c                 óº   — |j                   t        j                  j                  d«      k(  sJ ‚| j	                  |t        j                  j                  «       «      S )z0
    Bitcast a 32-bit integer into a float.
    r0   )r   r'   r(   r+   r*   r1   r   s     r   Úint32_as_f32r4   T   sC   € ð �8‰8”x—{‘{×*Ñ*¨2Ó.Ò.Ð.Ð.Ø�?‰?˜3¤§¡× 5Ñ 5Ó 7Ó8Ð8r   c                 óN   — | j                  t        |j                  d«      |«      S )zB
    Negate real number *val*, with proper handling of zeros.
    g       €)r"   r   r   r   s     r   Únegate_realr6   [   s    € ð
 �<‰<œ §¡¨4Ó0°#Ó6Ð6r   c                 óœ   — | j                   }|j                  ||D �cg c]  }|j                  ‘Œ c}«      }| j                  ||«      S c c}w )z9
    Call a LLVM intrinsic floating-point operation.
    )ÚmoduleÚdeclare_intrinsicr   Úcall)r   ÚnameÚargsÚmodÚaÚintrs         r   Úcall_fp_intrinsicr@   b   sH   € ð �.‰.€CØ× Ñ  ¹Ó'=¹°1¨¯«¸Ñ'=Ó>€DØ�<‰<˜˜dÓ#Ð#ùò (>s   �A	
c                 ó   ‡ — ˆ fd„}|S )zŒ
    Return an implementation factory to convert the single integral input
    argument to a float64, then defer to the *wrapped_impl*.
    c                 ó.  •— |\  }|j                   d   }| j                  |||t        j                  «      }t	        t        j                  t        j                  «      } ‰	| |||f«      }| j                  ||t        j                  |j
                  «      S )Nr   )r<   Úcastr   r   r	   Úreturn_type)
Úcontextr   Úsigr<   r   Ú
input_typeÚfpvalÚ	inner_sigÚresÚwrapped_impls
            €r   Úimplementerz2_unary_int_input_wrapper_impl.<locals>.implementerp   sr   ø€ Ø‰ˆØ—X‘X˜a‘[ˆ
Ø—‘˜W c¨:´u·}±}ÓEˆÜœeŸm™m¬U¯]©]Ó;ˆ	Ù˜7 G¨Y¸¸ÓAˆØ�|‰|˜G S¬%¯-©-¸¿¹ÓIÐIr   © )rK   rL   s   ` r   Ú_unary_int_input_wrapper_implrN   k   s   ø€ ô
Jð Ðr   c                 ó   — t        |«      }y ©N)rN   )ÚfnÚ
float_implÚimpls      r   Úunary_math_int_implrT   z   s   € Ü(¨Ó4�Dr   c                 ó*   ‡— ˆfd„}t        | |«       |S )zO
    Implement the math function *fn* using the LLVM intrinsic *intrcode*.
    c                 óN   •— t        |‰|«      }t        | ||j                  |«      S rP   )r@   r   rD   )rE   r   rF   r<   rJ   Úintrcodes        €r   rR   z#unary_math_intr.<locals>.float_implƒ   s&   ø€ Ü ¨°4Ó8ˆÜ! '¨7°C·O±OÀSÓIÐIr   )rT   )rQ   rW   rR   s    ` r   Úunary_math_intrrX   ~   s   ø€ ô
Jô ˜˜JÔ'ØÐr   c                 óV   ‡‡— |rt         j                  nd}ˆˆfd„}t        | |«       |S )a!  
    Register implementations of Python function *fn* using the
    external function named *f32extern* and *f64extern* (for float32
    and float64 inputs, respectively).
    If *int_restype* is true, then the function's return value should be
    integral, otherwise floating-point.
    Nc                 óÆ  •— |\  }|j                   }|j                  d   }| j                  |«      }t        j                  ‰t        j
                  ‰i|   }t        j                  j                  ||g«      }	t        j                  |j                   |	|¬«      }
|j                  |
|f«      }| j                  ||||j                  «      }t        | ||j                  |«      S )z9
        Implement *fn* for a types.Float input.
        r   ©r;   )r8   r<   Úget_value_typer   r   r   r'   r(   ÚFunctionTyper   Úinsert_pure_functionr:   rC   rD   r   )rE   r   rF   r<   r   r=   rG   ÚltyÚ	func_nameÚfntyrQ   rJ   Ú	f32externÚ	f64externs               €€r   rR   z%unary_math_extern.<locals>.float_impl”   sÆ   ø€ ð ‰ˆØ�n‰nˆØ—X‘X˜a‘[ˆ
Ø×$Ñ$ ZÓ0ˆä�M‰M˜9Ü�M‰M˜9ðð ñˆ	ô �{‰{×'Ñ'¨¨c¨UÓ3ˆÜ×)Ñ)¨'¯.©.¸$ÀYÔOˆØ�l‰l˜2 ˜vÓ&ˆØ�l‰l˜7 C¨°S·_±_ÓEˆÜ! '¨7°C·O±OÀSÓIÐIr   )r   Úint64rT   )rQ   rb   rc   Úint_restypeÚ	f_restyperR   s    ``   r   Úunary_math_externrg   Š   s*   ù€ ñ  +”—’°€IõJô* ˜˜JÔ'àÐr   z	llvm.fabszllvm.exp)é   é   z	llvm.exp2zllvm.logz
llvm.log10zllvm.sinzllvm.cosÚlog1pfÚlog1pÚexpm1fÚexpm1ÚerffÚerfÚerfcfÚerfcÚtanfÚtanÚasinfÚasinÚacosfÚacosÚatanfÚatanÚasinhfÚasinhÚacoshfÚacoshÚatanhfÚatanhÚsinhfÚsinhÚcoshfÚcoshÚtanhfÚtanhÚlog2fÚlog2ÚceilfÚceilTÚfloorfÚfloorÚnumba_gammafÚnumba_gammaÚsqrtfÚsqrtÚtruncfÚtruncÚlgammafÚlgammac                 óR   — |\  }t        ||«      }t        | ||j                  |«      S rP   )r   r   rD   ©rE   r   rF   r<   r   rJ   s         r   Úisnan_float_implr–   Ó   ó*   € Ø�E€SÜ
�˜#Ó
€CÜ˜g w°·±ÀÓEÐEr   c                 óR   — t         j                  }t        | ||j                  |«      S rP   ©r   Ú	false_bitr   rD   ©rE   r   rF   r<   rJ   s        r   Úisnan_int_implrœ   Ù   ó"   € Ü
×
Ñ
€CÜ˜g w°·±ÀÓEÐEr   c                 óR   — |\  }t        ||«      }t        | ||j                  |«      S rP   )r   r   rD   r•   s         r   Úisinf_float_implrŸ   ß   r—   r   c                 óR   — t         j                  }t        | ||j                  |«      S rP   r™   r›   s        r   Úisinf_int_implr¡   å   r�   r   c                 óR   — |\  }t        ||«      }t        | ||j                  |«      S rP   )r$   r   rD   r•   s         r   Úisfinite_float_implr£   ë   s*   € Ø�E€SÜ
�G˜SÓ
!€CÜ˜g w°·±ÀÓEÐEr   c                 óR   — t         j                  }t        | ||j                  |«      S rP   )r   Útrue_bitr   rD   r›   s        r   Úisfinite_int_implr¦   ò   s"   € Ü
×
Ñ
€CÜ˜g w°·±ÀÓEÐEr   c                 ó  — |d   j                   }|j                  }t        j                  |t        j
                  j                  |||f«      d|j                  z  «      }|j                  ||«      }t        | ||j                  |«      S )Nr   zllvm.copysign.%s)r   r8   r   Úget_or_insert_functionr'   r(   r]   Úintrinsic_namer:   r   rD   )rE   r   rF   r<   r_   r=   rQ   rJ   s           r   Úcopysign_float_implrª   ø   sv   € Ø
ˆq‰'�,‰,€CØ
�.‰.€CÜ	×	'Ñ	'¨¬X¯[©[×-EÑ-EÀcÈCÐQTÈ:Ó-VØ(:¸S×=OÑ=OÑ(Oó
Q€Bà
�,‰,�r˜4Ó
 €CÜ˜g w°·±ÀÓEÐEr   c                 ó:  — |\  }| j                  |j                  d   «      }| j                  |j                  d   «      }t        j                  ||d¬«      }t
        j                  j                  ||t
        j                  j                  |«      f«      }dddœt        |«         }	t        j                  |j                  ||	«      }
|j                  |
||f«      }t        j                  |||j                  |«      f«      }t        | ||j                  |«      S )Nr   é   Úexpr[   Únumba_frexpfÚnumba_frexp©r   Údouble)Úget_data_typer<   rD   r   Úalloca_oncer'   r(   r]   ÚPointerTypeÚstrr¨   r8   r:   Úmake_anonymous_structÚloadr   )rE   r   rF   r<   r   ÚflttyÚinttyÚexpptrra   ÚfnamerQ   rJ   s               r   Ú
frexp_implr¼     sö   € Ø�D€CØ×!Ñ! #§(¡(¨1¡+Ó.€EØ×!Ñ! #§/¡/°!Ñ"4Ó5€EÜ× Ñ  ¨%°eÔ<€FÜ�;‰;×#Ñ# E¨E´8·;±;×3JÑ3JÈ5Ó3QÐ+RÓS€DàØñ
ô ˆe‹*ñ€Eô 
×	'Ñ	'¨¯©¸¸eÓ	D€BØ
�,‰,�r˜C ˜=Ó
)€CÜ
×
'Ñ
'¨°#°w·|±|ÀFÓ7KÐ1LÓ
M€CÜ˜g w°·±ÀÓEÐEr   c                 óT  — |\  }}t        | j                  |j                  «      \  }}t        j                  j                  |||f«      }dddœt        |«         }	t        j                  |j                  ||	¬«      }
|j                  |
||f«      }t        | ||j                  |«      S )NÚnumba_ldexpfÚnumba_ldexpr°   r[   )Úmapr²   r<   r'   r(   r]   rµ   r   r^   r8   r:   r   rD   )rE   r   rF   r<   r   r­   r¸   r¹   ra   r»   rQ   rJ   s               r   Ú
ldexp_implrÁ     s�   € Ø�H€CˆÜ�w×,Ñ,¨c¯h©hÓ7�L€Eˆ5Ü�;‰;×#Ñ# E¨E°5¨>Ó:€DàØñ
ô ˆe‹*ñ€Eô 
×	%Ñ	% g§n¡n°dÀÔ	G€BØ
�,‰,�r˜C ˜:Ó
&€CÜ˜g w°·±ÀÓEÐEr   c                 óR  — |\  }}|j                  |t        j                  j                  «       «      }|j                  |t        j                  j                  «       «      }t	        t
        j                  t
        j                  t
        j                  «      }t        | ||||f«      S rP   )Úsitofpr'   r(   r)   r	   r   r   Úatan2_float_impl©rE   r   rF   r<   ÚyÚxÚfsigs          r   Úatan2_s64_implrÉ   '  ót   € Ø�F€QˆØ�‰�qœ(Ÿ+™+×0Ñ0Ó2Ó3€AØ�‰�qœ(Ÿ+™+×0Ñ0Ó2Ó3€AÜ”U—]‘]¤E§M¡M´5·=±=ÓA€DÜ˜G W¨d°Q¸°FÓ;Ð;r   c                 óR  — |\  }}|j                  |t        j                  j                  «       «      }|j                  |t        j                  j                  «       «      }t	        t
        j                  t
        j                  t
        j                  «      }t        | ||||f«      S rP   )Úuitofpr'   r(   r)   r	   r   r   rÄ   rÅ   s          r   Úatan2_u64_implrÍ   /  rÊ   r   c                 ó   — t        |«      dk(  sJ ‚|j                  }|j                  d   }| j                  |«      }t        j
                  dt        j                  di|   }t        j                  j                  |||f«      }t        j                  |j                  ||¬«      }	|j                  |	|«      }
t        | ||j                  |
«      S )Né   r   Úatan2fÚatan2r[   )Úlenr8   r<   r\   r   r   r   r'   r(   r]   r   r^   r:   r   rD   )rE   r   rF   r<   r=   Útyr_   r`   ra   rQ   rJ   s              r   rÄ   rÄ   7  s´   € Üˆt‹9˜Š>Ðˆ>Ø
�.‰.€CØ	�‰�!‰€BØ
×
 Ñ
  Ó
$€Cä�‰�xÜ�‰�wð
ð ñ€Iô �;‰;×#Ñ# C¨#¨s¨Ó4€DÜ	×	%Ñ	% g§n¡n°dÀÔ	K€BØ
�,‰,�r˜4Ó
 €CÜ˜g w°·±ÀÓEÐEr   c                 ó‚  — |\  }}|j                  |t        j                  j                  «       «      }|j                  |t        j                  j                  «       «      }t	        t
        j                  t
        j                  t
        j                  «      }t        | ||||f«      }t        | ||j                  |«      S rP   ©
rÃ   r'   r(   r)   r	   r   r   Úhypot_float_implr   rD   ©rE   r   rF   r<   rÇ   rÆ   rÈ   rJ   s           r   Úhypot_s64_implrØ   J  óˆ   € Ø�F€QˆØ�‰�qœ(Ÿ+™+×0Ñ0Ó2Ó3€AØ�‰�qœ(Ÿ+™+×0Ñ0Ó2Ó3€AÜ”U—]‘]¤E§M¡M´5·=±=ÓA€DÜ
˜7 G¨T°A°q°6Ó
:€CÜ˜g w°·±ÀÓEÐEr   c                 ó‚  — |\  }}|j                  |t        j                  j                  «       «      }|j                  |t        j                  j                  «       «      }t	        t
        j                  t
        j                  t
        j                  «      }t        | ||||f«      }t        | ||j                  |«      S rP   rÕ   r×   s           r   Úhypot_u64_implrÛ   T  rÙ   r   c                 ó
  ‡‡— |j                   \  }}||cxk(  r|j                  k(  sJ ‚ J ‚|\  }}t        j                  t        j
                  dk(  rdndt        j                  t        j
                  dk(  rdndi|   }t        j                  ||«      Št        j
                  dk(  r+t        j                  dk(  r |t        d«      «      Šˆˆfd„}	nˆfd	„}	| j                  ||	||«      }
t        | ||j                  |
«      S )
NÚwin32Ú_hypotfÚhypotfÚ_hypotÚhypotr0   Úinfc                 ón   •— t        j                  | «      st        j                  |«      r‰S  ‰| |«      S rP   )ÚmathÚisinf)rÇ   rÆ   râ   Ú
plat_hypots     €€r   Ú
hypot_implz$hypot_float_impl.<locals>.hypot_impln  s*   ø€ Ü�z‰z˜!Œ}¤§
¡
¨1¤Ø�
Ù˜a Ó#Ð#r   c                 ó   •—  ‰| |«      S rP   rM   )rÇ   rÆ   ræ   s     €r   rç   z$hypot_float_impl.<locals>.hypot_impls  s   ø€ Ù˜a Ó#Ð#r   )r<   rD   r   r   ÚsysÚplatformr   ÚExternalFunctionr   ÚMACHINE_BITSr   Úcompile_internalr   )rE   r   rF   r<   ÚxtyÚytyrÇ   rÆ   r»   rç   rJ   râ   ræ   s              @@r   rÖ   rÖ   ^  sç   ù€ Ø�x‰x�H€CˆØ�#Ô(˜Ÿ™Ò(Ð(Ñ(Ð(Ð(Ø�D€A€qô
 	�‰¤C§L¡L°GÒ$;‘yÀÜ�‰¤3§<¡<°7Ò#:‘xÀðð 
ñ€Eô ×'Ñ'¨¨sÓ3€Jä
‡|�|�wÒ¤6×#6Ñ#6¸"Ò#<Ù”%˜“,Óˆö	$ô
	$ð ×
"Ñ
" 7¨J¸¸TÓ
B€CÜ˜g w°·±ÀÓEÐEr   c                 ó¸   — |\  }| j                  |j                  t        j                  dz  «      }|j	                  ||«      }t        | ||j                  |«      S ©Né´   ©Úget_constantrD   rä   ÚpiÚfmulr   ©rE   r   rF   r<   rÇ   ÚcoefrJ   s          r   Úradians_float_implrù   }  sL   € Ø
�C€QØ×Ñ §¡´·±¸3±Ó?€DØ
�,‰,�q˜$Ó
€CÜ˜g w°·±ÀÓEÐEr   c                 ó¸   — |\  }| j                  |j                  dt        j                  z  «      }|j	                  ||«      }t        | ||j                  |«      S rñ   ró   r÷   s          r   Údegrees_float_implrû   ˆ  sL   € Ø
�C€QØ×Ñ §¡°´t·w±w±Ó?€DØ
�,‰,�q˜$Ó
€CÜ˜g w°·±ÀÓEÐEr   c                 óT   — | j                  t        j                  |«      } |||«      S rP   )Úget_functionÚoperatorÚpow)rE   r   rF   r<   rS   s        r   Úpow_implr   ”  s%   € Ø×Ñ¤§¡¨cÓ2€DÙ�˜ÓÐr   c                  ó   — y)z8Convert integer to unsigned integer of equivalent width.NrM   ©ÚTs    r   Ú	_unsignedr  ›  s   € àr   c                 ó°   ‡— | t         j                  v rd„ S | t         j                  v r.t        t         dj	                  | j
                  «      «      Šˆfd„S y )Nc                 ó   — | S rP   rM   r  s    r   Ú<lambda>z _unsigned_impl.<locals>.<lambda>¢  s   € ™r   zuint{}c                 ó   •—  ‰| «      S rP   rM   ©r  ÚnewTs    €r   r  z _unsigned_impl.<locals>.<lambda>¥  s	   ø€ ™˜aœr   )r   Úunsigned_domainÚsigned_domainÚgetattrÚformatÚbitwidthr	  s    @r   Ú_unsigned_implr  Ÿ  sI   ø€ àŒE×!Ñ!Ñ!ÙÐØ	
Œe×!Ñ!Ñ	!Ü”u˜hŸo™o¨a¯j©jÓ9Ó:ˆÛ Ð ð 
"r   c                 ó¼   — |j                   \  }}||cxk(  r|j                  k(  sJ ‚ J ‚|\  }}d„ }| j                  ||||«      }	t        | ||j                  |	«      S )Nc                 óè  — t        | «      }| dk(  rt        |«      S |dk(  rt        | «      S t        | «      }t        |«      }t        ||«      }t	        t        t        j                  | |«      «      «      }t	        t        t        j                  ||«      «      «      }||k7  r3||kD  r||}}||z  }t        j                  |t        |«      «      }||k7  rŒ3t        j                   ||«      |«      }|S )zO
        Stein's algorithm, heavily cribbed from Julia implementation.
        r   )r   Úabsr
   Úminr  ÚnpÚright_shiftÚ
left_shift)	r>   Úbr  ÚzaÚzbÚkÚuÚvÚrs	            r   Úgcdzgcd_impl.<locals>.gcd­  s×   € ô �‹GˆØ�Š6œ#˜a›&�=Ø�Š6œ#˜a›&�=Ü˜AÓˆÜ˜AÓˆÜ��B‹Kˆä”cœ"Ÿ.™.¨¨BÓ/Ó0Ó1ˆÜ”cœ"Ÿ.™.¨¨BÓ/Ó0Ó1ˆØ�1ŠfØ�1ŠuØ˜!�1�Ø�‰FˆAÜ—‘˜q¤.°Ó"3Ó4ˆAð	 �1‹fô
 �M‰M™!˜A›$ Ó"ˆØˆr   )r<   rD   rí   r   )
rE   r   rF   r<   rî   rï   rÇ   rÆ   r  rJ   s
             r   Úgcd_implr   ¨  sg   € Ø�x‰x�H€CˆØ�#Ô(˜Ÿ™Ò(Ð(Ñ(Ð(Ð(Ø�D€A€qòð* ×
"Ñ
" 7¨C°°dÓ
;€CÜ˜g w°·±ÀÓEÐEr   )F)Ú__doc__rä   rþ   ré   Únumpyr  Úllvmlite.irr'   r   Únumba.core.imputilsr   Ú
numba.corer   r   r   Únumba.core.extendingr   Únumba.core.typingr	   Únumba.cpython.unsafe.numbersr
   ÚfinfoÚdtypeÚ_NP_FLT_FINFOÚmaxÚFLT_MAXÚtinyÚFLT_MINÚ_NP_DBL_FINFOÚDBL_MAXÚDBL_MINÚFLOAT_ABS_MASKÚFLOAT_SIGN_MASKÚDOUBLE_ABS_MASKÚDOUBLE_SIGN_MASKr   r   r$   r,   r.   r2   r4   r6   r@   rN   rT   rX   rg   Úfabsr­   Úexp_implÚversion_infoÚexp2Ú	exp2_implÚlogÚlog_implÚlog10Ú
log10_implÚsinÚsin_implÚcosÚcos_implrk   Ú
log1p_implrm   Ú
expm1_implro   Úerf_implrq   Ú	erfc_implrs   Útan_implru   Ú	asin_implrw   Ú	acos_implry   Ú	atan_implr{   Ú
asinh_implr}   Ú
acosh_implr   Ú
atanh_implr�   Ú	sinh_implrƒ   Ú	cosh_implr…   Ú	tanh_implr‡   Ú	log2_implr‰   Ú	ceil_implr‹   Ú
floor_implÚgammaÚ
gamma_implr�   Ú	sqrt_implr‘   Ú
trunc_implr“   Úlgamma_implr–   rœ   rŸ   r¡   r£   r¦   rª   r¼   rÁ   rÉ   rÍ   rÄ   rØ   rÛ   rÖ   rù   Úradiansrû   Údegreesr   r  r  r   rM   r   r   Ú<module>r\     s™  ðñó Û Û 
Û ã Ý  å 2ß -Ñ -Ý )Ý 'Ý 7ð �—‘˜˜Ÿ™ )Ó,Ó-€Ø
×
Ñ
€Ø
×
Ñ
€à�—‘˜˜Ÿ™ )Ó,Ó-€Ø
×
Ñ
€Ø
×
Ñ
€à€Ø€Ø$€Ø%Ð ò3ò+òEò9ò:ò9ò9ò7ò$òò5ò
ó!ñH �—	‘	˜;Ô 'Ù˜4Ÿ8™8 ZÓ0€Ø×Ñ�wÒÙ §	¡	¨;Ó7€IÙ˜4Ÿ8™8 ZÓ0€Ù˜TŸZ™Z¨Ó6€
Ù˜4Ÿ8™8 ZÓ0€Ù˜4Ÿ8™8 ZÓ0€á˜tŸz™z¨8°WÓ=€
Ù˜tŸz™z¨8°WÓ=€
Ù˜TŸX™X v¨uÓ5€Ù˜dŸi™i¨°&Ó9€	á˜TŸX™X v¨uÓ5€Ù˜dŸi™i¨°&Ó9€	Ù˜dŸi™i¨°&Ó9€	Ù˜dŸi™i¨°&Ó9€	á˜tŸz™z¨8°WÓ=€
Ù˜tŸz™z¨8°WÓ=€
Ù˜tŸz™z¨8°WÓ=€
Ù˜dŸi™i¨°&Ó9€	Ù˜dŸi™i¨°&Ó9€	Ù˜dŸi™i¨°&Ó9€	á˜dŸi™i¨°&Ó9€	Ù˜dŸi™i¨°&¸$Ó?€	Ù˜tŸz™z¨8°W¸dÓC€
á˜tŸz™z¨>¸=ÓI€
Ù˜dŸi™i¨°&Ó9€	Ù˜tŸz™z¨8°W¸dÓC€
Ù §¡¨Y¸ÓA€òFòFòFòFòFòFòFòFò"
Fò"<ò<òFò&FòFòFò>Fñ �D—L‘LÐ"4Ô 5ò
Fñ �D—L‘LÐ"4Ô 5òò	ñ 
ˆ)Óñ!ó ð!óFr   