
    [hH                        S r SSKrSSKrSSKrSrSrSrSrSrSr	S	r
S
rSrSrSrSrS rS rS r \R&                  " S5        S rS r\" \R2                  S 5      r\" \\R&                  5      r\" \\R0                  5      r\" \R4                  \R4                  5      r\" \R6                  \R6                  5      r\" \R8                  \R8                  5      r\" \R:                  \R:                  5      r\" \R<                  \R<                  5      r\" \R>                  \R>                  5      r\" \R@                  \R@                  5      r \" \RB                  \RB                  5      r!\" \RD                  \RD                  5      r"\" \RF                  \RF                  5      r#\" \RH                  S 5      r$\" \RJ                  S 5      r%\" S S 5      r&\" S S 5      r'S r(S r)S r*S r+S  r,\" \*\,5      r-\" \)\+5      r.S! r/S" r0S#r1\1* r2\1\1-
  r3S$r4\1S%S%S&S'S(S)S*S+S,S-S.S/S0S1S2S3S4S5S6S7S84r5\6" \55      S9-
  r7S:r8S;r9S< r:S= r;\" \:\;5      r<S> r=S? r>S@ r?SA r@/ SBQrASC rBSD rC\" \B\C5      rD/ SEQSSSF2   rE/ SGQSSSF2   rFSH rGSI rHSJ rISK rJSL rKSM rL/ SNQrMSOrNSZSP jrOSZSQ jrPSZSR jrQSS rR/ STQrS/ SUQSSSF2   rT/ SVQSSSF2   rU/ SWQrV/ SXQrWSY rXg! \\4 a    \R&                  r\R0                  r GNf = f)[z
This module complements the math and cmath builtin modules by providing
fast machine precision versions of some additional functions (gamma, ...)
and wrapping math/cmath functions so that they can be called with either
real or complex arguments.
    Ng-DT!	@giW
@g;f?gw@gw?g9B.?gUk@gox?g]O?gm<B{@!;?gHP?c                 :   ^ ^ UU 4S jnT R                   Ul         U$ )Nc                    > [        U 5      [        L a  T" U 5      $ [        U 5      [        L a  T" U 5      $  [        U 5      n T" U 5      $ ! [        [        4 a    [        U 5      n T" U 5      s $ f = fN)typefloatcomplex	TypeError
ValueErrorxkwargs	f_complexf_reals     D/var/www/auris/envauris/lib/python3.13/site-packages/mpmath/math2.pyf_mathfun_real.<locals>.f   sn    7e!97gQ<	 aA!9:& 	 
AQ<	 s   A
 
#A0/A0__name__r   r   r   s   `` r   _mathfun_realr      s    
  AJH    c                 :   ^ ^ UU 4S jnT R                   Ul         U$ )Nc                    > [        U 5      [        L a  T" U 5      $  T" [        U 5      5      $ ! [        [        4 a    T" [        U 5      5      s $ f = fr   )r   r	   r   r
   r   r   s     r   r   _mathfun.<locals>.f+   sP    7gQ<	)%(##:& 	)WQZ((	)s   . !AAr   r   s   `` r   _mathfunr   *   s    ) AJHr   c                 :   ^ ^ UU 4S jnT R                   Ul         U$ )Nc                  b   >  T" S U  5       6 $ ! [         [        4 a    T" S U  5       6 s $ f = f)Nc              3   8   #    U  H  n[        U5      v   M     g 7fr   )r   .0r   s     r   	<genexpr>(_mathfun_n.<locals>.f.<locals>.<genexpr>8   s     3dE!HHd   c              3   8   #    U  H  n[        U5      v   M     g 7fr   r	   r    s     r   r"   r#   :   s     84awqzz4r$   )r
   r   )argsr   r   r   s     r   r   _mathfun_n.<locals>.f6   s>    	:3d344:& 	:84899	:s    ..r   r   s   `` r   
_mathfun_nr)   5   s    :
 AJHr   g       c                 P    U S::  a  [        S5      e[        R                  " U 5      $ N        zmath domain error)r   mathlogr   s    r   math_logr0   B   s#    8011xx{r   c                 P    U S:  a  [        S5      e[        R                  " U 5      $ r+   )r   r-   sqrtr/   s    r   	math_sqrtr3   F   s#    s7011yy|r   c                     [        U 5      U-  $ r   r&   )r   ys     r   <lambda>r6   N   s    GAJMr   c                     [        [        R                  " U R                  5      [        R                  " U R                  5      5      $ r   )r	   r-   floorrealimagzs    r   r6   r6   `   s%    gdjj($**QVV*<=r   c                     [        [        R                  " U R                  5      [        R                  " U R                  5      5      $ r   )r	   r-   ceilr9   r:   r;   s    r   r6   r6   b   s%    gdii'166):;r   c                 Z    [         R                  " U 5      [         R                  " U 5      4$ r   )r-   cossinr/   s    r   r6   r6   e   s    488A;"<r   c                 Z    [         R                  " U 5      [         R                  " U 5      4$ r   )cmathr@   rA   r;   s    r   r6   r6   f   s    599Q<1">r   c                     U S-  $ NgUUUUUU? r/   s    r   r6   r6   h   s    !d)r   c                     U S-  $ rE   rF   r;   s    r   r6   r6   h   s    q4yr   c                 r    SU-  n [        U 5      U-  $ ! [        [        4 a    [        U 5      U-  s $ f = fN      ?)r   r   r
   r	   r   nrs      r   nthrootrN   j   s@    
1AQx1}	" qzQs    66c                 F   U S:  a  [        U * 5      * $ [        U S5      u  pU[        -  nUS-  nUS:X  a  [        R                  " U5      $ US:X  a  [        R
                  " U5      $ US:X  a  [        R                  " U5      * $ US:X  a  [        R
                  " U5      * $ g Nr         ?            )_sinpi_realdivmodpir-   rA   r@   rK   s      r   rV   rV   q   s    1uQB!S>DAGAFAAvdhhqk!Avdhhqk!Avtxx{l"Avtxx{l"vr   c                 2   U S:  a  U * n [        U S5      u  pU[        -  nUS-  nUS:X  a  [        R                  " U5      $ US:X  a  [        R                  " U5      * $ US:X  a  [        R                  " U5      * $ US:X  a  [        R                  " U5      $ g rP   )rW   rX   r-   r@   rA   rK   s      r   _cospi_realrZ   |   s    1uB!S>DAGAFAAvdhhqk!Avtxx{l"Avtxx{l"Avdhhqk!vr   c                    U R                   S:  a  [        U * 5      * $ [        U R                   S5      u  p[        [	        X R
                  5      -  n US-  nUS:X  a  [        R                  " U 5      $ US:X  a  [        R                  " U 5      $ US:X  a  [        R                  " U 5      * $ US:X  a  [        R                  " U 5      * $ g rP   )	r9   _sinpi_complexrW   rX   r	   r:   rC   rA   r@   r<   rL   rM   s      r   r\   r\      s    vvzr"""!&&#DA
71ffAFAAveiil"Aveiil"Avuyy|m#Avuyy|m#vr   c                    U R                   S:  a  U * n [        U R                   S5      u  p[        [        X R                  5      -  n US-  nUS:X  a  [
        R                  " U 5      $ US:X  a  [
        R                  " U 5      * $ US:X  a  [
        R                  " U 5      * $ US:X  a  [
        R                  " U 5      $ g rP   )r9   rW   rX   r	   r:   rC   r@   rA   r]   s      r   _cospi_complexr_      s    vvzB!&&#DA
71ffAFAAveiil"Avuyy|m#Avuyy|m#Aveiil"vr   c                      [        U 5      [        U 5      -  $ ! [         a8    [        U 5      R                  S:  a   g[        U 5      R                  S:  a   ge f = f)N
                 ?             )sinpicospiOverflowErrorr	   r:   r/   s    r   tanpirg      sR    Qx%("" 1:??R1:??R    #AAAc                      [        U 5      [        U 5      -  $ ! [         a8    [        U 5      R                  S:  a   g[        U 5      R                  S:  a   ge f = f)Nra   rc   rb   )re   rd   rf   r	   r:   r/   s    r   cotpirj      sR    Qx%("" 1:??R1:??Rrh   g      g      <rJ          @      @g      8@g      ^@g     @g     @g     @g     &Ag    KAg    Ag    Ag   2Ag   (;L4Bg  uwsBg  uwBg  7Bg  s6Cg h0{Cg ZACrS      )	gP?gö)$@gԎgشa@g]/Qfg)@gU(+gO2NNQ>g?P5>c                    [        U 5      nX:X  a$  US::  a  [        S5      eU[        ::  a	  [        U   $ U S:  a!  [        [        U 5      [        SU -
  5      -  -  $ U S-  n [        S   n[        S[        S-   5       H  nU[        U   X-   -  -  nM     U [        -   S-   nSX@S-   -  -  [        R                  " U* 5      -  U-  $ )Nr   zgamma function polerQ   rS   rJ   rT   '@)intZeroDivisionError_max_exact_gamma_exact_gammarX   rV   _gamma_real
_lanczos_prange
_lanczos_gr-   exp)r   _intxrM   its        r   rt   rt      s    FEzA:#$9::$$&&3w[^K!$4455	SqMq*Q,'AA$$A (
NS &sU3dhhrlBQFFr   c                    U R                   (       d  [        [        U R                  5      5      $ U R                  S:  a!  [        [        U 5      [        SU -
  5      -  -  $ U S-  n [        S   n[        S[        S-   5       H  nU[        U   X-   -  -  nM     U [        -   S-   nSX0S-   -  -  [        R                  " U* 5      -  U-  $ )NrQ   rS   rJ   r   rT   ro   )r:   r	   rt   r9   rX   r\   _gamma_complexru   rv   rw   rC   rx   )r   rM   rz   r{   s       r   r}   r}      s    66{166*++vv|^A&~ac'::;;	SqMq*Q,'AA$$A (
NS &sU3eiimCaGGr   c                 J     S[        U 5      -  $ ! [         a    U S-  s $ f = f)NrJ   r,   )gammarq   r/   s    r   rgammar      s-    %({ us    ""c                     [        U S-   5      $ rI   )r   r/   s    r   	factorialr      s    3<r   c                     [        U 5      [        L a  [        R                  " SU 5      $ [        R                  " U R                  U R
                  5      $ )Nr,   )r   r   r-   atan2r:   r9   r/   s    r   argr      s8    Aw%zz#a  ::affQVV$$r   c                 \   [        U 5      [        [        4;  a   [        U 5      n  U R
                  nU R                  nUS:  a  [        U 5      S:  a,  [        [        U 5      5      nUS:X  a  UR                  5       nU$ SU -
  n UR
                  nUR                  n[        U5      nUS:X  a  SnOUS:  a  SnOSn[        * S-  [        U5      -  S[        U5      -
  -  [        -   [        [        XG-
  5      5      -
  [!        U5      -
  S[        -  U-  U-  -   $ U S:X  d  U S:X  a  U S-  $ Sn	[        U 5      S	:  a$  U	[        U 5      -  n	U S-  n [        U 5      S	:  a  M$  S
U S-
  [        U 5      -  -   U -
  n
SU -  nX-  nU
SU-  -  oU-  nU
SU-  -  oU-  nU
SU-  -  oU-  nU
SU-  -  oU-  nU
SU-  -  oU-  nU
SU-  -  oU-  nU
SU-  -  oU-  nU
SU-  -  n
X-   $ ! [        [        4 a    [        U 5      n  GNf = f! [         a    U nSn GNf = f! [         a    UnSn GNf = f)Nr,   rQ   r   rS   rb   rJ   rk      gdg?UUUUUU?gllfgJ?g88Cg#+K?g}<ٰj_gAAz?gSˆB)r   r   r	   r   r
   r9   r:   AttributeErrorabsr.   r   	conjugater8   rX   logpird   loggamma)r   xrealximagvr<   reimrefloorimsignpsrM   r2s                r   r   r      s   Awug&&	aA s{q6C<E!HAzKKMHaC	BB )9F#XFFBG$aFm4u<ai !"$,QK024R%-2FG 	GCx18s

A
a&2+	SV	S a&2+ 	#s1v~-1A
1A	
B	 	""AGA	"1	$$A2ga	"1	$$A2ga	"1	$$A2ga	"1	$$A2ga	"1	$$A2ga	!!	##A"WQ	 	""A5Lc I& 	
A	
    	BB	s4   G" H H "H HHHH+*H+)
r   ggAAp?gqg|?gYYr   g^^^^^^ܿg柛n@gLQt:c                 0   [        U 5      nX:X  a  US::  a  [        S5      eU S:  a  SU -
  n [        [        U 5      -  nOSnU S:  a  USU -  -  nU S-  n U S:  a  M  U S-  nUn[         H  nX%U-  -  nUS:  a    OXC-  nM     U[        U 5      -   SU -  -
  $ )	Nr   zpolygamma polerQ   rJ   r,         $@#B;)rp   rq   rX   rj   
_psi_coeffr0   )r   ry   r   x2r{   cs         r   _digamma_realr   ;  s    FEzA:#$4553wEuQxK
d(	SU
	S d( 
BB
A	qSu9		 
 x{?SU""r   c                    U R                   (       d  [        [        U R                  5      5      $ U R                  S:  a  SU -
  n [        [        U 5      -  nOSn[        U 5      S:  a  USU -  -  nU S-  n [        U 5      S:  a  M  U S-  nUn[         H  nXU-  -  n[        U5      S:  a    OX2-  nM!     U[        R                  " U 5      -   SU -  -
  $ )NrQ   rJ   r,   r   r   r   )
r:   r	   r   r9   rX   rj   r   r   rC   r.   )r   r   r   r{   r   s        r   _digamma_complexr   Q  s    66}QVV,--vv|EuQxK
a&4-	SU
	S a&4- 
BB
A	qSq6E>		 
 uyy|c!e##r   )	gS  ?g}^.@gCGb@g߸G?g1R5?gߵy?gLy~F?goO$y?gŕX3=?r   )
rJ   ga	o
@ghr@g-@gF@gv#o?g,?gE㦰u?g󟿑?gan$hI?c                 6    U S   nU SS   H
  nX1U-  -   nM     U$ )Nr   rS   rF   )coeffsr   r   r   s       r   _polyvalr     s+    q	AABZ!G Hr   c                     X -  nU =p#Sn[        U5      S:  aA  X1U-  -  nX#XD-   S-   -  -  nUS-  nX1U-  -  nX#XD-   S-   -  -  nUS-  n[        U5      S:  a  MA  SU-  $ )NrS   FFg<gmBP?)r   )r   r   r   r{   rL   s        r   _erf_taylorr     s    	
BIA	A
a&5.	T		AY	Q	T		AY	Q a&5. !""r   c                 d    [        U * U -  5      [        [        U 5      -  [        [        U 5      -  $ r   )rx   r   _erfc_coeff_P_erfc_coeff_Qr/   s    r   	_erfc_midr     s*    r!t9XmA..xa/HHHr   c                     X -  n[        U* 5      U -  S-  nSU-  =p4Sn[        SSS5       H3  nXT-  nXCUS-   -  -  nXT-  nXCUS-   -  -  n[        U5      S:  d  M0    XR-  $    XR-  $ )	NgmBP?rQ   rJ   rS      rR   rT   r   )rx   rv   r   )r   r   r   rM   r{   r   rL   s          r   _erfc_asympr     s    	
BRC
))A"HAA1R]		!A#Y		!A#Yq6E>5L  5Lr   c                     [        U 5      n X :w  a  U $ U S:  a  [        U * 5      * $ U S:  a  U S:  a  gS[        U 5      -
  $ [        U 5      $ )z
erf of a real number.
r,   rJ   rl   )r   erfr   r   r/   s    r   r   r     sU     	aAv3wQBxCx8Yq\!!q>r   c                     [        U 5      n X :w  a  U $ U S:  a  U S:  a  gS[        U * 5      -
  $ U S:  a  [        U 5      $ U S:  a  [        U 5      $ S[	        U 5      -
  $ )z
erfc of a real number.
r,   g      rk   g      "@rJ   )r   erfcr   r   r   r/   s    r   r   r     si     	aAv3wt848|3w1~Cx|Qr   )*)gt?dsp?)gtr   )g+K ?rҹ?)g+K r   )gvV?5@}?)gvVr   )gL?=Y?)gLr   )gj?{y?)gjr   )gM&?u85?)gM&r   )g?N?)gr   )gұ,n?T!~?)gұ,nr   )gqE?
sjΦ?)gqEr   )gu=8|
?r?)gu=8|
r   )gY֮sj?ʴ?)gY֮sjr   )gc#?1?)gc#r   )g,?N@?)g,r   )gԦV;?K?)gԦV;r   )gW99?)ǰ?)gW99ݿr   )gN%؟N?ۿ78a?)gN%؟Nٿr   )gׄ??)gׄԿr   )gQ'p_?,J?)gQ'p_пr   )g^>?KX?)g^>ǿr   )g\S;S?QSβ?)g\S;Sr   )g|?M_6?)g|ꢿr   g      D@c                    SU -  nS=p4Sn XEU-  -  nX4-  n[        U5      S:  a  OUS-  nM"  U[        U 5      -  U -  nU(       aI  [        U 5      [        L a  U R                  nU R
                  nOU nSnUS:X  a  US:  a  U[        S-  -  nU$ [        U 5      [        L a8  U R
                  S:  a  U[        S-  -  nU R
                  S:  a  U[        S-  -  nU$ )NrJ   rS   gؗҜ<r,   rb   r   )r   rx   r   r	   r9   r:   rX   )	r<   _e1rM   r   r{   kr   zrealzimags	            r   ei_asympr     s    
1AKA	A
	qS	q6E>	Q  	
#a&
A
7gFFEFFEEEC<ECKBJA H 7gvvzRU
vvzRU
Hr   c                 H   U =p#Sn X0-  U-  nX4-  n[        U5      S:  a  OX%-  nUS-  nM&  U[        -  nU(       a  U[        U * 5      -  nU$ [        U 5      [        L d  U R
                  S:X  a  U[        [        U 5      5      -  nU$ U[        R                  " U 5      -  nU$ )NrT   rS   r   r,   )r   eulerr.   r   r   r:   r0   rC   )r<   r   r   r{   r   terms         r   	ei_taylorr     s    IA	A
CEst9u			Q  JA
	S!W H	 7eqvv}#a&!!A H 1AHr   c                    [        U 5      nU[        [        4;  a   [        U 5      n [        nU (       d  [
        * $ [        U 5      nU[        :  a  [        X5      $ US::  d  U[        L a  U S:  a  [        X5      $ U[        L a   U R                  S:  a  X-  n[        XA5      nO[        U -  U-  n[        XA5      nX@-
  S-  nX@-   S-  nSn[        U 5      [        L a  [        R                  n	O[        R                  n	[         H  u  pXj-  U-   nXU	" U5      -  U-  -  nM     XVU-  -  nU$ ! [        [        4 a    [        U 5      n [        n GN$f = f)Nrk   r,   rQ   )r   r   r	   r
   r   INFr   EI_ASYMP_CONVERGENCE_RADIUSr   r   r9   rC   rx   r-   gauss42)r<   r   typezabszzrefrefCDr   _expr   wr{   s                r   eir   '  sJ   GEUG$$	aAE tq6D))	%AG   AFFSLx"*Q.5t!	A	AAAw'yyxxCE	tAwYq[  Q3JCJ; :& 	
AE	s   D. .!EEc                 4   [        U 5      n[        U 5      [        [        4;  a   [        U 5      n [        nU[        L a'  U R
                  (       d  [        U R                  S5      n [        U * SS9* $ ! [        [        4 a    [        U 5      n [        n N_f = f)Nr,   T)r   )r   r   r	   r
   r   r:   r9   r   )r<   r   s     r   e1r   L  s     GEAwug&&	aAE AFFC rt :& 	
AE	s   A3 3!BB)g      r,   gSbQ?r   gH*2Q?g|ʎA?gE	G?g92"?gcj?g9?g[:?gH1?g,[
?g ?g+9@ ?g  ?gL ?g9 ?gNe  ?ga;  ?g  ?g֕  ?g1@  ?g    ?gZ>   ?g   ?g   ?)	gA   gpgp 6g| Upg %gE3+Ӿgf{g'(
gѲG])	rJ   g/"=g{%gh{srg9D"glXxkվg%ygծ*geuy-)g]u:=g h#%.Jg`5'>>g^ҹgU3 gPF; ?g2Mg=Ƨ_ΚcgviT{?g\?gH$  ?)ggI;g.k^>gPNg/wogS' ?g7z2Mg)cg?g|ɐ?rQ   c                 H   [        U [        [        45      (       d   [        U 5      n U S:X  a  [        S5      eU S:  a  SSU * -  -   SU * -  -   $ [        U 5      nX:X  a  US:  a	  [        U   $ US-  (       d  g	U S	::  a?  SU -  [        U S-
  -  -  [        S
U -  5      -  [        SU -
  5      -  [        SU -
  5      -  $ U S::  a2  U S::  a  [        [        U 5      U S-
  -  $ [        [         U 5      U S-
  -  $ [        ["        U 5      [        [$        U 5      -  nSSU * -  -   SU * -  -   SU * -  U-  -   $ ! [        [        4 a`     [        U 5      n U R                  (       d   [        [        U R                  5      5      s $  [        e! [        [        4 a     [        ef = ff = f)z&
Riemann zeta function, real argument
rS   zzeta(1) pole   rJ   rk   g      @r   rT   r,   rQ   g      @)
isinstancer   rp   r   r
   r	   r:   zetar9   NotImplementedError	_zeta_intrX   rV   rt   r   _zeta_0_zeta_1_zeta_P_zeta_Q)r   rL   r<   s      r   r   r     s    a%&&		&aA 	Av((BwSA2Yr**AAv6Q<ACx1uR!A#Y{3q511+ac2BB4!9LLCx8GA&!,,"AaC((hwq11Ar?SA2Y&r1443 I& 	&AJvv"4<00  &% 	* %%	&s5   D1 1F!9F;F!>F!FF!FF!)F)Y__doc__operatorr-   rC   rX   esqrt2sqrt5philn2ln10r   catalankhinchinaperyr   r   r   r)   r.   r0   r3   r   r
   r2   powrx   r@   rA   tanacosasinatancoshsinhtanhr8   r>   cos_sincbrtrN   rV   rZ   r\   r_   re   rd   rg   rj   r   NINFNANEPSrs   lenrr   rw   ru   rt   r}   r   r   r   r   r   r   r   r   digammar   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rF   r   r   <module>r     s      
  	HHTN 9:599%	5::&DHHeii(DHHeii(DHHeii(DHHeii(		5::&		5::&TYY

+TYY

+TYY

+TYY

+djj=	?TYY;= <>@ #%89	#	"	$	# 	k>2k>2 t	#gS#sCueVW
Iz;m#%68J-/
 |$Q&  
I
G&H 	k>2%5n

#,$( '7
8	  $t	%
  $t
%#I "*/X # 8(#J 	 B$	  B$	 BC
 5m 	I xxH		Is   K  K10K1