
    [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    E/var/www/auris/envauris/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)N5    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1Dq
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6tQYY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    $$:8OM!R5dCxr   g;f?gw@gw?g9B.?gUk@gox?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    1v""r   c                      U(       a  X-
  S:H  $ g)Nr2   Fr"   rL   s     r   isnormalFPContext.isnormal_   s    5C<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    7gvvACx)E!HM)r   c                 >     [        U5      $ !   [        U5      s $ = fr&   )r   r\   rL   s     r   r6   FPContext.convertn   s!    	8O	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$    AJzz!&&!&&))r   c                 >    U R                  U R                  U-  5      $ r&   )expjrL   s     r   expjFPContext.expj   s    wwsuuQwr   c                 X    U R                  U R                  U R                  -  U-  5      $ r&   )rl   rm   pirL   s     r   expjpiFPContext.expjpi   s!    wwsuuSVV|A~&&r   c                 b    U(       a  U R                  [        U5      5      S   $ U R                  $ )Nr   )frexprS   ninfrg   s     r   magFPContext.mag   s&    99SV$Q''xx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?    1fvv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    1faffAaA6hh;''#ac(###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    7eDA771:>3&&1fqvv;Dq6D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=pSn U H  oXN   U-   -  nM     U	 H  oXN   U-   -  nM     US-  oU-  oU-  oU-  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AhAclgg	!,!S	!,!SFAFAFAFA1v||''' r   c                 .    [         R                  " X5      $ r&   )re   rf   )r   r   ys      r   rf   FPContext.atan2   s    zz!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{SWWQZ'#((1Q3*:::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=    KKN6Q!VH{{1Q3#))++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   gC]r2<r   )zerorS   )r   terms
check_stepr   r   terms         r   sum_accuratelyFPContext.sum_accurately   sX    HHGDIANt9c!f, FA  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!!  Iy)D
8X
&CD
C
))C
))C::D
))C
A 	& 	& 
BAKKE!E!E
C
 CD"E$G$H!E$HFV#
* C
C #E

#D
uyy
!CEII&&B
uyy
!C
uyy
!C
uyy
!C5==)G

#D

#D

#D

#D

#D

#D%E%,,'F"5??33C)%E

#D%E%E

#DEMM*H
uxx
 C
uxx
 C$UZZ00EI* ' JJEJJE
$
@&(  ; 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   