Ë
    3^(h´F  ã                   ó  — d dl mZ  G d„ de«      Zd„ Zd„ Zd„ Zed„ «       Zed„ «       Zed	„ «       Z	ed
„ «       Z
ed„ «       Zed„ «       Zed„ «       Zed„ «       Zed„ «       Zed„ «       Zed„ «       Zed„ «       Zed„ «       Zed6d„«       Zed„ «       Zed„ «       Zed„ «       Zed„ «       Zed„ «       Zed„ «       Zed7d„«       Zed8d„«       Zed„ «       Zed„ «       Zed „ «       Zed!„ «       Z ed"„ «       Z!ed#„ «       Z"ed$„ «       Z#ed9d&„«       Z$ed'„ «       Z%ed(„ «       Z&ed)„ «       Z'ed*„ «       Z(d+„ Z)dd%l*Z*dd%l+Z+d,„ Z,d-„ Z-ed7d.„«       Z.ed6d/„«       Z/d8d0„Z0ed1„ «       Z1ed2„ «       Z2ed3„ «       Z3ed8d4„«       Z4ed8d5„«       Z5y%):é   )Úxrangec                   óv   — e Zd ZdZi ZdZd„ Ze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y)ÚSpecialFunctionsa  
    This class implements special functions using high-level code.

    Elementary and some other functions (e.g. gamma function, basecase
    hypergeometric series) are assumed to be predefined by the context as
    "builtins" or "low-level" functions.
    gËPÊÿÿï?c           
      ó  — | j                   }|j                  D ]'  }|j                  |   \  }}|j                  |||«       Œ) | j                  d«      | _        | j                  d«      | _        | j                  d«      | _        | j                  d«      | _        | j                  d«      | _        | j                  d«      | _	        | j                  d«      | _
        | j                  d«      | _        | j                  d	«      | _        | j                  d
«      | _        | j                  d«      | _        | j                  d«      | _        | j                  d«      | _        | j                  d«      | _        | j                  d«      | _        | j                  d«      | _        | j                  d«      | _        i | _        | j,                  j/                  ddddddddœ«       | j1                  | j2                  «      | _        y )N)é   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
   ÚargÚconjÚrootÚpsiÚzetaÚfibÚfac)ÚphaseÚ	conjugateÚnthrootÚ	polygammaÚhurwitzÚ	fibonacciÚ	factorial)Ú	__class__Údefined_functionsÚ_wrap_specfunÚ_mpqÚmpq_1Úmpq_0Úmpq_1_2Úmpq_3_2Úmpq_1_4Úmpq_1_16Úmpq_3_16Úmpq_5_2Úmpq_3_4Úmpq_7_4Úmpq_5_4Úmpq_1_3Úmpq_2_3Úmpq_4_3Úmpq_1_6Úmpq_5_6Úmpq_5_3Ú_misc_const_cacheÚ_aliasesÚupdateÚmemoizeÚzetazeroÚzetazero_memoized)ÚselfÚclsÚnameÚfÚwraps        úX/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/mpmath/functions/functions.pyÚ__init__zSpecialFunctions.__init__   s¥  € Ø�n‰nˆØ×)Ñ)ò 	-ˆDØ×+Ñ+¨DÑ1‰GˆAˆtØ×Ñ˜d A tÕ,ð	-ð —Y‘Y˜uÓ%ˆŒ
Ø—Y‘Y˜uÓ%ˆŒ
Ø—y‘y Ó'ˆŒØ—y‘y Ó'ˆŒØ—y‘y Ó'ˆŒØŸ	™	 &Ó)ˆŒØŸ	™	 &Ó)ˆŒØ—y‘y Ó'ˆŒØ—y‘y Ó'ˆŒØ—y‘y Ó'ˆŒØ—y‘y Ó'ˆŒØ—y‘y Ó'ˆŒØ—y‘y Ó'ˆŒØ—y‘y Ó'ˆŒØ—y‘y Ó'ˆŒØ—y‘y Ó'ˆŒØ—y‘y Ó'ˆŒà!#ˆÔà�‰×ÑØØ ØØØð
  Øñ
ô 	ð "&§¡¨d¯m©mÓ!<ˆÕó    c                 ó   — t        | ||«       y ©N)Úsetattr)r:   r;   r<   r=   s       r>   r    zSpecialFunctions._wrap_specfun=   s   € ä��T˜1Õr@   c                 ó   — t         ‚rB   ©ÚNotImplementedError©ÚctxÚnÚzs      r>   Ú_besseljzSpecialFunctions._besseljD   s   € Ô#6Ð6r@   c                 ó   — t         ‚rB   rE   ©rH   rJ   s     r>   Ú_erfzSpecialFunctions._erfE   s   € Ô/Ð/r@   c                 ó   — t         ‚rB   rE   rM   s     r>   Ú_erfczSpecialFunctions._erfcF   ó   € Ô0Ð0r@   c                 ó   — t         ‚rB   rE   )rH   rJ   Úas      r>   Ú_gamma_upper_intz!SpecialFunctions._gamma_upper_intG   s   € Ô+>Ð%>r@   c                 ó   — t         ‚rB   rE   rG   s      r>   Ú_expint_intzSpecialFunctions._expint_intH   s   € Ô&9Ð 9r@   c                 ó   — t         ‚rB   rE   ©rH   Úss     r>   Ú_zetazSpecialFunctions._zetaI   rQ   r@   c                 ó   — t         ‚rB   rE   )rH   rY   rS   rI   ÚderivativesÚreflects         r>   Ú_zetasum_fastzSpecialFunctions._zetasum_fastJ   s   € ÔATÐ;Tr@   c                 ó   — t         ‚rB   rE   rM   s     r>   Ú_eizSpecialFunctions._eiK   ó   € Ô.Ð.r@   c                 ó   — t         ‚rB   rE   rM   s     r>   Ú_e1zSpecialFunctions._e1L   ra   r@   c                 ó   — t         ‚rB   rE   rM   s     r>   Ú_cizSpecialFunctions._ciM   ra   r@   c                 ó   — t         ‚rB   rE   rM   s     r>   Ú_sizSpecialFunctions._siN   ra   r@   c                 ó   — t         ‚rB   rE   rX   s     r>   Ú_altzetazSpecialFunctions._altzetaO   s   € Ô 3Ð3r@   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   ÚTHETA_Q_LIMr?   Úclassmethodr    rK   rN   rP   rT   rV   rZ   r^   r`   rc   re   rg   ri   © r@   r>   r   r      sV   „ ñð Ðð
 €Kò(=ðV ñó ðò 7Ú/Ú0Ú>Ú9Ú0ÚTÚ.Ú.Ú.Ú.Û3r@   r   c                 óD   — | dft         j                  | j                  <   | S )NT©r   r   rj   ©r<   s    r>   Údefun_wrappedrt   Q   s    € Ø56¸°WÔ×&Ñ& q§z¡zÑ2Ø€Hr@   c                 óD   — | dft         j                  | j                  <   | S )NFrr   rs   s    r>   Údefunrv   U   s    € Ø56¸°XÔ×&Ñ& q§z¡zÑ2Ø€Hr@   c                 ó<   — t        t        | j                  | «       | S rB   )rC   r   rj   rs   s    r>   Údefun_staticrx   Y   s   € ÜÔ˜aŸj™j¨!Ô,Ø€Hr@   c                 ó>   — | j                   | j                  |«      z  S rB   )ÚoneÚtanrM   s     r>   Úcotr|   ]   ó   € ØŸ™ #§'¡'¨!£*Ñ,Ð,r@   c                 ó>   — | j                   | j                  |«      z  S rB   )rz   ÚcosrM   s     r>   Úsecr€   `   r}   r@   c                 ó>   — | j                   | j                  |«      z  S rB   )rz   ÚsinrM   s     r>   Úcscrƒ   c   r}   r@   c                 ó>   — | j                   | j                  |«      z  S rB   )rz   ÚtanhrM   s     r>   Úcothr†   f   ó   € ØŸ™ 3§8¡8¨A£;Ñ.Ð.r@   c                 ó>   — | j                   | j                  |«      z  S rB   )rz   ÚcoshrM   s     r>   ÚsechrŠ   i   r‡   r@   c                 ó>   — | j                   | j                  |«      z  S rB   )rz   ÚsinhrM   s     r>   Úcschr�   l   r‡   r@   c                 ó`   — |s| j                   dz  S | j                  | j                  |z  «      S )Nç      à?)ÚpiÚatanrz   rM   s     r>   Úacotr’   o   s*   € áØ�v‰v˜‰|Ðà�x‰x˜Ÿ™ !™Ó$Ð$r@   c                 ó>   — | j                  | j                  |z  «      S rB   )Úacosrz   rM   s     r>   Úasecr•   v   ó   € ØŸ™ #§'¡'¨A¡+Ó.Ð.r@   c                 ó>   — | j                  | j                  |z  «      S rB   )Úasinrz   rM   s     r>   Úacscr™   y   r–   r@   c                 ó`   — |s| j                   dz  S | j                  | j                  |z  «      S )Ny              à?)r�   Úatanhrz   rM   s     r>   Úacothrœ   |   s*   € áØ�v‰v˜‰}Ðà�y‰y˜Ÿ™ 1™Ó%Ð%r@   c                 ó>   — | j                  | j                  |z  «      S rB   )Úacoshrz   rM   s     r>   ÚasechrŸ   „   ó   € ØŸ)™) C§G¡G¨a¡KÓ0Ð0r@   c                 ó>   — | j                  | j                  |z  «      S rB   )Úasinhrz   rM   s     r>   Úacschr£   ‡   r    r@   c                 óÈ   — | j                  |«      }|r| j                  |«      r|S | j                  |«      r|dkD  r| j                  S | j                   S |t	        |«      z  S )Nr	   )ÚconvertÚisnanÚ_is_real_typerz   Úabs©rH   Úxs     r>   Úsignr«   Š   sX   € à�‰�A‹€AÙ�—	‘	˜!”ØˆØ
×Ñ˜ÔØˆqŠ5Ø—7‘7ˆNà—G‘G�8ˆOØŒs�1‹v‰:Ðr@   c                 ó–   — |dk(  r| j                  |«      S | j                  |«      }| j                  |«      }| j                  ||«      S ©Nr   )Úagm1r¥   Ú_agm)rH   rS   Úbs      r>   Úagmr±   –   sA   € àˆA‚vØ�x‰x˜‹{ÐØ�‰�A‹€AØ�‰�A‹€AØ�8‰8�A�q‹>Ðr@   c                 ód   — | j                  |«      rd|z  S |s|dz   S | j                  |«      |z  S r­   )Úisinfr‚   r©   s     r>   Úsincr´   ž   s4   € à
‡y�y�„|Ø�‰sˆ
ÙØ�‰sˆ
Ø�7‰7�1‹:�a‰<Ðr@   c                 ó~   — | j                  |«      rd|z  S |s|dz   S | j                  |«      | j                  |z  z  S r­   )r³   Úsinpir�   r©   s     r>   Úsincpir·   ¦   s=   € à
‡y�y�„|Ø�‰sˆ
ÙØ�‰sˆ
Ø�9‰9�Q‹<˜Ÿ™ ™Ñ"Ð"r@   c                 ó¢   ‡ ‡— ‰s‰ j                   S ‰ j                  ‰«      ‰ j                   k  r‰d‰dz  z  z   S ‰ j                  ˆ ˆfd„d«      S )Nr�   r   c                  ó<   •— t        ‰ j                  ‰«      dg«      S ©Néÿÿÿÿ)ÚiterÚexpr©   s   €€r>   ú<lambda>zexpm1.<locals>.<lambda>·   s   ø€ ¤d¨C¯G©G°A«J°r¨?Ó&;€ r@   r   )ÚzeroÚmagÚprecÚsum_accuratelyr©   s   ``r>   Úexpm1rÃ   ¯   sK   ù€ áØ�x‰xˆà
‡w�wˆqƒz�S—X‘X�IÒØ�3�q˜!‘t‘8‰|Ðà×ÑÔ;¸AÓ>Ð>r@   c                 óÒ   — |s| j                   S | j                  |«      | j                   k  r|d|dz  z  z
  S | j                  | j	                  d|d| j                  z  ¬«      «      S )Nr�   r   r   ©rÁ   )r¿   rÀ   rÁ   ÚlogÚfaddr©   s     r>   Úlog1prÈ   ¹   s\   € áØ�x‰xˆØ
‡w�wˆqƒz�S—X‘X�IÒØ�3�q˜!‘t‘8‰|ÐØ�7‰7�3—8‘8˜A˜q q¨¯©¡z�8Ó2Ó3Ð3r@   c                 óV  ‡‡— | j                   }| j                  }‰‰z  |z
  } ||«      }|dkD  r|S |s‰r‰dv r| j                  ‰«      r|S ‰|z
  } |‰«      }| j                  ‰«      }	| ||	«      z   | j                   k  r|	‰z  |	‰z  dz  dz  z   S | j                  ˆˆfd„d«      S )Niøÿÿÿ)r   r»   y              ð?y       €      ð¿r   c                  ó$   •— t        ‰ ‰z  dg«      S rº   )r¼   )rª   Úys   €€r>   r¾   zpowm1.<locals>.<lambda>Õ   s   ø€ ¤d¨A¨q©D°"¨:Ó&6€ r@   r   )rÀ   rz   ÚisintÚlnrÁ   rÂ   )
rH   rª   rË   rÀ   rz   ÚwÚMÚx1ÚmagyÚlnxs
    ``       r>   Úpowm1rÓ   Á   s¸   ù€ à
�'‰'€CØ
�'‰'€CØ	ˆ1‰ˆs‰
€AÙˆA‹€Aàˆ2‚vØˆáÙ�qÐ,Ñ,°·±¸1´ØˆHØ	
ˆS‰€BÙˆq‹6€DØ
�&‰&�‹)€Cà‰c�#‹h�˜#Ÿ(™(˜Ò"Ø�1‰u˜˜A™ ‘z !‘|Ñ#Ð#à×ÑÔ6¸Ó:Ð:r@   c                 ó"  — t        |«      }t        |«      }||z  }|s| j                  S d|z  |k(  r| j                   S d|z  |k(  r| j                  S d|z  d|z  k(  r| j                   S | j                  d| j	                  |«      z  |z  «      S )Nr   r   r
   )Úintrz   ÚjÚexpjpiÚmpf)rH   ÚkrI   s      r>   Ú_rootof1rÚ   ×   sŒ   € äˆA‹€AÜˆA‹€AØˆ�F€AÙØ�w‰wˆØ	
ˆ1‰�ŠØ—‘ˆxˆØ	
ˆ1‰�ŠØ�u‰uˆØ	
ˆ1‰��!‘ŠØ—‘ˆvˆØ�:‰:�a˜Ÿ™ ›
‘l 1‘nÓ%Ð%r@   r	   c                 ó°  — t        |«      }| j                  |«      }|r›|dz  rDd|z  |dz
  k(  r9| j                  |«      s(| j                  |«      dk  r| j	                  | |«       S | j
                  }	 | xj
                  dz  c_        | j	                  ||d«      | j                  ||«      z  }|| _        |­S | j                  ||«      S # || _        w xY w)Nr   r   r	   é
   )rÕ   r¥   ÚimÚrer   rÁ   rÚ   Ú_nthroot)rH   rª   rI   rÙ   rÁ   Úvs         r>   r   r   æ   sÄ   € äˆA‹€AØ�‰�A‹€AÙà�ŠE�a˜‘c˜Q˜q™S’j¨3¯6©6°!¬9¸3¿6¹6À!»9Àqº=Ø—H‘H˜a˜R “OÐ#Ð#à�x‰xˆð	Ø�HŠH˜‰N�HØ—‘˜˜A˜qÓ! C§L¡L°°AÓ$6Ñ6ˆAàˆCŒHØˆrˆ	Ø�<‰<˜˜1ÓÐøð ˆC�Hús   Á5;C Ã	Cc                 ó„  — | j                   }| j                  }	 | xj                  dz  c_        |r6t        |«      D �cg c]!  } |||«      dk(  sŒ| j                  ||«      ‘Œ# }}n(t        |«      D �cg c]  }| j                  ||«      ‘Œ }}|| _        |D �cg c]  }|­‘Œ c}S c c}w c c}w # || _        w xY wc c}w )NrÜ   r   )Ú_gcdrÁ   ÚrangerÚ   )rH   rI   Ú	primitiveÚgcdrÁ   rÙ   rà   rª   s           r>   Ú	unitrootsræ   ø   s©   € à
�(‰(€CØ�8‰8€DðØ�Š�B‰�ÙÜ,1°!«HÖF q¹¸A¸a»ÀA»�—‘˜a Õ"ÐFˆAÑFô -2°!«HÖ5 q�—‘˜a Õ"Ð5ˆAÐ5àˆŒØŽ?�1ˆQŠBŠ?Ðùò Gùò 6øàˆ�üÚs4   š$B1 ¾B'ÁB'Á$B1 Á4B,ÂB1 Â
B=Â'
B1 Â1	B:c                 óŒ   — | j                  |«      }| j                  |«      }| j                  |«      }| j                  ||«      S rB   )r¥   Ú_reÚ_imÚatan2)rH   rª   rÞ   rÝ   s       r>   r   r     s:   € à�‰�A‹€AØ	�‰�‹€BØ	�‰�‹€BØ�9‰9�R˜ÓÐr@   c                 ó6   — t        | j                  |«      «      S rB   )r¨   r¥   r©   s     r>   Úfabsrì     s   € äˆs�{‰{˜1‹~ÓÐr@   c                 óX   — | j                  |«      }t        |d«      r|j                  S |S )NÚreal)r¥   Úhasattrrî   r©   s     r>   rÞ   rÞ     s'   € à�‰�A‹€AÜˆq�&ÔØ�v‰vˆØ€Hr@   c                 ól   — | j                  |«      }t        |d«      r|j                  S | j                  S )NÚimag)r¥   rï   rñ   r¿   r©   s     r>   rÝ   rÝ     s+   € à�‰�A‹€AÜˆq�&ÔØ�v‰vˆØ�8‰8€Or@   c                 óh   — | j                  |«      }	 |j                  «       S # t        $ r |cY S w xY wrB   )r¥   r   ÚAttributeErrorr©   s     r>   r   r      s4   € à�‰�A‹€AðØ�{‰{‹}ÐøÜò ØŠðús   “# £1°1c                 óF   — | j                  |«      | j                  |«      fS rB   )rì   r   rM   s     r>   Úpolarrõ   (  s   € à�H‰H�Q‹K˜Ÿ™ ›Ð$Ð$r@   c                 óD   — | | j                   | j                  |«      Ž z  S rB   )ÚmpcÚcos_sin)rH   ÚrÚphis      r>   Úrectrû   ,  s!   € àˆwˆs�w‰w˜Ÿ™ CÓ(Ð)Ñ)Ð)r@   Nc                 ó”   — |€| j                  |«      S | j                  dz   }| j                  ||¬«      | j                  ||¬«      z  S )Né   rÅ   )rÍ   rÁ   )rH   rª   r°   Úwps       r>   rÆ   rÆ   0  sG   € à€yØ�v‰v�a‹yÐØ	�‰�B‰€BØ�6‰6�!˜"ˆ6Ó §¡ q¨r Ó 2Ñ2Ð2r@   c                 ó&   — | j                  |d«      S )NrÜ   )rÆ   r©   s     r>   Úlog10r   7  s   € à�7‰7�1�b‹>Ðr@   c                 óH   — | j                  |«      | j                  |«      z  S rB   )r¥   )rH   rª   rË   s      r>   Úfmodr  ;  s   € à�;‰;�q‹>˜CŸK™K¨›NÑ*Ð*r@   c                 ó    — || j                   z  S rB   ©Údegreer©   s     r>   Údegreesr  ?  ó   € àˆs�z‰z‰>Ðr@   c                 ó    — || j                   z  S rB   r  r©   s     r>   Úradiansr	  C  r  r@   c                 ó(  — |s|s|S | j                   |z   S || j                  k(  r)|dk(  r|S |d|z  | j                  z  | j                  z  z   S || j                   k(  r&| d|z  dz   | j                  z  | j                  z  z   S | j	                  |«      S )Nr	   r   r   )ÚninfÚinfr�   rÖ   rÍ   )rH   rJ   rÙ   s      r>   Ú_lambertw_specialr  G  s‘   € áÙØˆHØ�x‰x˜!‰|ÐØˆC�G‰G‚|Ø�Š6ØˆHà�q˜‘s˜3Ÿ6™6‘z #§%¡%Ñ'Ñ'Ð'ØˆC�H‰H‚}Ø��q˜‘s˜1‘u˜cŸf™f‘n S§U¡UÑ*Ñ*Ð*à�6‰6�!‹9Ðr@   c                 óæ  — d}t        | d«      r7t        | j                  «      }| j                  }|rd|dk  z  }t        |«      }nt        | «      }d}d}|sd}t	        ||«      } |dk(  �rd|cxk  rdk  r©n n¦d|cxk  rdk  r›n n˜|r@|d	kD  rd
d| dz
  z  z   S |dkD  rdd| dz
  z  z   S |dk  rdd| dz
  z  z   S |dk  rdd| dz
  z  z   S |dk  r|dk\  rdd| dz   z  z   S dd| dz   z  z   S d}|s||kD  r|} |dk  rdd | |z
  d!z  z  z   d"| |z
  z  z
  S |d!k  r| S d#d$| z  z   S |s1|dkD  r,t        j                  |«      }t        j                  |«      }�nt        j                  | «      }t        j                  |«      }nÙ|dk(  rÔd}|s||cxk  rdk  rn n|} |dk\  r*|d%k  r%d&|cxk  rdk  rn ndd | |z
  d!z  z  z
  d"| |z
  z  z
  S |s=d|cxk  rdk  r2n n/t        j                  | «      }|t        j                  | «      z
  S |dk(  r |s|dk  rt        j                  | «      d'z
  }nt        j                  | «      d(z
  }t        j                  |«      }z
  ||z  z   ||d)z
  z  d)|d)z  z  z  z   S )*Nr	   rñ   r»   g        g      Àg      @g      ð¿g      @ç      ð?yÕxé&1ì?¤p=
×£ä?yh‘í|?5¾?ƒÀÊ¡EÆ¿y      è?      @g      Ð?y)\�Âõ(à?é&1¬Ê?y      Ø?L7‰A`åÀ¿y      è?      à?yÕxé&1ì?¤p=
×£ä¿yh‘í|?5¾?ƒÀÊ¡EÆ?y      è?      Àg      Ð¿y)\�Âõ(à?é&1¬Ê¿y      Ø?L7‰A`åÀ?y      è?      à¿g      à¿y'1¬ZÔ¿q=
×£põ?yçû©ñÒMæ¿`åÐ"Ûùâ¿r   y'1¬ZÔ¿q=
×£põ¿yçû©ñÒMæ¿`åÐ"Ûùâ?g2ï,6V‹×¿gš™™™™™É¿gµÿ¶õ4§@r�   g}tp¹¸þü?gš™™™™™É?g333333Ó?gš™™™™™¹?g333333ã¿y        -DTû!	@y        -DTû!@r   )rï   Úfloatrî   rñ   ÚcomplexÚmathrÆ   Úcmath)rJ   rÙ   Ú	imag_signrª   rË   rù   ÚL1ÚL2s           r>   Ú_lambertw_approx_hybridr  Z  sµ  € Ø€IÜˆq�&ÔÜ�!—&‘&‹MˆØ�F‰FˆÙØ  Q¡™ˆIÜ�!‹H‰ä�!‹HˆØˆØˆ	áØˆÜ��!‹€AØˆAƒvØ�!Œ>�c�>˜d Qœn¨�nÙà�t’8 \°lÀQÈ	Á]Ñ5SÑ$SÐSØ�t’8 \°lÀQÈ	Á]Ñ5SÑ$SÐSØ�u’9 l°|ÀaÈÁmÑ6TÑ%TÐTØ�u’9 l°|ÀaÈÁmÑ6TÑ%TÐTà�4ŠxØ ’>Ø(¨]¸Q¸q¹SÑ,AÑAÐAà(¨]¸Q¸q¹SÑ,AÑAÐAà"ˆAÙ 1 q¢5Ø�à�4ŠxØÐ,¨a°©c°C©ZÑ7Ñ7Ð:JÈAÈaÉCÑ:PÑPÐPà�3Šw˜q˜à˜˜Q™‘;ÐÙ˜q 3šwÜ—‘˜!“ˆB¤4§8¡8¨B£<šbä—‘˜1“ˆB¤E§I¡I¨b£M™rØ	
ˆbŠàˆÙ˜q 1œ{ s�{ØˆAØ˜ŠN  C¢¨D°1¬O°t­OØÐ(¨!¨A©#°©Ñ3Ñ3Ð6FÈÈ!ÉÑ6LÑLÐLÙ˜t qœ¨3�Ü—‘˜1˜"“ˆBØœŸ™ " ›Ñ%Ð%à˜BŠ©¨q°3ªwÜ—Y‘Y˜q“\Ð$7Ñ7‘ä—Y‘Y˜q“\Ð$7Ñ7�Ü—‘˜2“ˆBØ�‰7�R˜‘U‰?˜R  A¡™Y¨¨"¨a©%©Ñ0Ñ0Ð0r@   c                 óJ  ‡ ‡‡‡— ‰ j                  ‰«      }d|cxk  rdk  �rn �nd|cxk  rdk  �rn �n|dk  �rêt        ‰dz   «      dk  �rØ|dk(  s4|d	k(  r‰ j                  ‰«      dk\  s|dk(  �r´‰ j                  ‰«      dk  �rŸ‰ j                  ˆ ˆfd
„«      }‰ j                  |«       }‰ xj                  |z  c_        ‰ j                  d‰ j                  ‰z  dz   z  «      }‰ xj                  |z  c_        ‰ j                  d	«      ‰ j                  d«      dœŠ‰ j                  d«      ‰ j                  d	«      dœ}|dk7  r| }‰ j                  }	t        t        d|«      «      D ]œ  Š‰‰vrf‰ j                  ˆˆfd„t        d‰«      D «       «      |‰<   ‰dz
  ‰‰dz
     dz  |‰dz
     dz  z   z  ‰dz   z  |‰   dz  z
  ‰‰dz
     ‰dz   z  z
  ‰‰<   ‰‰   |‰z  z  }
|	|
z  }	‰ j                  |
«      | k  r|	dfc S ‰dz  ŠŒž ‰ xj                  |dz  z  c_        |	dfS |dk(  s|d	k(  rt        ‰|«      dfS |dk(  r2|d	k  r
‰d‰z
  z  dfS ‰ j                  ‰«      }‰ j                  |«      }n‘|d	k(  rW‰ j                  ‰«      sFd‰ j                  ‰«      cxk  rdk  r,n n)‰ j                  ‰ «      }|‰ j                  | «      z
  dfS ‰ j                  ‰«      d‰ j                  z  |z  z   }‰ j                  |«      }||z
  ||z  z   ||dz
  z  d|dz  z  z  z   dfS )z£
    Return rough approximation for W_k(z) from an asymptotic series,
    sufficiently accurate for the Halley iteration to converge to
    the correct value.
    iöÿÿÿi„  iüÿÿiè  r   gï,6V‹×?gš™™™™™©?r	   r»   c                  ó*   •— ‰‰ j                  d«      gS rº   )r½   rM   s   €€r>   r¾   z"_lambertw_series.<locals>.<lambda>¥  s   ø€ °A°s·w±w¸r³{Ð3C€ r@   r   r   c              3   ó@   •K  — | ]  }‰|   ‰‰d z   |z
     z  –— Œ y­w)r   Nrp   )Ú.0rÖ   ÚlÚus     €€r>   ú	<genexpr>z#_lambertw_series.<locals>.<genexpr>µ  s%   øè ø€ Ò'K¸!¨¨!©¨Q¨q°©s°1©u©X­Ñ'Kùs   ƒr   TFgï,6V‹×¿y               @)rÀ   r¨   ré   rÂ   rÁ   ÚsqrtÚerØ   r¿   r   ÚmaxÚfsumr  rÍ   rè   r�   )rH   rJ   rÙ   ÚtolÚmagzÚdeltaÚcancellationÚprS   rY   Útermr  r  r  r  s   ``           @@r>   Ú_lambertw_seriesr)  ™  s  û€ ð �7‰7�1‹:€DØˆdÔ�S×˜u qÔ/¨4×/à�!‹8œ˜AÐ.Ñ.Ó/°$Ó6Ø�AŠv˜!˜rš' c§g¡g¨a£j°A¢oØ˜q›& c§g¡g¨a£j°1£nØ×*Ñ*Ô+CÓD�Ø #§¡¨£˜�Ø—’˜LÑ(•à—H‘H˜Q §¡ a¡¨¡	™]Ó+�Ø—’˜LÑ(•Ø—w‘w˜r“{ c§g¡g¨a£jÑ1�Ø—w‘w˜q“z S§W¡W¨R£[Ñ1�Ø˜’6Ø˜�AØ—H‘H�ô  ¤ A lÓ 3Ó4ò �AØ ‘zØ"Ÿx™xÔ'K¼vÀaÈ»{Ô'KÓK˜˜!™Ø ! !¡ a¨¨!©¡f¨Q¡h¨q°°1±©v°a©xÑ&7Ñ8¸!¸A¹#Ñ>¸qÀ¹tÀA¹vÑEÀaÈÈ!ÉÁfÈaÐPQÉcÁlÑR˜˜!™Ø˜Q™4 ! Q¡$™;�DØ˜‘I�AØ—w‘w˜t“}¨ tÒ+Ø  $˜wšØ˜‘F‘Aðð —’˜L¨!™OÑ+•Ø˜%�x�Ø�Š6�Q˜"’WÜ*¨1¨aÓ0°%Ð7Ð7ØˆA‚vØ�"Š9Ø�a˜‘c‘7˜E�>Ð!Ø�V‰V�A‹YˆØ�V‰V�B‹Z‰Ø	
ˆbŠ˜#Ÿ'™' !œ*Ð+<¸s¿w¹wÀq»zÔ+MÈAÕ+MØ�V‰V�Q�B‹ZˆØ�C—F‘F˜B˜3“KÑ Ð&Ð&ð �V‰V�A‹Y˜˜CŸF™F™ 1™Ñ$ˆØ�V‰V�B‹ZˆØ�‰7�R˜‘U‰?˜R  A¡™Y¨¨"¨a©%©Ñ0Ñ0°%Ð7Ð7r@   c                 ó‚  — | j                  |«      }t        |«      }| j                  |«      st        | ||«      S | j                  }| xj                  d| j                  |xs d«      z   z  c_        | j                  }|dz
  }t        | |||«      \  }}|s¡| j                  d«      }t        d«      D ]i  }	| j                  |«      }
||
z  }||z
  }||||
z   ||z   |z  ||z  |z   z  z
  z  z
  }| j                  ||z
  «      | j                  |«      |z
  k  r|} n|}Œk 	dk(  r| j                  d|z  «       || _        |­S )Nrý   r   r   r   éd   z1Lambert W iteration failed to converge for z = %s)r¥   rÕ   Úisnormalr  rÁ   rÀ   r)  rØ   r   r½   Úwarn)rH   rJ   rÙ   rÁ   rþ   r#  rÎ   ÚdoneÚtwoÚiÚewÚwewÚwewzÚwns                 r>   Úlambertwr5  Ï  sF  € à�‰�A‹€AÜˆA‹€AØ�<‰<˜Œ?Ü   a¨Ó+Ð+Ø�8‰8€DØ‡H‚H��S—W‘W˜QšV !“_Ñ$Ñ$…HØ	�‰€BØ
ˆq‰&€CÜ˜s A q¨#Ó.�G€A€tÙà�g‰g�a‹jˆÜ˜“ò 		ˆAØ—‘˜“ˆBØ�B‘$ˆCØ�q‘5ˆDØ�T˜3˜r™6 1 S¡5¨$¡,°°A±°c±	Ñ":Ñ:Ñ;Ñ;ˆBØ�w‰w�r˜!‘t‹} §¡¨£¨cÑ 1Ò1Ø�Ùà‘ð		ð �Š8Ø�H‰HÐHÈ1ÑLÔMØ€C„HØˆ2€Ir@   c                 ó–  — | j                  |«      }|s$| j                  |«      r|S  t        |«      d«      S | j                  |«      s3| j                  |«      s"| j                  |«      s| j                  |«      r||z  S |dk(  r|S |dk(  r||dz   z  S |dk(  r| j	                  |«      S t        | ||d«      | j                  |«      z  S )Nr   r   r	   T)r¥   r¦   Útyper³   r·   Ú_polyexpr½   )rH   rI   rª   s      r>   Úbellr9  ì  s´   € à�‰�A‹€AÙØ�9‰9�QŒ<ØˆHØŒt�A‹w�q‹zÐØ
‡y�y�„|�s—y‘y ”| s§y¡y°¤|°s·y±yÀ´|Ø�!‰tˆØˆA‚v�aˆxØˆA‚v�a˜˜1™‘gˆ~ØˆA‚v�c—j‘j “mÐ#Ü�C˜˜A˜tÓ$ s§w¡w¨q£zÑ1Ð1r@   c                 ó@   ‡ ‡‡‡— ˆ ˆˆˆfd„}‰ j                  |d¬«      S )Nc               3   óp   •K  — ‰r‰j                  ‰«      –— ‰} d}	 |‰z  | z  –— |dz  }| ‰z  |z  } Œ­wr­   )r·   )ÚtrÙ   rH   ÚextrarI   rª   s     €€€€r>   Ú_termsz_polyexp.<locals>._termsû  sM   øè ø€ ÙØ—*‘*˜Q“-ÒØˆØˆØØ�Q‘$˜‘(ŠNØ�‰FˆAØ�!‘�A‘ˆAð ùs   ƒ36r   )Ú
check_step)rÂ   )rH   rI   rª   r=  r>  s   ```` r>   r8  r8  ú  s    û€ ÷ð ×Ñ˜f°ÐÓ3Ð3r@   c                 ó^  — | j                  |«      s3| j                  |«      s"| j                  |«      s| j                  |«      r||z  S |dk(  r||z  S |dk(  r| j                  |«      S |dk(  r| j                  |«      |z  S |dk(  r| j                  |«      |z  |dz   z  S t	        | ||«      S )Nr	   r   r   )r³   r¦   rÃ   r½   r8  )rH   rY   rJ   s      r>   ÚpolyexprA    sŸ   € à
‡y�y�„|�s—y‘y ”| s§y¡y°¤|°s·y±yÀ´|Ø�!‰tˆØˆA‚v�a˜‘cˆzØˆA‚v�c—i‘i “lÐ"ØˆA‚v�c—g‘g˜a“j ‘lÐ"ØˆA‚v�c—g‘g˜a“j ‘l A a¡CÑ(Ð(Ü�C˜˜AÓÐr@   c                 ó¢  — t        |«      }|dk  rt        d«      ‚| j                  }|dk(  r|S |dk(  r||z
  S |dk(  r||z   S d}d}d}d}t        d|dz   «      D ]Z  }||z  rŒ	| j	                  ||z  «      }	| j                  ||«       }
|
r	||
|	z  z  }Œ;|	dk(  r||z  }|dz  }ŒK|	dk(  sŒQ||z  }|dz  }Œ\ |r||kD  r|dz  }|S ||z  }||z  }|S )Nr	   zn cannot be negativer   r   r»   )rÕ   Ú
ValueErrorrz   rã   ÚmoebiusrÓ   )rH   rI   rJ   r'  Úa_prodÚb_prodÚ	num_zerosÚ	num_polesÚdrÎ   r°   s              r>   Ú
cyclotomicrJ    s'  € äˆA‹€AØˆ1‚uÜÐ/Ó0Ð0Ø�‰€AØˆA‚vØˆØˆA‚vØ�1‰uˆØˆA‚vØ�1‰uˆð €FØ€FØ€IØ€IÜ�1�Q�q‘S‹\ò #ˆØ�1‹uØ—‘˜A˜q™DÓ!ˆAð —‘˜1˜a“Ð ˆAÙØ�Q˜‘T‘	‘à˜’6Ø˜a‘K�FØ ‘N‘IØ˜"“WØ˜a‘K�FØ ‘N‘Ið#ñ  Ø�yÒ Ø�‰FˆAð €Hð �‰KˆAØ�‰KˆAØ€Hr@   c                 ó<  — t        |«      }|dk  r| j                  S |dz  dk(  r$||dz
  z  dk(  r| j                  ­S | j                  S dD ]K  }||z  rŒ	||z  d}}|dkD  r%t        ||«      \  }}|r| j                  c S |dkD  rŒ%| j	                  |«      c S  | j                  |«      r| j	                  |«      S |dkD  rt        ‚d}	 t        |d|z  z  dz   «      }|dk  r| j                  S ||z  |k(  r"| j                  |«      r| j	                  |«      S |dz  }ŒU)a—  
    Evaluates the von Mangoldt function `\Lambda(n) = \log p`
    if `n = p^k` a power of a prime, and `\Lambda(n) = 0` otherwise.

    **Examples**

        >>> from mpmath import *
        >>> mp.dps = 25; mp.pretty = True
        >>> [mangoldt(n) for n in range(-2,3)]
        [0.0, 0.0, 0.0, 0.0, 0.6931471805599453094172321]
        >>> mangoldt(6)
        0.0
        >>> mangoldt(7)
        1.945910149055313305105353
        >>> mangoldt(8)
        0.6931471805599453094172321
        >>> fsum(mangoldt(n) for n in range(101))
        94.04531122935739224600493
        >>> fsum(mangoldt(n) for n in range(10001))
        10013.39669326311478372032

    r   r	   r   )
r
   r   r   é   é   é   é   é   é   é   l       ©7§3M“e'r  r�   )rÕ   r¿   Úln2ÚdivmodrÍ   ÚisprimerF   )rH   rI   r'  Úqrù   rÙ   s         r>   ÚmangoldtrW  ;  s3  € ô0 	ˆA‹€AØˆ1‚uØ�x‰xˆØˆ1�u�‚zà��!‘‰9˜Š>Ø—G‘G�8ˆOà—8‘8ˆOð
 *ò ˆØ�1‹uØ˜‘6˜1ˆqˆAØ�a’%Ü˜a “|‘��1ÙØŸ8™8’Oð �a“%ð —6‘6˜!“9Òðð ‡{�{�1„~Ø�v‰v�a‹yÐàˆ6‚zÜ!Ð!Ø	€AØ
Ü��B�q‘D‘	˜C‘Ó ˆØˆqŠ5Ø—8‘8ˆOØ�‰6�QŠ;Ø�{‰{˜1Œ~Ø—v‘v˜a“yÐ Ø	ˆQ‰ˆð r@   c                 ó†   — | j                  t        |«      t        |«      «      }|rt        |«      S | j                  |«      S rB   )Ú
_stirling1rÕ   rØ   ©rH   rI   rÙ   Úexactrà   s        r>   Ú	stirling1r\  w  ó4   € à�‰”s˜1“vœs 1›vÓ&€AÙÜ�1‹vˆà�w‰w�q‹zÐr@   c                 ó†   — | j                  t        |«      t        |«      «      }|rt        |«      S | j                  |«      S rB   )Ú
_stirling2rÕ   rØ   rZ  s        r>   Ú	stirling2r`    r]  r@   )r   )r	   )FrB   )6Úlibmp.backendr   Úobjectr   rt   rv   rx   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Æ   r   r  r  r	  r  r  r  r  r)  r5  r9  r8  rA  rJ  rW  r\  r`  rp   r@   r>   ú<module>rc     s>  ðÝ "ôL4�vô L4ò\òòð Ù ,ó Ø ,àÙ ,ó Ø ,àÙ ,ó Ø ,àÙ .ó Ø .àÙ .ó Ø .àÙ .ó Ø .àñ%ó ð%ð Ù .ó Ø .àÙ .ó Ø .àñ&ó ð&ð Ù 0ó Ø 0àÙ 0ó Ø 0àñ	ó ð	ð òó ðð ñó ðð ñ#ó ð#ð ñ?ó ð?ð ñ4ó ð4ð ñ;ó ð;ð* ñ&ó ð&ð òó ðð" òó ðð ñó ðð ñó ðð ñó ðð ñó ðð ñó ðð ñ%ó ð%ð ñ*ó ð*ð ò3ó ð3ð ñó ðð ñ+ó ð+ð ñó ðð ñó ðòó  Û ò=1ò~48ðl òó ðð8 ò2ó ð2ó
4ð ñó ðð ñ(ó ð(ðT ñ9ó ð9ðv òó ðð òó ñr@   