
    gH                     l   d Z ddlZddlZddl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d Zd Zd Z	  ej        d           d Zd Zn# eef$ r ej        Zej        ZY nw xY w eej        d           Z eeej                  Z eeej                  Z eej        ej                  Z eej        ej                  Z eej        ej                  Z eej        ej                  Z eej        ej                  Z eej        ej                  Z eej         ej                   Z  eej!        ej!                  Z! eej"        ej"                  Z" eej#        ej#                  Z# eej$        d           Z$ eej%        d           Z% ed d           Z& ed d           Z'd Z(d Z)d Z*d Z+d  Z, ee*e,          Z- ee)e+          Z.d! Z/d" Z0d#Z1e1 Z2e1e1z
  Z3d$Z4e1d%d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8fZ5 e6e5          d9z
  Z7d:Z8d;Z9d< Z:d= Z; ee:e;          Z<d> Z=d? Z>d@ Z?dA Z@g dBZAdC ZBdD ZC eeBeC          ZDg dEdddF         ZEg dGdddF         ZFdH ZGdI ZHdJ ZIdK ZJdL ZKdM ZLg dNZMdOZNd[dQZOd[dRZPd[dSZQdT ZRg dUZSg dVdddF         ZTg dWdddF         ZUg dXZVg dYZWdZ ZXdS )\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                 .      fd} j         |_         |S )Nc                     t          |           t          u r |           S t          |           t          u r |           S 	 t          |           }  |           S # t          t          f$ r t          |           }  |           cY S w xY wN)typefloatcomplex	TypeError
ValueErrorxkwargs	f_complexf_reals     H/var/www/html/ai-engine/env/lib/python3.11/site-packages/mpmath/math2.pyfz_mathfun_real.<locals>.f   s    77e6!9977g9Q<<	 aA6!99:& 	  	  	 

A9Q<<	 s   A +BB__name__r   r   r   s   `` r   _mathfun_realr      s2    
  
  
  
  
  
  AJH    c                 .      fd} j         |_         |S )Nc                     t          |           t          u r |           S 	  t          |                     S # t          t          f$ r  t          |                     cY S w xY wr   )r   r	   r   r
   r   r   s     r   r   z_mathfun.<locals>.f+   sy    77g9Q<<	)6%((###:& 	) 	) 	)9WQZZ(((((	)s   < )A('A(r   r   s   `` r   _mathfunr   *   s2    ) ) ) ) ) ) AJHr   c                 .      fd} j         |_         |S )Nc                  p    	  d | D              S # t           t          f$ r  d | D              cY S w xY w)Nc              3   4   K   | ]}t          |          V  d S r   )r   .0r   s     r   	<genexpr>z(_mathfun_n.<locals>.f.<locals>.<genexpr>8   s(      33E!HH333333r   c              3   4   K   | ]}t          |          V  d S r   r	   r   s     r   r    z(_mathfun_n.<locals>.f.<locals>.<genexpr>:   s(      88awqzz888888r   )r
   r   )argsr   r   r   s     r   r   z_mathfun_n.<locals>.f6   sf    	:633d33344:& 	: 	: 	:98848889999	:s     55r   r   s   `` r   
_mathfun_nr$   5   s2    : : : : : :
 AJHr   g       c                 T    | dk    rt          d          t          j        |           S N        zmath domain error)r   mathlogr   s    r   math_logr+   B   s(    880111x{{r   c                 T    | dk     rt          d          t          j        |           S r&   )r   r(   sqrtr*   s    r   	math_sqrtr.   F   s(    s770111y||r   c                 &    t          |           |z  S r   r"   )r   ys     r   <lambda>r1   N   s    GAJJM r   c                 ~    t          t          j        | j                  t          j        | j                            S r   )r	   r(   floorrealimagzs    r   r1   r1   `   s(    gdj(($*QV*<*<== r   c                 ~    t          t          j        | j                  t          j        | j                            S r   )r	   r(   ceilr4   r5   r6   s    r   r1   r1   b   s(    gdi''16):):;; r   c                 R    t          j        |           t          j        |           fS r   )r(   cossinr*   s    r   r1   r1   e   s    48A;;"< r   c                 R    t          j        |           t          j        |           fS r   )cmathr;   r<   r6   s    r   r1   r1   f   s    59Q<<1"> r   c                     | dz  S NgUUUUUU? r*   s    r   r1   r1   h   s
    !d) r   c                     | dz  S r@   rA   r6   s    r   r1   r1   h   s
    q4y r   c                     d|z  }	 t          |           |z  S # t          t          f$ r t          |           |z  cY S w xY wN      ?)r   r   r
   r	   r   nrs      r   nthrootrI   j   sV    
1AQxx1}	"   qzzQs    #??c                 L   | dk     rt          |             S t          | d          \  }}|t          z  }|dz  }|dk    rt          j        |          S |dk    rt          j        |          S |dk    rt          j        |           S |dk    rt          j        |           S d S Nr         ?            )_sinpi_realdivmodpir(   r<   r;   rF   s      r   rQ   rQ   q   s    1uuQB!S>>DAqGAFAAvvdhqkk!Avvdhqkk!Avvtx{{l"Avvtx{{l"vvr   c                 0   | dk     r|  } t          | d          \  }}|t          z  }|dz  }|dk    rt          j        |          S |dk    rt          j        |           S |dk    rt          j        |           S |dk    rt          j        |          S d S rK   )rR   rS   r(   r;   r<   rF   s      r   _cospi_realrU   |   s    1uuB!S>>DAqGAFAAvvdhqkk!Avvtx{{l"Avvtx{{l"Avvdhqkk!vvr   c                    | j         dk     rt          |             S t          | j         d          \  }}t          t	          || j                  z  } |dz  }|dk    rt          j        |           S |dk    rt          j        |           S |dk    rt          j        |            S |dk    rt          j        |            S d S rK   )	r4   _sinpi_complexrR   rS   r	   r5   r>   r<   r;   r7   rG   rH   s      r   rW   rW      s    vzzr""""!&#DAq
71afAFAAvveill"Avveill"Avvuy||m#Avvuy||m#vvr   c                 j   | j         dk     r|  } t          | j         d          \  }}t          t          || j                  z  } |dz  }|dk    rt          j        |           S |dk    rt          j        |            S |dk    rt          j        |            S |dk    rt          j        |           S d S rK   )r4   rR   rS   r	   r5   r>   r;   r<   rX   s      r   _cospi_complexrZ      s    vzzB!&#DAq
71afAFAAvveill"Avvuy||m#Avvuy||m#Avveill"vvr   c                     	 t          |           t          |           z  S # t          $ r8 t          |           j        dk    rY dS t          |           j        dk     rY dS  w xY w)N
                 ?             )sinpicospiOverflowErrorr	   r5   r*   s    r   tanpirb      sp    Qxx%((""   1::?R221::?R33   ! "A#A#!A#c                     	 t          |           t          |           z  S # t          $ r8 t          |           j        dk    rY dS t          |           j        dk     rY dS  w xY w)Nr\   r^   r]   )r`   r_   ra   r	   r5   r*   s    r   cotpire      sp    Qxx%((""   1::?R331::?R22rc   g      g      <rE          @      @g      8@g      ^@g     @g     @g     @g     &Ag    KAg    Ag    Ag   2Ag   (;L4Bg  uwsBg  uwBg  7Bg  s6Cg h0{Cg ZACrN      )	gP?gö)$@gԎgشa@g]/Qfg)@gU(+gO2NNQ>g?P5>c                    t          |           }|| k    r-|dk    rt          d          |t          k    rt          |         S | dk     r*t          t          |           t          d| z
            z  z  S | dz  } t          d         }t          dt          dz             D ]}|t          |         | |z   z  z  }| t          z   dz   }d|| dz   z  z  t          j        |           z  |z  S )Nr   zgamma function polerL   rN   rE   rO   '@)intZeroDivisionError_max_exact_gamma_exact_gammarS   rQ   _gamma_real
_lanczos_prange
_lanczos_gr(   exp)r   _intxrH   its        r   ro   ro      s    FFEzzA::#$9:::$$$&&3ww[^^K!$4$4455	SqMq*Q,'' 	% 	%AA!$$AA
NS &QsU3dhrllBQFFr   c                    | j         s!t          t          | j                            S | j        dk     r*t          t          |           t          d| z
            z  z  S | dz  } t          d         }t          dt          dz             D ]}|t          |         | |z   z  z  }| t          z   dz   }d|| dz   z  z  t          j        |           z  |z  S )NrL   rN   rE   r   rO   rj   )r5   r	   ro   r4   rS   rW   _gamma_complexrp   rq   rr   r>   rs   )r   rH   ru   rv   s       r   rx   rx      s    6 ,{16**+++v||^A&&~ac':'::;;	SqMq*Q,'' 	% 	%AA!$$AA
NS &QsU3eimmCaGGr   c                 R    	 dt          |           z  S # t          $ r | dz  cY S w xY w)NrE   r'   )gammarl   r*   s    r   rgammar{      s?    %(({   us    &&c                 &    t          | dz             S rD   )rz   r*   s    r   	factorialr}      s    3<<r   c                     t          |           t          u rt          j        d|           S t          j        | j        | j                  S )Nr'   )r   r   r(   atan2r5   r4   r*   s    r   argr      s;    Aww%z#a   :afQV$$$r   c                    t          |           t          t          fvr7	 t          |           } n&# t          t          f$ r t          |           } Y nw xY w	 | j        }| j        }n# t          $ r | }d}Y nw xY w|dk     rt          |           dk     r8t          t          |                     }|dk    r|                                }|S d| z
  }	 |j        }|j        }n# t          $ r |}d}Y nw xY wt          |          }|dk    rd}n|dk     rd}nd}t           dz  t          |          z  dt          |          z
  z  t          z   t          t          ||z
                      z
  t!          |          z
  dt          z  |z  |z  z   S | dk    s| dk    r| dz  S d}	t          |           d	k     r*|	t          |           z  }	| dz  } t          |           d	k     *d
| dz
  t          |           z  z   | z
  }
d| z  }||z  }|
d|z  z  }
||z  }|
d|z  z  }
||z  }|
d|z  z  }
||z  }|
d|z  z  }
||z  }|
d|z  z  }
||z  }|
d|z  z  }
||z  }|
d|z  z  }
||z  }|
d|z  z  }
|
|	z   S )Nr'   rL   r   rN   r]   rE   rf      gdg?UUUUUU?gllfgJ?g88Cg#+K?g}<ٰj_gAAz?gSˆB)r   r   r	   r   r
   r4   r5   AttributeErrorabsr)   rz   	conjugater3   rS   logpir_   loggamma)r   xrealximagvr7   reimrefloorimsignpsrH   r2s                r   r   r      s   Awwug&&&	aAAI& 	 	 	

AAA	   
 s{{q66C<<E!HHAzzKKMMHaC	BBB 	 	 	BBBB	 ))99FF#XXFFFBG$aFm4u<ai  !!"$,QKK024R%-2FG 	GCxx188s

A
a&&2++	SVV	S a&&2++ 	#s1vv~-1A
1A	
1B	 	""AAGA	"1	$$Aa2ga	"1	$$Aa2ga	"1	$$Aa2ga	"1	$$Aa2ga	"1	$$Aa2ga	!!	##AQ"WQ	 	""Aq5Ls3   /  AAA% %A65A6C   C10C1)
r   ggAAp?gqg|?gYYr   g^^^^^^ܿg柛n@gLQt:c                 N   t          |           }|| k    r|dk    rt          d          | dk     rd| z
  } t          t          |           z  }nd}| dk     r|d| z  z  }| dz  } | dk     | dz  }|}t          D ]}|||z  z  }|dk     r n||z  }|t          |           z   d| z  z
  S )	Nr   zpolygamma polerL   rE   r'         $@#B;)rk   rl   rS   re   
_psi_coeffr+   )r   rt   r   x2rv   cs         r   _digamma_realr   ;  s    FFEzzA::#$45553wwEuQxxK
d((	SU
	S d(( 
BB
A  	QqSu99E	Rx{{?SU""r   c                    | j         s!t          t          | j                            S | j        dk     rd| z
  } t          t          |           z  }nd}t          |           dk     r |d| z  z  }| dz  } t          |           dk      | dz  }|}t          D ]$}|||z  z  }t          |          dk     r n||z  }%|t          j	        |           z   d| z  z
  S )NrL   rE   r'   r   r   r   )
r5   r	   r   r4   rS   re   r   r   r>   r)   )r   r   r   rv   r   s        r   _digamma_complexr   Q  s    6 .}QV,,---v||EuQxxK
a&&4--	SU
	S a&&4-- 
BB
A  	QqSq66E>>E	Ruy||c!e##r   )	gS  ?g}^.@gCGb@g߸G?g1R5?gߵy?gLy~F?goO$y?gŕX3=?r   )
rE   ga	o
@ghr@g-@gF@gv#o?g,?gE㦰u?g󟿑?gan$hI?c                 @    | d         }| dd          D ]
}|||z  z   }|S )Nr   rN   rA   )coeffsr   r   r   s       r   _polyvalr     s6    q	AABBZ  !GHr   c                     | | z  }| x}}d}t          |          dk    rI|||z  z  }||||z   dz   z  z  }|dz  }|||z  z  }||||z   dz   z  z  }|dz  }t          |          dk    Id|z  S )NrN   FFg<gmBP?)r   )r   r   r   rv   rG   s        r   _erf_taylorr     s    	
1BIA	A
a&&5..	RT		Q!AY	Q	RT		Q!AY	Q a&&5.. !""r   c                     t          |  | z            t          t          |           z  t          t          |           z  S r   )rs   r   _erfc_coeff_P_erfc_coeff_Qr*   s    r   	_erfc_midr     s2    r!t99XmA...xa/H/HHHr   c                     | | z  }t          |           | z  dz  }d|z  x}}d}t          ddd          D ]7}||z  }|||dz   z  z  }||z  }|||dz   z  z  }t          |          dk     r n8||z  S )	NgmBP?rL   rE   rN      rM   rO   r   )rs   rq   r   )r   r   r   rH   rv   r   rG   s          r   _erfc_asympr     s    	
1BRC
))A"HAA1R]]  	Q	Q!A#Y	Q	Q!A#Yq66E>>E q5Lr   c                     t          |           } | | k    r| S | dk     rt          |             S | dk    r| dk    rdS dt          |           z
  S t          |           S )z
    erf of a real number.
    r'   rE   rg   )r   erfr   r   r*   s    r   r   r     si     	aAAvv3wwQBxCxx883Yq\\!!q>>r   c                     t          |           } | | k    r| S | dk     r| dk     rdS dt          |            z
  S | dk    rt          |           S | dk    rt          |           S dt	          |           z
  S )z 
    erfc of a real number.
    r'   g      rf   g      "@rE   )r   erfcr   r   r   r*   s    r   r   r     s     	aAAvv3wwt883488|3ww1~~Cxx||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@Fc                    d| z  }dx}}d}	 |||z  z  }||z  }t          |          dk     rn|dz  }'|t          |           z  | z  }|rCt          |           t          u r| j        }| j        }n| }d}|dk    r|dk    r|t          dz  z  }nFt          |           t          u r0| j        dk    r|t          dz  z  }| j        dk     r|t          dz  z  }|S )NrE   rN   gؗҜ<r'   r]   r   )r   rs   r   r	   r4   r5   rS   )	r7   _e1rH   r   rv   kr   zrealzimags	            r   ei_asympr     s   
1AKA	A	QqS	Qq66E>>	Q 	
#a&&
A
 77gFEFEEEEC<<ECKKBJA77gvzzRU
vzzRU
Hr   c                 \   | x}}d}	 || z  |z  }||z  }t          |          dk     rn||z  }|dz  },|t          z  }|r|t          |            z  }nXt          |           t          u s| j        dk    r |t          t          |                     z  }n|t          j        |           z  }|S )NrO   rN   r   r'   )r   eulerr)   r   r   r5   r+   r>   )r7   r   r   rv   r   terms         r   	ei_taylorr     s    IA	AaCEst99u	T		Q JA
 	S!WW77eqv}}#a&&!!!AA1AHr   c                    t          |           }|t          t          fvrE	 t          |           } t          }n-# t          t          f$ r t          |           } t          }Y nw xY w| st
           S t          |           }|t          k    rt          | |          S |dk    s|t          u r| dk    rt          | |          S |t          u r!| j
        dk    r| |z  }t          ||          }nt          | z  |z  }t          ||          }|| z
  dz  }|| z   dz  }d}t          |           t          u rt          j        }	nt          j        }	t          D ]!\  }
}||
z  |z   }|| |	|          z  |z  z  }"|||z  z  }|S )Nrf   r'   rL   )r   r   r	   r
   r   INFr   EI_ASYMP_CONVERGENCE_RADIUSr   r   r4   r>   rs   r(   gauss42)r7   r   typezabszzrefrefCDr   _expr   wrv   s                r   eir   '  s   GGEUG$$$	aAEE:& 	 	 	

AEEE	  tq66D)))3	%AGGC    AFSLL4xc""*Q.5tS!!	aA	aAAAww'yx  !aCE	QttAwwYq[1Q3JCJs   8 'A"!A"c                 T   t          |           }t          |           t          t          fvrE	 t          |           } t          }n-# t          t          f$ r t          |           } t          }Y nw xY w|t          u r| j        st          | j        d          } t          |  d           S )Nr'   T)r   )r   r   r	   r
   r   r5   r4   r   )r7   r   s     r   e1r   L  s     GGEAwwug&&&	aAEE:& 	 	 	

AEEE	 AFC  rts   A 'A/.A/)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])	rE   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|ɐ?rL   c                    t          | t          t          f          s	 t          |           } nn# t          t          f$ rZ 	 t          |           } | j        s#t          t          | j                            cY S n# t          t          f$ r Y nw xY wt          w xY w| dk    rt          d          | dk    rdd|  z  z   d|  z  z   S t          |           }|| k    r|dk    rt          |         S |dz  sd	S | d	k    rLd| z  t          | dz
  z  z  t          d
| z            z  t          d| z
            z  t          d| z
            z  S | dk    r<| dk    rt          t          |           | dz
  z  S t          t           |           | dz
  z  S t          t"          |           t          t$          |           z  }dd|  z  z   d|  z  z   d|  z  |z  z   S )z.
    Riemann zeta function, real argument
    rN   zzeta(1) pole   rE   rf   g      @r   rO   r'   rL   g      @)
isinstancer   rk   r   r
   r	   r5   zetar4   NotImplementedError	_zeta_intrS   rQ   ro   r   _zeta_0_zeta_1_zeta_P_zeta_Q)r   rG   r7   s      r   r   r     s    a%&& 
&		&aAAI& 	& 	& 	&AJJv 1"4<<000001	*   %%	& 	Avv(((BwwSA2Yr**AAAvv66Q<A 	3Cxx1uR!A#Y{3q5111+ac2B2BB4!99LLCxx88GA&&!,,""AaC((hwq111Ar?SA2Y&r144s3   . B 6A:6B9B:BBBB)F)Y__doc__operatorr(   r>   rS   esqrt2sqrt5philn2ln10r   catalankhinchinaperyr   r   r   r$   r)   r+   r.   r   r
   r-   powrs   r;   r<   tanacosasinatancoshsinhtanhr3   r9   cos_sincbrtrI   rQ   rU   rW   rZ   r`   r_   rb   re   r   NINFNANEPSrn   lenrm   rr   rp   ro   rx   rz   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   rA   r   r   <module>r     s       
    	 	 	  DHTNNN      	I   xH	III j99::j59%%x	5:&&mDHei((mDHei((mDHei((mDHei((x	5:&&x	5:&&}TY
++}TY
++}TY
++}TY
++dj==	? 	?}TY;;= = -<<>>@ @ x##%8%899  	# 	# 	#	" 	" 	"	$ 	$ 	$	# 	# 	# 	k>22k>22     t	#gS#sCueVW
Iz;m#%68J-/
 3|$$Q&  
I
G G G&H H H 	k>22    % % %5 5 5n
 
 

# # #,$ $ $( -'7
8
8	 	 	  $tt	%
 
 
  $tt
%  # # #I I I         "*/ */ */X #    8   (# # # #J     	   $B$	    $B$	 B B BC C C
 5  5  5  5  5s   A A A 