Ë
    èÿæiP8  ã                   óZ  — d dl 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
 d dlmZmZmZmZ d dlmZ d dlmZ  e
«       Zej*                  Zg Zedd	e j.                  fgz  Zed
de j0                  fgz  Zedde j2                  fgz  Zg Zedde j6                  fgz  Zedde j8                  fgz  Zedde j:                  fgz  Zedde j<                  fgz  Zedde j>                  fgz  Zedde j@                  fgz  Zedde jB                  fgz  Zedde jD                  fgz  Zedde jF                  fgz  Zed d!e jH                  fgz  Zed"d#e jJ                  fgz  Zed$d%e jL                  fgz  Zed&d'e jN                  fgz  Zed(d)e jP                  fgz  Zed*d+e jR                  fgz  Zed,d-e jT                  fgz  Zed.d/e jV                  fgz  Zed0d1e jX                  fgz  Zed2d3e jZ                  fgz  Zed4d5e j\                  fgz  Zed6d7e j^                  fgz  Zed8d9e j`                  fgz  Zed:d;e jb                  fgz  Zed<d=e jd                  fgz  Zed>d?e jf                  fgz  Zed@dAe jh                  fgz  Zi Z5dBe5d/<   dCe5d7<   dDe5d?<   dEe5d<   dFe5d%<   dGe5d'<   dHe5d#<   g Z6e6dIdJe jn                  fgz  Z6e6dKdLe jp                  fgz  Z6e6dMdNe jr                  fgz  Z6e6dOdPe jt                  fgz  Z6e6dQdRe jv                  fgz  Z6e6dSdTe jx                  fgz  Z6i Z=dUe=dN<    ee j0                  ej|                  «       ee j.                  ej|                  «      dV„ «       «       Z? eej€                  ej                  ej                  «      dW„ «       ZA ee j2                  ej|                  «      dX„ «       ZB ee j^                  ej†                  «      dY„ «       ZD ee jV                  ej†                  «      dZ„ «       ZE ee jJ                  ej†                  «      d[„ «       ZF ee jN                  ej†                  «      d\„ «       ZG ee jL                  ej†                  «      d]„ «       ZH ee j<                  ej†                  «      d^„ «       ZI ee j8                  ej†                  «      d_„ «       ZJ ee j6                  ej†                  «      d`„ «       ZK ee jH                  ej†                  «      da„ «       ZL ee j:                  ej†                  «      db„ «       ZM ee jh                  ej†                  «      dc„ «       ZNdd„ ZOde„ ZPdf„ ZQdg„ ZRdh„ ZSdi„ ZTdj„ ZUdk„ ZVdl„ ZWeD ],  \  ZXZYZZ e[eeY«      Z\ e[eeX«      Z] eOeZee\«        eOeZee]«       Œ. eD ]@  \  ZXZYZZ e[eeY«      Z\ e[eeX«      Z] eReZee\«        eReZee]«        eSeZee]«        eSeZee]«       ŒB e6D ]@  \  ZXZYZZ e[eeY«      Z\ e[eeX«      Z] eVeZee\«        eVeZee]«        eWeZee]«        eWeZee]«       ŒB dm„ Z^ e^ej                  ej¾                  «        e^ej                  ejÀ                  «       dn„ Za eaej                  ejÄ                  «        eaej                  ejÆ                  «       do„ Zd edej                  ejÊ                  «        edej                  ejÌ                  «       dp„ Zg egej                  ejÐ                  «        egej                  ejÒ                  «       dq„ Zj ejej                  ejÖ                  «        ejej                  ejØ                  «        eSe jØ                  eejØ                  «        eSe jØ                  eejØ                  «       dr„ Zm emej                  ejÜ                  «        emej                  ejÞ                  «       y)sé    N)Úir)ÚtypesÚtypingÚcgutilsÚtargetconfig)ÚRegistry)Úfloat32Úfloat64Úint64Úuint64)Ú	libdevice)ÚcudaÚisnandÚisnanfÚisinfdÚisinffÚ	isfinitedÚfinitefÚceilÚceilfÚfloorÚfloorfÚfabsÚfabsfÚexpÚexpfÚexpm1Úexpm1fÚerfÚerffÚerfcÚerfcfÚtgammaÚtgammafÚlgammaÚlgammafÚsqrtÚsqrtfÚlogÚlogfÚlog2Úlog2fÚlog10Úlog10fÚlog1pÚlog1pfÚacoshÚacoshfÚacosÚacosfÚcosÚcosfÚcoshÚcoshfÚasinhÚasinhfÚasinÚasinfÚsinÚsinfÚsinhÚsinhfÚatanÚatanfÚatanhÚatanhfÚtanÚtanfÚtruncÚtruncfÚ	fast_cosfÚ	fast_sinfÚ	fast_tanfÚ	fast_expfÚ
fast_log2fÚfast_log10fÚ	fast_logfÚcopysignÚ	copysignfÚatan2Úatan2fÚpowÚpowfÚfmodÚfmodfÚhypotÚhypotfÚ	remainderÚ
remainderfÚ	fast_powfc                 óB   — | j                  t        j                  d«      S )Nr   ©Úget_constantr   Úboolean©ÚcontextÚbuilderÚsigÚargss       úh/Volumes/fast/ai/experiments/voice-extract-mac/.venv/lib/python3.12/site-packages/numba/cuda/mathimpl.pyÚmath_isinf_isnan_intrg   D   s   € ð ×Ñ¤§¡¨qÓ1Ð1ó    c                 óh  — | j                   rLt        j                  t        t        t        «      }| j	                  t
        j                  |«      } |||«      S t        j                  ||d   «      5  | j                  j                  |d«       d d d «        |j                  |Ž }|S # 1 sw Y   ŒxY w)Né   )zdivision by zero)Úfastmathr   Ú	signaturer	   Úget_functionr   Úfast_fdividefr   Úif_zeroÚerror_modelÚfp_zero_divisionÚfdiv)rb   rc   rd   re   ÚimplÚress         rf   Úmaybe_fast_truedivru   J   s�   € à×ÒÜ×Ñœw¬´Ó9ˆØ×#Ñ#¤I×$;Ñ$;¸SÓAˆÙ�G˜TÓ"Ð"ä�_‰_˜W d¨1¡gÕ.Ø×Ñ×0Ñ0°Ð:OÔP÷ /àˆg�l‰l˜DÐ!ˆØˆ
÷ /Ð.ús   Á2B(Â(B1c                 óB   — | j                  t        j                  d«      S )Nrj   r^   ra   s       rf   Úmath_isfinite_intrw   W   s   € à×Ñ¤§¡¨qÓ1Ð1rh   c                 ó0   — d„ }| j                  ||||«      S )Nc                 ó@   — t         j                  j                  | «      S ©N)r   Úfp16Úhsin©Úxs    rf   Úfp16_sinzfp16_sin_impl.<locals>.fp16_sin^   ó   € Ü�y‰y�~‰~˜aÓ Ð rh   ©Úcompile_internal)rb   rc   rd   re   r   s        rf   Úfp16_sin_implrƒ   \   ó    € ò!ð ×#Ñ# G¨X°s¸DÓAÐArh   c                 ó0   — d„ }| j                  ||||«      S )Nc                 ó@   — t         j                  j                  | «      S rz   )r   r{   Úhcosr}   s    rf   Úfp16_coszfp16_cos_impl.<locals>.fp16_cosf   r€   rh   r�   )rb   rc   rd   re   rˆ   s        rf   Úfp16_cos_implr‰   d   r„   rh   c                 ó0   — d„ }| j                  ||||«      S )Nc                 ó@   — t         j                  j                  | «      S rz   )r   r{   Úhlogr}   s    rf   Úfp16_logzfp16_log_impl.<locals>.fp16_logn   r€   rh   r�   )rb   rc   rd   re   r�   s        rf   Úfp16_log_implrŽ   l   r„   rh   c                 ó0   — d„ }| j                  ||||«      S )Nc                 ó@   — t         j                  j                  | «      S rz   )r   r{   Úhlog10r}   s    rf   Ú
fp16_log10z#fp16_log10_impl.<locals>.fp16_log10v   ó   € Ü�y‰y×Ñ Ó"Ð"rh   r�   )rb   rc   rd   re   r’   s        rf   Úfp16_log10_implr”   t   ó    € ò#ð ×#Ñ# G¨Z¸¸dÓCÐCrh   c                 ó0   — d„ }| j                  ||||«      S )Nc                 ó@   — t         j                  j                  | «      S rz   )r   r{   Úhlog2r}   s    rf   Ú	fp16_log2z!fp16_log2_impl.<locals>.fp16_log2~   ó   € Ü�y‰y�‰˜qÓ!Ð!rh   r�   )rb   rc   rd   re   r™   s        rf   Úfp16_log2_implr›   |   ó    € ò"ð ×#Ñ# G¨Y¸¸TÓBÐBrh   c                 ó0   — d„ }| j                  ||||«      S )Nc                 ó@   — t         j                  j                  | «      S rz   )r   r{   Úhexpr}   s    rf   Úfp16_expzfp16_exp_impl.<locals>.fp16_exp†   r€   rh   r�   )rb   rc   rd   re   r    s        rf   Úfp16_exp_implr¡   „   r„   rh   c                 ó0   — d„ }| j                  ||||«      S )Nc                 ó@   — t         j                  j                  | «      S rz   )r   r{   Úhfloorr}   s    rf   Ú
fp16_floorz#fp16_floor_impl.<locals>.fp16_floorŽ   r“   rh   r�   )rb   rc   rd   re   r¥   s        rf   Úfp16_floor_implr¦   Œ   r•   rh   c                 ó0   — d„ }| j                  ||||«      S )Nc                 ó@   — t         j                  j                  | «      S rz   )r   r{   Úhceilr}   s    rf   Ú	fp16_ceilz!fp16_ceil_impl.<locals>.fp16_ceil–   rš   rh   r�   )rb   rc   rd   re   rª   s        rf   Úfp16_ceil_implr«   ”   rœ   rh   c                 ó0   — d„ }| j                  ||||«      S )Nc                 ó@   — t         j                  j                  | «      S rz   )r   r{   Úhsqrtr}   s    rf   Ú	fp16_sqrtz!fp16_sqrt_impl.<locals>.fp16_sqrtž   rš   rh   r�   )rb   rc   rd   re   r¯   s        rf   Úfp16_sqrt_implr°   œ   rœ   rh   c                 ó0   — d„ }| j                  ||||«      S )Nc                 ó@   — t         j                  j                  | «      S rz   )r   r{   Úhabsr}   s    rf   Ú	fp16_fabsz!fp16_fabs_impl.<locals>.fp16_fabs¦   r€   rh   r�   )rb   rc   rd   re   r´   s        rf   Úfp16_fabs_implrµ   ¤   s    € ò!ð ×#Ñ# G¨Y¸¸TÓBÐBrh   c                 ó0   — d„ }| j                  ||||«      S )Nc                 ó@   — t         j                  j                  | «      S rz   )r   r{   Úhtruncr}   s    rf   Ú
fp16_truncz#fp16_trunc_impl.<locals>.fp16_trunc®   r“   rh   r�   )rb   rc   rd   re   r¹   s        rf   Úfp16_trunc_implrº   ¬   r•   rh   c                 ó8   ‡‡— ˆˆfd„} t        | ‰«      |«       y )Nc                 óÞ   •— | j                  ‰t        j                  t        j                  ‰«      «      } |||«      }| j                  ||t        j                  t        j                  «      S rz   )rm   r   rl   r   Úint32Úcastr`   )rb   rc   rd   re   Úlibfunc_implÚresultÚlibfuncÚtys         €€rf   Úlower_boolean_implz(impl_boolean.<locals>.lower_boolean_implµ   sS   ø€ Ø×+Ñ+¨GÜ,2×,<Ñ,<¼U¿[¹[È"Ó,MóOˆá˜g tÓ,ˆØ�|‰|˜G V¬U¯[©[¼%¿-¹-ÓHÐHrh   ©Úlower)ÚkeyrÂ   rÁ   rÃ   s    `` rf   Úimpl_booleanrÇ   ´   s   ù€ õIð „Eˆ#ˆrƒNÐ%Õ&rh   c                 ó   ‡‡— ˆˆfd„}|S )Nc                 óö   •— ‰}d }‰t         k(  r+| j                  rt        j                  ‰j                  «      }|�t        t        |«      }| j                  |t        j                  ‰‰«      «      } |||«      S rz   )
r	   rk   Úunarys_fastmathÚgetÚ__name__Úgetattrr   rm   r   rl   ©	rb   rc   rd   re   Úactual_libfuncÚfast_replacementr¿   rÁ   rÂ   s	          €€rf   Úlower_unary_implz.get_lower_unary_impl.<locals>.lower_unary_impl¿   sw   ø€ Ø ˆØÐØ”Š=˜W×-Ò-Ü.×2Ñ2°7×3CÑ3CÓDÐàÐ'Ü$¤YÐ0@ÓAˆNà×+Ñ+¨NÜ,2×,<Ñ,<¸RÀÓ,DóFˆá˜G TÓ*Ð*rh   © ©rÆ   rÂ   rÁ   rÑ   s    `` rf   Úget_lower_unary_implrÔ   ¾   s   ù€ õ+ð Ðrh   c                 ó   — ddt         j                  f}t        |gz   D ]M  \  }}}| |k(  sŒ|t        k(  rt	        t
        |«      }n|t        k(  rt	        t
        |«      }t        ||«      c S  t        d| › d|› d�«      ‚)NÚtanhÚtanhfúImplementation of ú for ú
 not found)	ÚmathrÖ   Úunarysr	   rÍ   r   r
   rÔ   ÚRuntimeError)ÚfnrÂ   Ú
tanh_implsÚfname64Úfname32rÆ   rs   s          rf   Úget_unary_impl_for_fn_and_tyrâ   Î   s…   € ð
 ˜'¤4§9¡9Ð-€JÜ!'¨:¨,Ô!6Ñˆ�˜#Ø�‹9Ø”WŠ}Üœy¨'Ó2‘Ø”w’Üœy¨'Ó2�ä'¨¨R°Ó6Ò6ð "7ô Ð+¨B¨4¨u°R°D¸
ÐCÓ
DÐDrh   c                 óB   — t        | ||«      } t        | |«      |«       y rz   )rÔ   rÅ   rÓ   s       rf   Ú
impl_unaryrä   à   s"   € Ü+¨C°°WÓ=ÐØ„Eˆ#ˆrƒNÐ#Õ$rh   c                 ó4   ‡— ˆfd„} t        | |«      |«       y )Nc                 óZ  •— |j                   d   t        k(  r|j                  }n0|j                   d   t        k(  r|j                  }nd}t        |«      ‚ ||d   t        j                  «       «      }t        j                  t        t        «      }| j                  ‰|«      } |||g«      S )Nr   z<Only 64-bit integers are supported for generic unary int ops©re   r   Úsitofpr   ÚuitofpÚ	TypeErrorr   Ú
DoubleTyper   rl   r
   rm   ©	rb   rc   rd   re   ÚconvertÚmÚargr¿   rÁ   s	           €rf   Úlower_unary_int_implz,impl_unary_int.<locals>.lower_unary_int_implæ   s�   ø€ Ø�8‰8�A‰;œ%ÒØ—n‘n‰GØ�X‰X�a‰[œFÒ"Ø—n‘n‰GàNˆAÜ˜A“,Ðá�d˜1‘gœrŸ}™}›Ó/ˆÜ×Ñœw¬Ó0ˆØ×+Ñ+¨G°SÓ9ˆÙ˜G c UÓ+Ð+rh   rÄ   )rÆ   rÂ   rÁ   rð   s     ` rf   Úimpl_unary_intrñ   å   s   ø€ ô,ð „Eˆ#ˆrƒNÐ'Õ(rh   c                 ó   ‡‡— ˆˆfd„}|S )Nc                 óø   •— ‰}d }‰t         k(  r+| j                  rt        j                  ‰j                  «      }|�t        t        |«      }| j                  |t        j                  ‰‰‰«      «      } |||«      S rz   )
r	   rk   Úbinarys_fastmathrË   rÌ   rÍ   r   rm   r   rl   rÎ   s	          €€rf   Úlower_binary_implz0get_lower_binary_impl.<locals>.lower_binary_implø   sy   ø€ Ø ˆØÐØ”Š=˜W×-Ò-Ü/×3Ñ3°G×4DÑ4DÓEÐàÐ'Ü$¤YÐ0@ÓAˆNà×+Ñ+¨NÜ,2×,<Ñ,<¸RÀÀRÓ,HóJˆá˜G TÓ*Ð*rh   rÒ   ©rÆ   rÂ   rÁ   rõ   s    `` rf   Úget_lower_binary_implr÷   ÷   s   ù€ õ+ð Ðrh   c                 óÒ   — t         D ]M  \  }}}| |k(  sŒ|t        k(  rt        t        |«      }n|t        k(  rt        t        |«      }t        ||«      c S  t        d| › d|› d�«      ‚)NrØ   rÙ   rÚ   )Úbinarysr	   rÍ   r   r
   r÷   rÝ   )rÞ   rÂ   rà   rá   rÆ   rs   s         rf   Úget_binary_impl_for_fn_and_tyrú     sl   € ß!(Ñˆ�˜#Ø�‹9Ø”WŠ}Üœy¨'Ó2‘Ø”w’Üœy¨'Ó2�ä(¨¨b°$Ó7Ò7ð ")ô Ð+¨B¨4¨u°R°D¸
ÐCÓ
DÐDrh   c                 óD   — t        | ||«      } t        | ||«      |«       y rz   )r÷   rÅ   rö   s       rf   Úimpl_binaryrü     s%   € Ü-¨c°2°wÓ?ÐØ„Eˆ#ˆr�2ÓÐ(Õ)rh   c                 ó6   ‡— ˆfd„} t        | ||«      |«       y )Nc                 ó€  •— |j                   d   t        k(  r|j                  }n0|j                   d   t        k(  r|j                  }nd}t        |«      ‚|D �cg c]  } ||t        j                  «       «      ‘Œ }}t        j                  t        t        t        «      }| j                  ‰|«      } |||«      S c c}w )Nr   z=Only 64-bit integers are supported for generic binary int opsrç   rì   s	           €rf   Úlower_binary_int_implz.impl_binary_int.<locals>.lower_binary_int_impl  s�   ø€ Ø�8‰8�A‰;œ%ÒØ—n‘n‰GØ�X‰X�a‰[œFÒ"Ø—n‘n‰GàOˆAÜ˜A“,Ðá9=Ó>¹°#‘˜œRŸ]™]›_Õ-¸ˆÐ>Ü×Ñœw¬´Ó9ˆØ×+Ñ+¨G°SÓ9ˆÙ˜G TÓ*Ð*ùò ?s   Á"B;rÄ   )rÆ   rÂ   rÁ   rÿ   s     ` rf   Úimpl_binary_intr     s   ø€ ô+ð „Eˆ#ˆr�2ÓÐ,Õ-rh   c                 ór   ‡ ‡— ˆˆ fd„} t        t        j                  ‰ t        j                  «      |«       y )Nc                 ó„   •— t        j                  ‰‰t        j                  «      }| j	                  ‰|«      } |||«      S rz   ©r   rl   r   r½   rm   )rb   rc   rd   re   Úpowi_sigr¿   rÁ   rÂ   s         €€rf   Úlower_pow_impl_intz(impl_pow_int.<locals>.lower_pow_impl_intE  s:   ø€ Ü×#Ñ# B¨¬E¯K©KÓ8ˆØ×+Ñ+¨G°XÓ>ˆÙ˜G TÓ*Ð*rh   )rÅ   rÛ   rT   r   r½   )rÂ   rÁ   r  s   `` rf   Úimpl_pow_intr  D  s&   ù€ õ+ð
 %„EŒ$�(‰(�BœŸ™Ó$Ð%7Õ8rh   c                 ó„   ‡ ‡‡— t        j                  ‰ d«      Šˆˆˆ fd„} t        t        j                  ‰ «      |«       y )Né   c                 óf   •— t        j                  ‰‰«      }| j                  ‰|«      } |||«      S rz   ©r   rl   rm   )	rb   rc   rd   re   Úmodf_sigr¿   rÁ   ÚrettyrÂ   s	         €€€rf   Úlower_modf_implz"impl_modf.<locals>.lower_modf_implT  s4   ø€ Ü×#Ñ# E¨2Ó.ˆØ×+Ñ+¨G°XÓ>ˆÙ˜G TÓ*Ð*rh   )r   ÚUniTuplerÅ   rÛ   Úmodf)rÂ   rÁ   r  r  s   `` @rf   Ú	impl_modfr  Q  s/   ú€ Ü�N‰N˜2˜qÓ!€Eö+ð
 „EŒ$�)‰)�RÓ˜Õ)rh   c                 ó¢   ‡ ‡‡— t        j                  ‰ t         j                  f«      Šˆˆˆ fd„} t        t        j
                  ‰ «      |«       y )Nc                 óf   •— t        j                  ‰‰«      }| j                  ‰|«      } |||«      S rz   r
  )	rb   rc   rd   re   Ú	frexp_sigr¿   rÁ   r  rÂ   s	         €€€rf   Úlower_frexp_implz$impl_frexp.<locals>.lower_frexp_implc  s4   ø€ Ü×$Ñ$ U¨BÓ/ˆ	Ø×+Ñ+¨G°YÓ?ˆÙ˜G TÓ*Ð*rh   )r   ÚTupler½   rÅ   rÛ   Úfrexp)rÂ   rÁ   r  r  s   `` @rf   Ú
impl_frexpr  `  s7   ú€ Ü�K‰K˜œUŸ[™[Ð)Ó*€Eö+ð
 „EŒ$�*‰*�bÓÐ*Õ+rh   c                 ór   ‡ ‡— ˆˆ fd„} t        t        j                  ‰ t        j                  «      |«       y )Nc                 ó„   •— t        j                  ‰‰t        j                  «      }| j	                  ‰|«      } |||«      S rz   r  )rb   rc   rd   re   Ú	ldexp_sigr¿   rÁ   rÂ   s         €€rf   Úlower_ldexp_implz$impl_ldexp.<locals>.lower_ldexp_implp  s:   ø€ Ü×$Ñ$ R¨¬U¯[©[Ó9ˆ	Ø×+Ñ+¨G°YÓ?ˆÙ˜G TÓ*Ð*rh   )rÅ   rÛ   Úldexpr   r½   )rÂ   rÁ   r  s   `` rf   Ú
impl_ldexpr  o  s&   ù€ õ+ð
 '„EŒ$�*‰*�bœ%Ÿ+™+Ó&Ð'7Õ8rh   c                 óT   ‡ ‡— ˆˆ fd„} t        t        j                  ‰ «      |«       y )Nc                 óŒ   •‡ ‡‡— d„ }ˆˆˆ ˆˆ	fd„}ˆˆfd„}‰	t         k(  r‰ j                  r |«       }|dk\  r |«       S  |«       S )Nc                  ó^   — t        j                  «       j                  «       } | j                  S rz   )r   ÚConfigStackÚtopÚcompute_capability)Úflagss    rf   Úget_compute_capabilityzBimpl_tanh.<locals>.lower_tanh_impl.<locals>.get_compute_capability~  s%   € Ü ×,Ñ,Ó.×2Ñ2Ó4ˆEØ×+Ñ+Ð+rh   c                  óf   •— t        j                  ‰‰«      } ‰j                  ‰| «      } |‰‰«      S rz   r
  )Útanh_sigr¿   re   rc   rb   rÁ   rÂ   s     €€€€€rf   Útanh_impl_libdevicez?impl_tanh.<locals>.lower_tanh_impl.<locals>.tanh_impl_libdevice‚  s4   ø€ Ü×'Ñ'¨¨BÓ/ˆHØ"×/Ñ/°¸ÓBˆLÙ ¨Ó.Ð.rh   c                  óÌ   •— t        j                  t        j                  «       t        j                  «       g«      } t        j                  | dd«      }‰j	                  |‰«      S )Nztanh.approx.f32 $0, $1;z=f,f)r   ÚFunctionTypeÚ	FloatTypeÚ	InlineAsmÚcall)ÚfntyÚasmre   rc   s     €€rf   Útanhf_impl_fastmathz?impl_tanh.<locals>.lower_tanh_impl.<locals>.tanhf_impl_fastmath‡  sF   ø€ Ü—?‘?¤2§<¡<£>´B·L±L³NÐ3CÓDˆDÜ—,‘,˜tÐ%>ÀÓGˆCØ—<‘<  TÓ*Ð*rh   )é   é   )r	   rk   )
rb   rc   rd   re   r%  r(  r0  ÚccrÁ   rÂ   s
   `` `    €€rf   Úlower_tanh_implz"impl_tanh.<locals>.lower_tanh_impl}  sI   û€ ò	,÷	/ð 	/õ
	+ð
 ”Š=˜W×-Ò-Ù'Ó)ˆBØ�UŠ{Ù*Ó,Ð,á"Ó$Ð$rh   )rÅ   rÛ   rÖ   )rÂ   rÁ   r4  s   `` rf   Ú	impl_tanhr5  |  s   ù€ õ%ð, „EŒ$�)‰)�RÓ˜Õ)rh   c                 óÆ   ‡ ‡— ˆˆ fd„} t        t        j                  ‰‰«      |«        t        t        j                  ‰‰«      |«        t        t        ‰‰«      |«       y )Nc                 ó8   •— ˆˆfd„}| j                  ||||«      S )Nc                 ó:  •— |j                    ‰d«      k(  r&|j                   ‰d«      k(  r ‰d«       ‰d«      z   S | j                    ‰d«      k(  r&|j                    ‰d«      k(  r ‰d«       ‰d«      z   S t        j                  | j                   | j                  «      }t        j                  ||j                   «      }t        j
                  | j                  | j                   «      }||j                   z  }|j                   ‰d«      k7  rJ|t        j                  ||j                  z  «      z  }||j                  t        j                  |«      z  z  }| ‰t        j                  |«      «       ‰t        j                  |«       ‰d«      z  «      z   z  S )Ng        g      ð?y                y              ð?)
ÚrealÚimagrÛ   rX   rT   rR   r   r)   r5   r=   )ÚaÚbÚvabsÚlenÚatÚphaseÚctyÚftys         €€rf   Úcpow_internalz3cpow_implement.<locals>.core.<locals>.cpow_internal¦  s8  ø€ à�v‰v™˜S›Ò! a§f¡f±°C³Ò&8Ù˜3“x¡# d£)Ñ+Ð+Ø—‘™3˜s›8Ò#¨¯©±#°c³(Ò(:Ù˜3“x¡# d£)Ñ+Ð+ä—:‘:˜aŸf™f a§f¡fÓ-ˆDÜ—(‘(˜4 §¡Ó(ˆCÜ—‘˜AŸF™F A§F¡FÓ+ˆBØ˜Ÿ™‘KˆEØ�v‰v™˜S›Ò!Ø”t—x‘x  Q§V¡V¡Ó,Ñ,�Ø˜Ÿ™¤$§(¡(¨4£.Ñ0Ñ0�à™#œdŸh™h u›oÓ.ÙœdŸh™h u›o±°D³	Ñ9Ó:ñ;ñ <ð <rh   r�   )rb   rc   rd   re   rC  rA  rB  s        €€rf   Úcorezcpow_implement.<locals>.core¥  s!   ø€ õ	<ð$ ×'Ñ'¨°ÀÀTÓJÐJrh   )rÅ   ÚoperatorrT   Úipow)rB  rA  rD  s   `` rf   Úcpow_implementrG  ¤  sL   ù€ õKð* "„EŒ(�,‰,˜˜SÓ! $Ô'Ø"„EŒ(�-‰-˜˜cÓ" 4Ô(Ø„EŒ#ˆs�CÓ˜Õrh   )prÛ   rE  Úllvmliter   Ú
numba.corer   r   r   r   Únumba.core.imputilsr   Únumba.typesr	   r
   r   r   Ú
numba.cudar   Únumbar   ÚregistryrÅ   ÚbooleansÚisnanÚisinfÚisfiniterÜ   r   r   r   r   r   r   r!   Úgammar%   r'   r)   r+   r-   r/   r1   r3   r5   r7   r9   r;   r=   r?   rA   rC   rE   rG   rÊ   rù   rP   rR   rT   rV   rX   rZ   rô   ÚIntegerrg   Útruedivru   rw   Úfloat16rƒ   r‰   rŽ   r”   r›   r¡   r¦   r«   r°   rµ   rº   rÇ   rÔ   râ   rä   rñ   r÷   rú   rü   r   rà   rá   rÆ   rÍ   Úimpl32Úimpl64r  ÚpowifÚpowir  Úmodffr  r  Úfrexpfr  r  Úldexpfr  r5  r×   rÖ   rG  Ú	complex64Ú
complex128rÒ   rh   rf   Ú<module>r`     s_  ðÛ Û Ý ß ;Ó ;Ý (ß 7Ó 7Ý  Ý á‹:€Ø�‰€ð €Ø ˆh˜ $§*¡*Ð-Ð.Ñ .€Ø ˆh˜ $§*¡*Ð-Ð.Ñ .€Ø ˆk˜9 d§m¡mÐ4Ð5Ñ 5€à	€Ø ˆF�G˜TŸY™YÐ'Ð
(Ñ (€Ø ˆG�X˜tŸz™zÐ*Ð
+Ñ +€Ø ˆF�G˜TŸY™YÐ'Ð
(Ñ (€Ø ˆE�6˜4Ÿ8™8Ð$Ð
%Ñ %€Ø ˆG�X˜tŸz™zÐ*Ð
+Ñ +€Ø ˆE�6˜4Ÿ8™8Ð$Ð
%Ñ %€Ø ˆF�G˜TŸY™YÐ'Ð
(Ñ (€Ø ˆH�i §¡Ð,Ð
-Ñ -€Ø ˆH�i §¡Ð-Ð
.Ñ .€Ø ˆF�G˜TŸY™YÐ'Ð
(Ñ (€Ø ˆE�6˜4Ÿ8™8Ð$Ð
%Ñ %€Ø ˆF�G˜TŸY™YÐ'Ð
(Ñ (€Ø ˆG�X˜tŸz™zÐ*Ð
+Ñ +€Ø ˆG�X˜tŸz™zÐ*Ð
+Ñ +€Ø ˆG�X˜tŸz™zÐ*Ð
+Ñ +€Ø ˆF�G˜TŸY™YÐ'Ð
(Ñ (€Ø ˆE�6˜4Ÿ8™8Ð$Ð
%Ñ %€Ø ˆF�G˜TŸY™YÐ'Ð
(Ñ (€Ø ˆG�X˜tŸz™zÐ*Ð
+Ñ +€Ø ˆF�G˜TŸY™YÐ'Ð
(Ñ (€Ø ˆE�6˜4Ÿ8™8Ð$Ð
%Ñ %€Ø ˆF�G˜TŸY™YÐ'Ð
(Ñ (€Ø ˆF�G˜TŸY™YÐ'Ð
(Ñ (€Ø ˆG�X˜tŸz™zÐ*Ð
+Ñ +€Ø ˆE�6˜4Ÿ8™8Ð$Ð
%Ñ %€Ø ˆG�X˜tŸz™zÐ*Ð
+Ñ +€à€Ø%€�Ñ Ø%€�Ñ Ø%€�Ñ Ø%€�Ñ Ø'€�Ñ Ø)€�Ñ Ø%€�Ñ à
€Ø ˆZ˜ d§m¡mÐ4Ð5Ñ 5€Ø ˆW�h §
¡
Ð+Ð,Ñ ,€Ø ˆU�F˜DŸH™HÐ%Ð&Ñ &€Ø ˆV�W˜dŸi™iÐ(Ð)Ñ )€Ø ˆW�h §
¡
Ð+Ð,Ñ ,€Ø ˆ[˜,¨¯©Ð7Ð8Ñ 8€àÐ Ø&Ð �Ñ ñ €t‡z�z�5—=‘=Ó!Ù€t‡z�z�5—=‘=Ó!ñ2ó "ó "ð2ñ €x×Ñ˜Ÿ™¨¯©Ó6ñ	ó 7ð	ñ €t‡}�}�e—m‘mÓ$ñ2ó %ð2ñ €t‡x�x�—‘ÓñBó  ðBñ €t‡x�x�—‘ÓñBó  ðBñ €t‡x�x�—‘ÓñBó  ðBñ €t‡z�z�5—=‘=Ó!ñDó "ðDñ €t‡y�y�%—-‘-Ó ñCó !ðCñ €t‡x�x�—‘ÓñBó  ðBñ €t‡z�z�5—=‘=Ó!ñDó "ðDñ €t‡y�y�%—-‘-Ó ñCó !ðCñ €t‡y�y�%—-‘-Ó ñCó !ðCñ €t‡y�y�%—-‘-Ó ñCó !ðCñ €t‡z�z�5—=‘=Ó!ñDó "ðDò'òò Eò$%ò
)ò$ò 
Eò*ò
.ó$ &Ñ€GˆW�cÙ�Y Ó(€FÙ�Y Ó(€FÙ��g˜vÔ&Ù��g˜vÕ&ð	 &ó $Ñ€GˆW�cÙ�Y Ó(€FÙ�Y Ó(€FÙˆs�G˜VÔ$Ùˆs�G˜VÔ$Ù�3˜˜vÔ&Ù�3˜ Õ'ð $ó %Ñ€GˆW�cÙ�Y Ó(€FÙ�Y Ó(€FÙ��W˜fÔ%Ù��W˜fÔ%Ù�C˜ Ô'Ù�C˜ Õ(ð %ò9ñ ˆU�]‰]˜IŸO™OÔ ,Ù ˆU�]‰]˜IŸN™NÔ +ò*ñ 
ˆ%�-‰-˜Ÿ™Ô )Ù 	ˆ%�-‰-˜Ÿ™Ô (ò,ñ ˆ5�=‰=˜)×*Ñ*Ô +Ù 
ˆ5�=‰=˜)Ÿ/™/Ô *ò9ñ ˆ5�=‰=˜)×*Ñ*Ô +Ù 
ˆ5�=‰=˜)Ÿ/™/Ô *ò*ñ4 
ˆ%�-‰-˜Ÿ™Ô )Ù 	ˆ%�-‰-˜Ÿ™Ô (á ˆt�y‰y˜% §¡Ô 0Ù ˆt�y‰y˜& )§.¡.Ô 1òñ6 ˆu�}‰}˜eŸo™oÔ .Ù ˆu�}‰}˜e×.Ñ.Õ /rh   