ó
    ˆ*£h¬  ã                   ón   • S SK Jr  SSKrSSKrS SKJr  S SKJr  S SKJrJ	r	J
r
  S SKJr   " S S	\5      rg)
é   )ÚStandardBaseContexté    N)Úmath2)Úfunction_docs)Úmpf_bernoulliÚto_floatÚ	int_types)Úlibmpc                   ó^  • \ rS rSrSrS rS r\R                  rS r	S r
S rS rS	r\" \	\
5      r\" \\5      rS
rSr\R(                  r\R,                  r\R0                  r\R4                  rSr\S 5       rS r\R@                  r \RB                  r!\RD                  r"Sr#Sr$Sr%Sr&Sr'Sr"Sr(Sr)Sr*Sr+\,=r-r.S r/S r0S r1S r2S r3\4r5\6r7S r8\9" \Rt                  5      r;\9" \Rx                  5      r<\9" \Rz                  5      r=\9" \R|                  5      =r?r>\9" \R€                  5      r@\9" \R‚                  5      rA\9" \R„                  5      rB\9" \R†                  5      rC\9" \Rˆ                  5      rD\9" \RŠ                  5      rE\9" \RŒ                  5      rF\9" \RŽ                  5      rG\9" \R�                  5      rH\9" \R’                  5      rI\9" \R”                  5      rJ\9" \R–                  5      rK\9" \R˜                  5      =rMrL\9" \Rœ                  5      rN\9" \Rž                  5      rO\9" \R                   5      rP\9" \R¢                  5      rQ\9" \R¤                  5      rR\9" \R¦                  5      rT\9" \Rª                  5      rV\9" \R®                  5      rX\9" \R²                  5      =rZr[S r\S  r]S! r^\_RÀ                  r`\_RÂ                  raS" rbS# rcS$ rdS% reS& rfS' rgS1S( jrhS) riS* rj\9" \RÖ                  5      rkS+ rl\mrnS, roS- rp\9" \Râ                  5      rr\9" \Ræ                  5      rtS2S. jruS/rvg0)3Ú	FPContexté   z‘
Context for fast low-precision arithmetic (53-bit precision, giving at most
about 15-digit accuracy), using Python's builtin float and complex.
c                 ó–   • [         R                  " U 5        [        R                  U l        0 U l        SU l        U R                  5         g )NF)r   Ú__init__r   ÚloggammaÚ_bernoulli_cacheÚprettyÚ_init_aliases©Úctxs    ÚJ/home/mande/repo/quber/.venv/lib/python3.13/site-packages/mpmath/ctx_fp.pyr   ÚFPContext.__init__   s8   € Ü×$Ò$ SÔ)ô —~‘~ˆŒØ!ˆÔØˆŒ
à×ÑÕó    c                 ó*   • [        US   5      US   -  $ ©Nr   r   )Úfloat)ÚclsÚxs     r   Ú<lambda>ÚFPContext.<lambda>   s   € œ%  !¡›+ a¨¡dÒ*r   c                 ó   • g)Né5   © r   s    r   Ú	_get_precÚFPContext._get_prec    s   € ˜rr   c                 ó   • g ©Nr"   ©r   Úps     r   Ú	_set_precÚFPContext._set_prec!   s   € ˜6r   c                 ó   • g)Né   r"   r   s    r   Ú_get_dpsÚFPContext._get_dps"   s   € ˜br   c                 ó   • g r&   r"   r'   s     r   Ú_set_dpsÚFPContext._set_dps#   s   € ˜&r   Tç        ç      ð?y              ð?c                 óœ   ^• U(       a  U4S jnOTn[         R                  R                  UTR                  5      Ul        [	        XU5        g )Nc                 ól   >• U R                   nU Vs/ s H
  oC" U5      PM     nnT" U /UQ70 UD6$ s  snf r&   )Úconvert)r   ÚargsÚkwargsr6   ÚaÚfs        €r   Ú	f_wrappedÚ*FPContext._wrap_specfun.<locals>.f_wrapped6   s>   ø€ ØŸ+™+�Ù,0Ó1ªD q˜ ž
©D�Ð1Ù˜Ð.˜tÒ. vÑ.Ð.ùò 2s   ’1)r   Ú__dict__ÚgetÚ__doc__Úsetattr)r   Únamer:   Úwrapr;   s     `  r   Ú_wrap_specfunÚFPContext._wrap_specfun3   s;   ø€ æö/ð
 ˆIÜ)×2Ñ2×6Ñ6°t¸Q¿Y¹YÓGˆ	ÔÜ�˜9Õ%r   c                 ób   • U R                   nX;   a  X!   $ [        [        USS5      SS9X!'   X!   $ )Nr!   ÚnT)Ústrict)r   r   r   )r   rF   Úcaches      r   Ú	bernoulliÚFPContext.bernoulli?   s7   € Ø×$Ñ$ˆØ‹:Ø‘8ˆOÜœM¨!¨R°Ó5¸dÑCˆ‰Ø‰xˆr   gÍ;fž ö?g¨ô—›wã@g¨ô—›wãù?gï9úþB.æ?gUµ»±k@g¶oüŒxâ?g]è—Oí?gm<BÎ{@g!ð ;ó?gsØ/OÒ„ô?c                 ó   • X-
  S:g  $ )Nr2   r"   ©r   r   s     r   Ú
is_specialÚFPContext.is_specialV   s   € Ø‰u˜‰|Ðr   c                 ó
   • X:g  $ r&   r"   rL   s     r   ÚisnanÚFPContext.isnanY   s	   € Ø‰vˆr   c                 ó:   • [        U5      [        R                  :H  $ r&   )Úabsr   ÚINFrL   s     r   ÚisinfÚFPContext.isinf\   s   € Ü�1‹vœŸ™Ñ"Ð"r   c                 ó    • U(       a  X-
  S:H  $ g)Nr2   Fr"   rL   s     r   ÚisnormalÚFPContext.isnormal_   s   € ÞØ‘5˜C‘<ÐØr   c                 ó–   • [        U5      [        L a  UR                  (       a  gUR                  nUS:*  =(       a    [	        U5      U:H  $ )NFr2   )ÚtypeÚcomplexÚimagÚrealÚroundrL   s     r   ÚisnpintÚFPContext.isnpintd   s8   € Ü�‹7”gÒØ�v�vØØ—‘ˆAØ�C‰x×)œE !›H¨™MÐ)r   c                 ó>   •  [        U5      $ !   [        U5      s $ = fr&   )r   r\   rL   s     r   r6   ÚFPContext.convertn   s!   € ð	Ü˜“8ˆOøð	Ü˜1“:Òús   ‚
 �c                 ón   • [        U5      n[        R                  " UR                  UR                  5      $ r&   )r\   ÚmathÚatan2r]   r^   ©r   Úzs     r   ÚargÚFPContext.arg�   s$   € Ü�A‹JˆÜ�zŠz˜!Ÿ&™& !§&¡&Ó)Ð)r   c                 ó>   • U R                  U R                  U-  5      $ r&   )ÚexpÚjrL   s     r   ÚexpjÚFPContext.expj”   s   € Ø�w‰w�s—u‘u˜Q‘wÓÐr   c                 óX   • U R                  U R                  U R                  -  U-  5      $ r&   )rl   rm   ÚpirL   s     r   ÚexpjpiÚFPContext.expjpi—   s!   € Ø�w‰w�s—u‘u˜SŸV™V‘| A‘~Ó&Ð&r   c                 ób   • U(       a  U R                  [        U5      5      S   $ U R                  $ )Nr   )ÚfrexprS   Úninfrg   s     r   ÚmagÚFPContext.mag�   s&   € ÞØ—9‘9œS ›VÓ$ QÑ'Ð'Ø�x‰xˆr   c                 óŒ   • [        US5      (       a  UR                  (       a  gUR                  n U[        U5      :H  $ !    g= f)Nr]   F)Úhasattrr]   r^   Úintrg   s     r   ÚisintÚFPContext.isint¢   s?   € Ü�1�f×ÑØ�v�vØØ—‘ˆAð	Øœ˜A›‘;Ðøð	Ùús	   ±? ¿Ac                 óÄ   • [        US5      (       a  [        UR                  5      nO[        U5      nX!:X  a  X R                  4$ X R	                  [        X-
  5      5      4$ )Nr]   )rz   r_   r^   rv   rw   rS   )r   rh   rF   s      r   Únint_distanceÚFPContext.nint_distance¬   sN   € Ü�1�f×ÑÜ�a—f‘f“‰Aä�a“ˆAØ‹6Ø—h‘h�;ÐØ—'‘'œ#˜a™c›(Ó#Ð#Ð#r   c                 óØ   • [        U5      [        L a  Uu  p#U R                  U5      U-  S4$ [        US5      (       a  [	        UR
                  5      nO[	        U5      nX:X  a  US4$ US4$ )NÚRr]   ÚZ)r[   ÚtupleÚmpfrz   r{   r^   )r   rh   r(   ÚqÚintzs        r   Ú_convert_paramÚFPContext._convert_paramµ   sg   € Ü�‹7”eÒØ‰DˆAØ—7‘7˜1“: ‘> 3Ð&Ð&Ü�1�f×ÑÜ�q—v‘v“;‰Dä�q“6ˆDØ‹9Ø˜�9ÐØ�#ˆvˆr   c                 óP   • [        U[        5      =(       d    [        U[        5      $ r&   )Ú
isinstancer   r	   rg   s     r   Ú_is_real_typeÚFPContext._is_real_typeÁ   s   € Ü˜!œUÓ#×?¤z°!´YÓ'?Ð?r   c                 ó"   • [        U[        5      $ r&   )r‹   r\   rg   s     r   Ú_is_complex_typeÚFPContext._is_complex_typeÄ   s   € Ü˜!œWÓ%Ð%r   c                 ó   • [        U5      n[        U5      n[        XU-   5      n	U R                  n
S=p¼Sn U H  oìXN   U-   -  nM     U	 H  oìXN   U-   -  nM     US-  oÜU-  oÌU-  oËU-  n[        U5      U
:  a  U$ XÖ:”  a  U R                  eMY  )Nr3   r   r   )ÚlistÚrangeÚepsrS   ÚNoConvergence)r   r(   r†   ÚtypesÚcoeffsrh   Úmaxtermsr8   ÚnumÚdenÚtolÚsÚtÚkÚis                  r   ÚhypsumÚFPContext.hypsumÇ   s¢   € Ü�f“ˆÜ�A‹hˆÜ�A˜‘c‹lˆØ�g‰gˆØˆˆØˆØÛ� ¡	¨!¡Ñ,š!‘SÛ� ¡	¨!¡Ñ,š!‘SØ�‰FˆA˜‘F�A ™F˜A¨¡F AÜ�1‹v˜‹|Ø�Ø‹|Ø×'Ñ'Ð'ñ r   c                 ó.   • [         R                  " X5      $ r&   )re   rf   )r   r   Úys      r   rf   ÚFPContext.atan2×   s   € Ü�zŠz˜!ÓÐr   c                 ó¦   • [        U5      nUS:X  a  U R                  U5      $ SUS-   -  U R                  U5      -  U R                  US-   U5      -  $ )Nr   éÿÿÿÿr   )r{   ÚdigammaÚfacÚzeta)r   Úmrh   s      r   ÚpsiÚFPContext.psiÚ   sO   € Ü�‹FˆØ�‹6Ø—;‘;˜q“>Ð!Ø�a˜‘c‰{˜SŸW™W Q›ZÑ'¨#¯(©(°1°Q±3¸Ó*:Ñ:Ð:r   c                 ó‚   • U R                  U5      nUS:X  d  US:X  a  U$ U R                  US-   5      U R                  -   $ r   )r6   r§   ÚeulerrL   s     r   ÚharmonicÚFPContext.harmonicâ   s=   € Ø�K‰K˜‹NˆØ�‹6�Q˜!“VØˆHØ�{‰{˜1˜Q™3Ó #§)¡)Ñ+Ð+r   c                 ó@   • [        [        R                  " X5      5      $ r&   )r{   re   Úldexp)r   r   Úprecs      r   Úto_fixedÚFPContext.to_fixedê   s   € Ü”4—:’:˜aÓ&Ó'Ð'r   c                 ó*   • SS K nUR                  5       $ )Nr   )Úrandom)r   r·   s     r   ÚrandÚFPContext.randí   s   € ÛØ�}‰}‹Ðr   c                 ó¬   • U R                   nSnU" 5        H:  nX5-  nXB-  (       d%  U(       a  [        U5      S[        U5      -  ::  a    U$ US-  nM<     U$ )Nr   g¬CÒÑ]r2<r   )ÚzerorS   )r   ÚtermsÚ
check_steprœ   rž   Úterms         r   Úsum_accuratelyÚFPContext.sum_accuratelyô   sX   € Ø�H‰HˆØˆÙ–GˆDØ‰IˆAØ—N®Ü�t“9 ¤c¨!£f¡Ó,Øàˆð �‰FŠAñ ð ˆr   r"   N)ip  )r   )wÚ__name__Ú
__module__Ú__qualname__Ú__firstlineno__r?   r   Ú_mpqr
   r•   r#   r)   r-   r0   Ú_fixed_precisionÚpropertyr³   Údpsr»   Úoner   ÚEPSr”   rT   ÚinfÚNINFrv   ÚNANÚnanrm   ÚclassmethodrC   rI   rq   Úer®   Úsqrt2Úsqrt5ÚphiÚln2Úln10ÚcatalanÚkhinchinÚaperyÚglaisherrS   ÚabsminÚabsmaxrM   rP   rU   rX   r`   r   r…   r\   Úmpcr6   ÚstaticmethodÚpowÚpowerÚsqrtrl   ÚlogÚlnÚcosÚsinÚtanÚcos_sinÚacosÚasinÚatanÚcoshÚsinhÚtanhÚgammaÚrgammaÚ	factorialr¨   ÚfloorÚceilÚcospiÚsinpiÚcbrtÚnthrootÚ_nthrootÚeiÚ_eiÚe1Ú_e1r©   Ú_zetaÚ	_zeta_intri   rn   rr   re   r²   ru   rw   r|   r   rˆ   rŒ   r�   r    rf   r«   r§   r¯   ÚstrÚnstrr´   r¸   ÚerfÚ_erfÚerfcÚ_erfcr¿   Ú__static_attributes__r"   r   r   r   r      s.  † ñò
ñ +€Dà×'Ñ'€Mâ!Ú!Ú Ú àÐá�I˜yÓ)€DÙ
�8˜XÓ
&€Cà€DØ
€CØ
�)‰)€CØ
�)‰)€CØ�:‰:€DØ
�)‰)€CØ
€Að ñ	&ó ð	&òð 
�‰€BØ�‰€AØ�K‰K€EØ!€EØ!€EØ
€CØ
 €CØ€DØ"€EØ$€GØ$€HØ!€EØ$€HàÐ€FˆVòòò#òò
*ð €CØ
€Còñ ˜Ÿ™Ó#€EÙ˜Ÿ
™
Ó#€DÙ
�u—y‘yÓ
!€CÙ˜EŸI™IÓ&Ð&€BˆÙ
�u—y‘yÓ
!€CÙ
�u—y‘yÓ
!€CÙ
�u—y‘yÓ
!€CÙ˜5Ÿ=™=Ó)€GÙ˜Ÿ
™
Ó#€DÙ˜Ÿ
™
Ó#€DÙ˜Ÿ
™
Ó#€DÙ˜Ÿ
™
Ó#€DÙ˜Ÿ
™
Ó#€DÙ˜Ÿ
™
Ó#€DÙ˜Ÿ™Ó%€EÙ˜%Ÿ,™,Ó'€FÙ" 5§?¡?Ó3Ð3€Cˆ)Ù˜Ÿ™Ó%€EÙ˜Ÿ
™
Ó#€DÙ˜Ÿ™Ó%€EÙ˜Ÿ™Ó%€EÙ˜Ÿ
™
Ó#€DÙ˜EŸM™MÓ*€HÙ
�u—x‘xÓ
 €CÙ
�u—x‘xÓ
 €CÙ$ U§Z¡ZÓ0Ð0€EˆIò*ò ò'ð �J‰J€EØ�J‰J€Eòò
ò$ò
ò@ò&ô(ò  ò;ñ ˜5Ÿ=™=Ó)€Gò,ð €Dò(òñ ˜Ÿ	™	Ó"€DÙ˜Ÿ™Ó$€E÷	r   r   )Úctx_baser   re   ÚcmathÚ r   r   r
   r   r   r	   r   r"   r   r   Ú<module>r     s,   ðÝ )ã Û Ý å ç 5Ñ 5Ý ôqÐ#õ qr   