403Webshell
Server IP : 93.86.61.54  /  Your IP : 216.73.216.206
Web Server : Apache/2.4.62 (Ubuntu)
System : Linux rasin.ddns.net 6.8.0-124-generic #124~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Tue May 26 21:05:19 UTC x86_64
User : www-data ( 33)
PHP Version : 8.4.22
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /lib/python3/dist-packages/mpmath/libmp/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /lib/python3/dist-packages/mpmath/libmp/__pycache__/gammazeta.cpython-310.pyc
o

�"`"�@sJdZddlZddlZddlmZddlmZmZmZmZm	Z	ddl
mZmZm
Z
mZddlmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<ddl=m>Z>m?Z?m@Z@mAZAmBZBmCZCmDZDmEZEmFZFmGZGmHZHmIZImJZJmKZKmLZLmMZMmNZNmOZOmPZPmQZQmRZRmSZSdd	lTmUZUmVZVmWZWmXZXmYZYmZZZm[Z[m\Z\m]Z]m^Z^m_Z_m`Z`maZambZbmcZcmdZdmeZemfZfmgZgmhZhmiZimjZjmkZkmlZlmmZmmnZne>d
d��Zoe>dd
��Zpe>dd��Zqe>dd��Zr	e>dd��Zse>dd��Zte>dd��Zue?es�Zve?er�Zwe?ep�Zxe?eq�Zye?eo�Zze?et�Z{e?eu�Z|dZ}	iZ~e!d�Ze!d�Z�dd�Z�e�e}�Z�dkdd�Z�dkdd �Z�d!d"�Z�	d#d$�Z�d%d&�Z�efd'd(�Z�efd)d*�Z�efd+d,�Z�efd-d.�Z�	iZ�d/d0�Z�d1Z�iZ�efd2d3�Z�edfd4d5�Z�edd6fd7d8�Z�efd9d:�Z�efd;d<�Z�dZ�d=d>�Z�ga�ga�ga�d?d@�Z�dAdB�Z�dCZ�dDdE�Z�dFZ�e�dGk�s�J�dHZ�dIZ�iZ�iZ�dJdK�e�e�d�D�Z�dLdM�Z�dNdO�Z�dPdQ�Z�dRdS�Z�dTdU�Z�dVdW�Z�dldYdZ�Z�dld[d\�Z�dmd]d^�Z�dmd_d`�Z�dmdadb�Z�dmdcdd�Z�dmdedf�Z�dmdgdh�Z�efdidj�Z�dS)nao
-----------------------------------------------------------------------
This module implements gamma- and zeta-related functions:

* Bernoulli numbers
* Factorials
* The gamma function
* Polygamma functions
* Harmonic numbers
* The Riemann zeta function
* Constants related to these functions

-----------------------------------------------------------------------
�N�)�xrange)�MPZ�MPZ_ZERO�MPZ_ONE�	MPZ_THREE�gmpy)�list_primes�ifac�ifac2�moebius)-�round_floor�
round_ceiling�
round_down�round_up�
round_nearest�
round_fast�lshift�
sqrt_fixed�
isqrt_fast�fzero�fone�fnone�fhalf�ftwo�finf�fninf�fnan�from_int�to_int�to_fixed�from_man_exp�
from_rational�mpf_pos�mpf_neg�mpf_abs�mpf_add�mpf_sub�mpf_mul�mpf_mul_int�mpf_div�mpf_sqrt�mpf_pow_int�mpf_rdiv_int�mpf_perturb�mpf_le�mpf_lt�mpf_gt�	mpf_shift�negative_rnd�reciprocal_rnd�bitcount�to_float�	mpf_floor�mpf_sign�
ComplexResult)�
constant_memo�def_mpf_constant�mpf_pi�pi_fixed�	ln2_fixed�
log_int_fixed�mpf_ln2�mpf_exp�mpf_log�mpf_pow�mpf_cosh�mpf_cos_sin�
mpf_cosh_sinh�mpf_cos_sin_pi�
mpf_cos_pi�
mpf_sin_pi�ln_sqrt2pi_fixed�mpf_ln_sqrt2pi�sqrtpi_fixed�
mpf_sqrtpi�
cos_sin_fixed�	exp_fixed)�mpc_zero�mpc_one�mpc_half�mpc_two�mpc_abs�	mpc_shift�mpc_pos�mpc_neg�mpc_add�mpc_sub�mpc_mul�mpc_div�mpc_add_mpf�mpc_mul_mpf�mpc_div_mpf�mpc_mpf_div�mpc_mul_int�mpc_pow_int�mpc_log�mpc_exp�mpc_pow�
mpc_cos_pi�
mpc_sin_pi�mpc_reciprocal�
mpc_square�mpc_sub_mpfcCs�|d}t|>}}d\}}}|rW|d|dd|d9}|dd|d|dd}|d|dd	|dd
|d|dd|d}||7}|d7}|s|d?S)N�)rrr� ��r�����(���r)�prec�a�one�s�t�n�rz�8/usr/lib/python3/dist-packages/mpmath/libmp/gammazeta.py�
catalan_fixedHs
 <�r|c
Cs,t||dd�}t}td�}t|>}}t|�}tt|||�d�}}d}		ttd|	|��}
t|
||�}
t	|
||�}
t
|
|�}
|
|||	|?}|dkrQn-||7}||d|	d|d|	7}|	d7}	t|d|	d|	d|�}t|||�}q(||>t|�}t
t||�|�}t
||�}|S)N��?��rmr�d)�intrrrr<r2r(r%�
mpf_bernoullir*r r)r>rAr!)
rt�wprw�facrx�ONE�pi�pipow�twopi2ry�zeta2n�term�Krzrzr{�khinchin_fixedms2
 �
r�cCs�|d}td|d�}t|>}t}td|�D]
}|t||�|d7}qt||�}||||7}|||dd7}|d}d}d}	d}
td�}d}	||>|	||}t||�}td||�}
t|
||�}t	|||�}t
||�}t|�dkr|nA||8}|	||
|
|	|||
df\}}	}}
|	||
|
|	|||
df\}}	}}
|d7}t|d|d|d|�}qMt
|�}|d	9}||>|d|?}|t|�7}|t
ttd||�|�|�7}|d
}tt||�|�}t
||�S)N�g��Q��?�rmrlr���r���)r�rr�ranger?rr!r�r(r*r �absr)r=�euler_fixedrBrA)rtr��Nr�rw�k�logN�pNru�b�jr��D�Br�r��Arzrzr{�glaisher_fixed�sL

**� 
r�cCs�|d7}t|>}td�|>}d}t}|rF||7}||d9}|d|ddd|d}d|d|dd	|d|}|d7}|s|d
?S)Nrj�Mr�
rmr�ro���rr)rrr)rt�dr�ryrwrzrzr{�apery_fixed�s $�r�c	Cs�d}||7}tt�|dt�d�d��d}d|}|t|�}}t|>}}d}	||d|d}||d|||}||7}||7}tt|�t|��dkrWn|d7}q-|||>|S)Nr�rrmrr�)r��math�logr>r�maxr�)	rt�extra�pryr��Ur��Vr�rzrzr{r�s""�r�cCsr|d}d}t|�}	t||�}|tkrnt||�}t|t|�|�}t|t|�|�}t||�}|d7}qt	||�S)Nrjrmr)
�	mpf_euler�mpf_zeta_intrrBr)rr*rr&r )rtr��mrwrxrzrzr{�
mertens_fixed+s


�
	r�cs�dd�}d|d�t}�fdd�dD�}�fdd�|D�}d}	t|��}td
�D]}t|tt||���}t||||��||<q*t|||���}t||dd�tkrXnt||��}|d	7}q!t|td
���}t|td���}t	||�S)Ncs$t�fdd�td�d�D���S)Nc3s(�|]}�|st|��|>VqdS�N)r��.0r��ryrzr{�	<genexpr>>s�&z-twinprime_fixed.<locals>.I.<locals>.<genexpr>r)�sumrr�rzr�r{�I=s$ztwinprime_fixed.<locals>.Irmr�csg|]}td|���qS)r)r"�r�r��r�rzr{�
<listcomp>A�z#twinprime_fixed.<locals>.<listcomp>)rmrlr��csg|]}t||���qSrz)r(r�r�rzr{r�Br�rrr�ryi'i	)
rr�r�r(r'r,r#rr*r )rtr��res�primes�ppowersryru�irzr�r{�twinprime_fixed;s(
�
r�i�rlr�cCs(t�|d�}tdd|||d�S)z5Accurately estimate the size of B_n (even n > 2 only)rmg�S㥛@r}g�K7�A`@)r�r�r�)ry�lgnrzrzr{�bernoulli_size�sr�cCsN|dkr|dkrtd��|dkrtS|dkrtt�S|d@r tS|tkr=|t|�ddkr=t|�\}}t||||p;t	�S|t
krGt|||�S|d}|d|d	@7}t�
|�}|r�|\}}||vrp|sh||St||||�S|\}	}
}||	d
kr�t|||�Sn |d
kr�t|||�Sdti}dtd
�tg\}	}
}}||ft|<|	|k�r�|	d}t|	�}
d}td|
�|}|	dkr�t}n|}td|	dd�D]b}||	d|\}}}}}|r�|}|t||||�7}d|}||	d||	d
||	d||	d||	d||	|9}|d
|d|d|d|d|d|}q�|dk�r:t|	dt|�}|dk�rGt|	dt|�}|d
k�rUt|	dt|�}t|||�}tt|||�t|
�|�}|||	<|	d7}	|
|	d|	d|	|	d}
|	dk�r�|d|	d|	|	d|	d}|	|
|g|dd�<|	|ks�||S)z.Computation of Bernoulli numbers (numerically)rmrz)Bernoulli numbers only defined for n >= 0rg�������?��r�rk�r�r�r�rrlr���	N)�
ValueErrorrr$rr�BERNOULLI_PREC_CUTOFFr��bernfracr"r
�MAX_BERNOULLI_CACHE�mpf_bernoulli_huge�bernoulli_cache�getr#rrr�rrrr-�f3�f6r!r*r'r)ryrt�rndr��qr��cached�numbers�stater��bin�bin1�case�szbmrw�sexprur��usign�uman�uexp�ubc�u�j6r�rzrzr{r��sz

�
H6 
$�!r�cCs�|d}|tt�|d��}t|d|�}t|t||�|�}t|tt|�||��}t|d|�}|d@s9t	|�}t
|||p?t�S)Nr�rmrrl)r�r�r��
mpf_gamma_intr(r�r,r<r2r$r#r)ryrtr�r��piprec�vrzrzr{r��sr�cCs�t|�}|dkrgd�|S|d@rdSd}t|d�D]}||ds(||9}qt|�tt�|d��d}t||�}t|t|��}t|t	�}||fS)a�
    Returns a tuple of integers `(p, q)` such that `p/q = B_n` exactly,
    where `B_n` denotes the `n`-th Bernoulli number. The fraction is
    always reduced to lowest terms. Note that for `n > 1` and `n` odd,
    `B_n = 0`, and `(0, 1)` is returned.

    **Examples**

    The first few Bernoulli numbers are exactly::

        >>> from mpmath import *
        >>> for n in range(15):
        ...     p, q = bernfrac(n)
        ...     print("%s %s/%s" % (n, p, q))
        ...
        0 1/1
        1 -1/2
        2 1/6
        3 0/1
        4 -1/30
        5 0/1
        6 1/42
        7 0/1
        8 -1/30
        9 0/1
        10 5/66
        11 0/1
        12 -691/2730
        13 0/1
        14 7/6

    This function works for arbitrarily large `n`::

        >>> p, q = bernfrac(10**4)
        >>> print(q)
        2338224387510
        >>> print(len(str(p)))
        27692
        >>> mp.dps = 15
        >>> print(mpf(p) / q)
        -9.04942396360948e+27677
        >>> print(bernoulli(10**4))
        -9.04942396360948e+27677

    .. note ::

        :func:`~mpmath.bernoulli` computes a floating-point approximation
        directly, without computing the exact fraction first.
        This is much faster for large `n`.

    **Algorithm**

    :func:`~mpmath.bernfrac` works by computing the value of `B_n` numerically
    and then using the von Staudt-Clausen theorem [1] to reconstruct
    the exact fraction. For large `n`, this is significantly faster than
    computing `B_1, B_2, \ldots, B_2` recursively with exact arithmetic.
    The implementation has been tested for `n = 10^m` up to `m = 6`.

    In practice, :func:`~mpmath.bernfrac` appears to be about three times
    slower than the specialized program calcbn.exe [2]

    **References**

    1. MathWorld, von Staudt-Clausen Theorem:
       http://mathworld.wolfram.com/vonStaudt-ClausenTheorem.html

    2. The Bernoulli Number Page:
       http://www.bernoulli.org/

    rl))rr)rorm)rr�r)rrrmrj)
r�r	r�r�r�r�r(rrr)ryr�r�rtr�r��pintrzrzr{r��sG�

r�cCs@|tttfvr	|Sttt||d�|�}t|t|d|�||�S)Nr�)rrr�mpf_psi0r&rr�)�xrtr�rurzrzr{�mpf_harmonic�sr�cCsN|dtkrt|d||�tfStt|t|d�|�}t|t|d|�||�S)Nrrr�)rr��mpc_psi0r\rr�)�zrtr�rurzrzr{�mpc_harmonic�sr�cCsn|\}}}}|d}|s|tkr|S|tks|tkrtS|tks&|dkr*|r*td��||dkrGtt|t||�||�}t|t	t|||�||�S|rr||dkrrt
||�\}	}
tt	|	|
|�t|�|�}ttt||�|�}t||||�S|s�|||kr�t
t|t|�||�St|�}
td|�d}t}
t||�}t|>}|
|kr�t|
|�D]}|
||>|8}
||7}q�||8}|
tt
t|||�|�|�7}
|
||>d|7}
|||?}|}d}d}	|||?}td||�\}}}}|d|}|dk�r||>|d|}n||?|d|}|d@�r|
|8}
n|
|7}
|dk�r(||k�r(n|}|d7}q�t|
|||�S)	z_
    Computation of the digamma function (psi function of order 0)
    of a real argument.
    r�rzpolygamma pole���rl�)\��(�?rmr)rrrrr�r�r&rr'r*rGr(r<rBrr�rr rrr!r�)r�rtr��sign�man�exp�bcr�r��crwr�r�r�ryrvr��x2rx�prev�bsign�bman�bexp�bbc�offsetr�rzrzr{r��s^

 �r�cCs�|\}}|tkrt|||�tfS|d}|\}}}}	|rH||	dkrHt||�}
t||�}tt|
||�t|�|�}ttt	||�|�}
t|
|||�S|sZ|	||krZt
t|t	|�||�St|�}td|�d}t
}||kr�t||�D]}t|t||�|�}t|t|�}qqt|t	|�}t|t
||�|�}t|tt||�|�}t||�}t	}t
}d}tt|d�}	t|||�}td||�}t|t|d||�|�}t|||�}t|d�}|dkr�t||�r�	|S|}|d7}q�)zb
    Computation of the digamma function (psi function of order 0)
    of a complex argument.
    rjrlr�rmrr�)rr�rerfr]r[r<r�rYrQrbrr�rPrrgr\rrXrRrhr2rZr�r_r`rTr/)r�rtr��re�imr�r�r�r�r�r�rwr�r��wryr��z2rxr��eps�bernr��sztermrzrzr{r��sP



��r�cCs,|dkrt||td�St||tf||�dS)zm
    Computation of the polygamma function of arbitrary integer order
    m >= 0, for a real argument x.
    r)r�)r�r�mpc_psir)r�r�rtr�rzrzr{�mpf_psisrcCs`|dkr
t|||�S|\}}|d}|\}}}	}
|ds'|tttfvr'ttfS|s=|tkr5|tkr5ttfS|tkr=ttfSt|�}td|d|�}t}
||krnt||�D]}t	||d|�}t
|
||�}
t|t|�}qVt	|||�}t	|d|�}t
|t|�|�}t
|
||�}
t
|
tt|||�t|�|�}
|d}d}d}t|
d�}|d|d	}tt||d�}	t|||�}td||�}t|||�}t|t|�|�}t|||�}t
|
||�}
t|d�}|dkr�t||�r�n#||d||d|d9}|d|dd|d9}|d7}q�t|
tt|d�|�||�}|d@�s.t|d�t|d�f}|S)
zp
    Computation of the polygamma function of arbitrary integer order
    m >= 0, for a complex argument z.
    rrjrg�������?rr�rmr�rl)r�rrrrrr�rPrrarXr\rr^rr]r[rrTr2rZr�r)r*r/�	mpf_gammar$)r�r�rtr�r�r�r�r�r�r�r�r�ryrwr�rx�zmr��
integral_termrur��magnr�r��scalr�r�r�rzrzr{r�	sd

 �
r�cCs�|tvrt|Stg|d}t}t}|d<td|d�D]&}|d||d||d}|d|d|d}||7}|||<q|t|<|S)Nrrrrm)�
borwein_cacherrr�)ry�dsr�rwr�rzrzr{�borwein_coefficientszs 
rr�c
Cs�|d}t|�}|tvrt|d|krtt|d||�S|dkrA|dkr*td��|s0tt�Stt|d|�t|d�||�S||krLt	t
d||�S||dkr}d|>}}|d||>7}||t|7}|dtd||d�>7}t
||||�St|�|dd}|dkr�td|d�}|t|d	d
�dkr�t
}t|�D]'}t||t�|d��}	|	dkr�ntt
tt|�||	�|�}
t||
|�}q�tt
||�St|d	d
�}t|�}t}t|�}t|�D]}|d||||||>|d|7}q�||>||}||>d|>d|d|>}|tv�r)t|d|k�s.|tv�r:|t
|||�ft|<t
|||||�S)
z<
    Optimized computation of zeta(s) for an integer s.
    rjrrrmzzeta(1) poleg/�$���?r�g@�R���Q@r�r�ro)r��zeta_int_cacher#r�r$rr*r�rr.rrr�r!�floatr	r�r�r'r,r(rrrr)
rwrtr�r�rxrvr��needed_termsr��powprecruryr�rzrzr{r��sR". &r�c Cs�|\}}}}|s|tkr|rtStt�S|tkrtStS|d}|s5||t�|d�dkr5tt|||�S|dkrk|rc|tkrDt	||�St
t|�|t|�}	t
tttt
t||�|�|�}
t|	|
||�St
t|�||�S|r�|r�t
tttt
t||�|�|�}
tt||�|
||�St
t|d|�}t||�}t||�}
tt|d�|�}|td||�}t||�}ttt|d�||�||�}t|t|
t|||�|�||�St
t||�}t|�\}}}}d||}||kr�|r�t	||�Sttt||��}
t|
t|�||�S|td|�7}t}t|dd	�}t|�}t}t||�}t|�}t |�D]/}|t!|d||�|?}t"|||�}|||||}|d@�rJ||8}�q ||7}�q |||}t#|||�}|�rgt$|||�St
tttt
t||�|�|�}
t||
||�S)
Nrjrmrr�rorr�r	r�)%rrr$rrrr�r�r.r@r�rr3r'rCrr(�mpf_zetarrIr2r�r<r*r%r&r�rr�rr r>rr?rOr!r#) rwrtr��altr�r�r�r�r�r�r��yrur�r��wp2r�r��r�asign�aman�aexp�abc�	pole_distrxry�sf�ln2r�r��emanr�rzrzr{r�sx





rFc0Cs�|\}}|tkrt||||�tfS|stt|d�t|��rt�|d}tt||�}t|d�\}	}
}}d||}
|
|kr�|rlt|�}t	|t
|�|�}tt	|||�d�}t||�}t
|t|�|�}t|||�}t|||�Sttt||��}t|t
|�|�}t|||�S|td|
�7}t|t��r|r�tttttt||�|�|�}tt||�|||�Stt|d|�}t||�}t||�}tt|d�|�}|\}}}}|\}}}}t||||�}|td|�}t||�}t|d�tf} tt| ||�||�}!t|t|t||!|�|�||�St|dd�}"|"td	tt |���7}"t!|"�}!t"||�}#t"||�}$t#}%t#}&t$|>}'t$d
|>}(|t%k})t&|�}*t'|d�} ||}t(|"�D]Z}+t)|+d||*�},|)�rc|(t*|+d|>�}-n
t+|#|,|?|�}-|+d@�r}|-|!|"|!|+9}-n
|-|!|+|!|"9}-t,|$|,|?|| �\}.}/|%|-|.|?7}%|&|-|/|?7}&�qK|%|!|"}%|&|!|"}&t-|%||�}%t-|&||�}&|�r�t|%|&f||�Stttt||�|�}t|%|&f|||�S)Nr�rjr�rorrr	r�g�������?rm).rrr1rTr�NotImplementedErrorrYrQr@r(r�r2r'r]r$r\rVrWr[r�r0rdrSrZ�mpc_zeta�	mpc_gammarfrUr<r^r�r�rrr rrrr>r=rr?rrOrNr!)0rwrtr�r�forcer�r�r�rrrrrrr�r�gr�rur�r��rsign�rman�rexp�rbc�isign�iman�iexp�ibc�magrr��pi2r�ry�ref�imf�tre�timrv�one_2wp�
critical_linerr�r�r��wre�wimrzrzr{rs�
��




rcC�t|||d�S�Nr)r�rwrtr�rzrzr{�mpf_altzetaq�r5cCr2r3)rr4rzrzr{�mpc_altzetatr6r7cCsP|dkr|St|>}|r&|d@r|||?}|d8}|||?}|d}|s|S)Nrrmrs)r�ryr�rrzrzr{�	pow_fixed{s�r8cCs�|tt�krt}tdt�t|��d�}t}|||fSdg|d}dg|d}t|�}|D]}t||d|�D]}|||<q:q0t|�D]"\}}|dkrhd}||}||sd||}|d7}||rX|||<qF|a|a|a|||fS)Nrrrm)	�len�sieve_cache�primes_cache�indexr��
mult_cacher	r�	enumerate)ry�siever��multr�r�r�r�rzrzr{�
primesieve�s4

���
rAcCs�|dkrtd��t||�\}}}i}	t|>}
td|>}||}t|�}
t|d�}|D]~}|d||kr9nst|||
�}t|||?||�\}}|rW|t||>�}n
t|||?|�}|||?}|||?}||fg|	|<||}}t	dt
t�|||�d�d�D] }|||||?|||||?}}|	|�
||f�q�q-t}t}|dkr�||
7}t|d�}t|||d�D]�}||}||	v�r||}|	||d\}}	|||}|dkr�n(||}||}|	||d\}}|||||?|||||?}}q�n5t|||
�}t|||?||�\}}|�r3|t||>�}n
t|||?|�}|||?}|||?}||7}||7}q�||fS)Nrza cannot be less than 1rmg{�G�z�?)r�rArr>r=r?rNrrOr�r�r�r��appendrr�r)r/�sre�simruryr�r?r�r@�basic_powersrvr.rrr)r�r��cos�sinr��pre�pimr,r-r��xre�xim�aar�rzrzr{�zetasum_sieved�sn
&*�

*�
rMr�c!s�d�t|�}|dgk}t|�dk}|\}}	|tk}
t|��}t|	��}	|dkrZ|tkrZ|sZ|sZ|dks:tjdkrZt|
||	||��\}}t|��d�t|��d�fg}
|
gfSt	|�}|sft
|d�}dd�|D��d	d�|D��|r�d
d�|D��dd�|D��ng��t�>}td�>}t��}t
�d�}��}t|||d�D]�}t|�|�}t|	|�?�|�\}}|
r�|t||>�}n
t||�?��}||�?}||�?}|r�|||}||�?}||�?}|�rx|�r4t||��}�d||�?7<�d||�?7<|�r3�d||�?7<�d||�?7<q�t�>}|D]<}�|||�?7<�|||�?7<|�ro�|||�?7<�|||�?7<||�?}�q:q��d|7<�d|7<|�r��d|7<�d|7<q�|�r�|�r�|d�rƈd�d<�d�d<|�rƈd�d<�d�d<n'�fd
d�|D���fdd�|D��|�r�fdd�|D���fdd�|D����fdd�t���D�}
��fdd�t���D�} |
| fS)zI
    Fast version of mp._zetasum, assuming s = complex, a = integer.
    r�rrg��AlrycS�g|]}t�qSrz�rr�rzrzr{r���zmpc_zetasum.<locals>.<listcomp>cSrNrzrOr�rzrzr{r��rPcSrNrzrOr�rzrzr{r�rPcSrNrzrOr�rzrzr{r�rPrmc�g|]
}d|�|�qS�rorzr�)rJrzr{r�;�crQrRrzr�)rKrzr{r�<rScrQrRrzr�)�yrerzr{r�>rScrQrRrzr�)�yimrzr{r�?rSc�0g|]\}}t|��d�t|��d�f�qSr��r!)r��xa�xb�rtr�rzr{r�@�$�crVr�rW)r��ya�ybrZrzr{r�Br[)�listr9rr �ZETASUM_SIEVE_CUTOFF�sys�maxsizerMr!r�r�rr>r=rr?rNrrOr8�zip)!rwrury�derivatives�reflectrt�have_derivatives�have_one_derivativerCrDr/r�r��xs�maxdrvr.rr)rr�r�rFrGr��xterm_re�xterm_im�
reciprocal�yterm_re�yterm_imrxr��ysrz)rtr�rKrJrUrTr{�mpc_zetasum�s�


�"���
���roi�i�:g�������?�cCsg|]}tt|���qSrz)rr
)r�ryrzrzr{r�[s�r�cs�d�|��tg|d}t��}t�>}|d|d<tt��d�}t|��}}g}d}		�d|	}
|
dkr:n8ttt|t|
�|
�}t	|t	|||
�|
�}t
|��}t
|��}|	||�?}|�||f�t	||��}|	d7}	q/td|dd�D]<}
t}d}	|D]-\}}|
ddkr�||	|
}n|
dd}||||	|
}|s�n	||7}|	d7}	q�d|||
<qz�fd	d
�t|d�D�}t
tt��d�d��}}t|td���}td|dd�D]%}
t	||
|��}t
|��||
<t	||��}t|t|
d|
d���}q�|�>|}td|dd�D]H}
|
dd}|d|dd|dd}td|d�D]}	||d|	|d|dd|	�?8}�q4||
d||�?7<�qtd|dd�D]R}
|
dd}|d|dd|d}tdd|d�D]!}	|d
|	d|	|d|	|d|dd|	�?7}�q�||
||�?d|7<�qf�fdd
�|D�S)a
    zeta(n) = A * pi**n / n! + B

    where A is a rational number (A = Bernoulli number
    for n even) and B is an infinite sum over powers of exp(2*pi).
    (B = 0 for n even).

    TODO: this is currently only used for gamma, but could
    be very useful elsewhere.
    r�rmrrr�rlrr�csg|]	}tt|����qSrz)r%r�)r�r�r�rzr{r��szzeta_array.<locals>.<listcomp>r�r�rocsg|]}|�?�qSrzrz�r�r�)r�rzr{r���)rr=rr2r<rAr*rr'r(r rBrr,r)r�rt�zeta_valuesr�rv�f_2pi�	exp_2pi_k�exp_2pi�exps3r��tp�q1�q2ryrw�e1�e2rxr�r��pi_pow�fpir��
reciprocal_pirz)r�r�r{�
zeta_array^st

�
 0 @$r�c	s�|dkr
|d|d�n|dkr|d|d�n|��tvr&t��fS�dkr3t�dd�}nt�dd�}tD]%���krb��fdd	�t�|d
�D�}|dkr\|t�<|�fSq=�dkrmt�d���d}d
g|}t|d
<t|>|d<t|�|d<t||�}td|�D]3}|d||d|?}td|�D]}|d|||||||?7}q�|d|}|||<q�dd	�|D�}|d
d
d�}|d
d�}|t�<t|�S)z�
    Gives the Taylor coefficients of 1/gamma(1+x) as
    a list of fixed-point numbers. Enough coefficients are returned
    to ensure that the series converges to the given precision
    when x is in [0.5, 1.5].
    i�r�r�r�gR���Q�?rmg�v��/�?csg|]}|��?�qSrzrzrq��cprecrtrzr{r��r�z-gamma_taylor_coefficients.<locals>.<listcomp>Ng333333�?rjrrrlrocSsg|]}|d?�qS)rjrz)r�rurzrzr{r��rr)�gamma_taylor_cacher�rrr�r�r�gamma_taylor_coefficients)	�inprecr��coeffsr�r�rsr�rur�rzr�r{r��sH"�

&
r�cCsB||d?td?}t|>}t|�\}}	|dkr||}
t|d�D]}||8}|
||?}
q ||8}t}|D]
}
|
|||?}q5||	|L}|dkrVt|
|>||||�S|dkrftt||
|>||�|�S|dkrzttt|
|>||��||�SdS|}
t|�D]}|
||?}
||7}q�t}|D]
}
|
|||?}q�||	|L}|t	t
|��dkr�t|t|��}t||
||�}
t
|
||�}
|dkr�tt|
||�S|dkr�t|
||�S|dkr�tttt|
|��||�SdSt|||
d|�}
|dk�rtt|
||�S|dk�rt|
||�S|dk�rttt|
�||��SdS)Nrrrmrlr����)rr�rrr!r2r"rBr%r5r�r&rr(r*rr#r$)�xmpfr�r�rtr��type�nearest_intrvr��cwprr�r�r�rrzrzr{�gamma_fixed_taylor�sV �
�"r�cCsT|tvrt|St|�\}}|t||d�9}||tt|��t|�ft|<t|Sr3)�gamma_stirling_cacher�rr5r�)ryr�r�rzrzr{�stirling_coefficientsr�cCst||>|}|||?}t|�|}||d7}|||?}||d8}|||?}||d7}|||?}||d8}|||?}|sH|S||d7}|||?}|d|d8}|||?}||d7}|||?}|sr|S|d	|d
8}|||?}|d|d7}|||?}|d
|d8}|||?}|s�|Sd}tt|��}tt|��}d}	t|�\}	}
}}|||}
|}||
}|dkr�||kr�|	|L}	||8}||
}|dkr�||kr�||?}||8}n|}||	|
|?}|s�	|S||7}|||?}|||8}|d7}q�)zr
    Sums the rational part of Stirling's expansion,

    log(sqrt(2*pi)) - z + 1/(12*z) - 1/(360*z^3) + ...

    r��h��������!� ��[��ܹ������rrrm)rrJr5r�r�)r�rtrxr�rwr��usize�tsize�texpr�r��pb�qb�term_mag�shiftr�r�r�rzrzr{�real_stirling_series!sT
��r�cCs�|||||?}||>|}||>|}|||||?}|||d?}t|�|}|}	||d7}|	|d7}	|||||?|||||?}}||d8}|	|d8}	|||||?|||||?}}||d7}|	|d7}	|||||?|||||?}}||d8}|	|d8}	|||||?|||||?}}t|�t|�dkr�||	fS||d7}|	|d7}	|||||?|||||?}}|d|d	8}|	d|d	8}	|||||?|||||?}}||d
7}|	|d
7}	|||||?|||||?}}t|�t|�dk�r:||	fS|d|d8}|	d|d8}	|||||?|||||?}}|d
|d7}|	d
|d7}	|||||?|||||?}}|d|d8}|	d|d8}	|||||?|||||?}}t|�t|�dk�r�||	fSd}
ttt|�t|���}ttt|�t|���}d}
	t|
�\}}}}|||
}|
}||}|dk�r�||k�r�||L}||8}||}|dk�r||k�r||?}||?}||8}n|}|}||||?}||||?}t|�t|�dk�r9	||	fS||7}|	|7}	|||||?|||||?}}|
||8}
|
d7}
�q�)Nrr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrm)rJr�r5r�r�)r�rrt�_mr,r-�ure�uimrCrDr�r�r�r�r�r�r�r�r�r�r�r0r1�termre�termimrzrzr{�complex_stirling_seriesVs|***** ** * * *
���r�r�c#Cs�|\}}}}|s*|tkr|dkrtS|dkrtStd��|tkr(|dkr&tStStS|dkrH|d}|||krH|sHtt|t||�|�|||�S|dk}	|	r�|rZ|dkrVtStd��||>}
|
tkr�|dkrpt	t
|
d||�S|dkr|t	t
|
||�S|dkr�ttt
|
d||�S|dkr�tt
|
d||�Snt||?�}
||}|
|}|dkr�|d}n|t
|�d}||kr�|dkr�ttt||�tt|�||�S|dkr�tt|||�S|dkr�t|tt||�||�S|dkr�ttt|�||��S|dk�r
tt|t�||d�S|dk�r|	�rI|d|k�rI|dk�r(tt|
d�||�S|dk�r8ttt|
d�||�S|dk�rIttt|
d��||�S|
d	k�sU|d|k�r|�r�t|�}
|
d�rjtd|
d�}n	td|
d�}|dk�r�tt|
|||�||
d�S|dk�r�tt||
||�||
d�S|dk�r�ttt|
t|�||�||
d�||�Snc|
dk�r�|dk�r�t||�S|dk�r�ttt|�||�S|dk�r�tt|�||�Sn8t|�}
t|
td|
d�||
�}
|dk�r�t	|
||�S|dk�rtt|
||�S|dk�rtt|
�||�S||}|dk�r&||>}n||?}|dk�r�|�s�t|>}t||�}t|d|�}|t
t||��}|dk�r�tt|�}tt|�}|d|d}|d|d}||k�rtt|�tt|�||�S||k�r�tttt|��t|t�||�S|t||�7}||}|dk�r�||>}n||?}tt |�}|
td	|�k�r�|t!k�r�|�r�|}t"||||||�S|}d}|
|k�rt|>}}||
}t#|�D]
}|||?}||7}�q�t||�}}|�rt|�}nt|�}t$||�}t%t||�|�} |t|d>| |?} || 7}t||�}
|�r�tt&||�||�}!tt'|��}"|dk�sJ|dk�rwt|!t(|
|��}!|�r_t|"t||�|�}"|dk�rkt|"|!||�S|dk�rwt|!|"||�S|dk�r�|�r�t|"t||�|�}"ttt|!�|�|
|�}!ttt|"�|�|!||�Sd
S|dk�r�|�r�tt(|
|�t||�||�St(|
||�S|dk�r�|�r�tt||�t(|
|�||�St(t|
�||�S|dk�r�|�r�t|
tt||�|�||�St	|
||�Sd
S)a�
    This function implements multipurpose evaluation of the gamma
    function, G(x), as well as the following versions of the same:

    type = 0 -- G(x)                    [standard gamma function]
    type = 1 -- G(x+1) = x*G(x+1) = x!  [factorial]
    type = 2 -- 1/G(x)                  [reciprocal gamma function]
    type = 3 -- log(|G(x)|)             [log-gamma function, real part]
    rrmzgamma function polerlrjrror�r�N))rrr�rrr'r(rB�SMALL_FACTORIAL_CACHE_SIZEr#�small_factorial_cacher*r�r5r2r&r$r%rrr
r"rrLrr�rMr!�minrr�r��GAMMA_STIRLING_BETA�MAX_GAMMA_TAYLOR_PRECr�rr�r rIr<rA)#r�rtr�r�r�r�r�r�r��
is_integerryr(�
gamma_sizer��fr��absxmanrv�one_dist�two_dist�cancellation�xsub1�xsub2�xsub1mag�xsub2mag�n_for_stirling�xorigrr�r��xabsrr�r�r�rzrzr{r�sB�

 







����
 



�

�



�

�
�
�rcFCs	|\}}|\}}}}	|\}
}}}
|tkr?|dkr6|r6t|||d�}||?}tt|d�|||�}||fSt||||�tfS|sC|sG|sK|rKttfS|d}||	}||
}|r_t||�}n|}|dkr�||kr�t|tt|||�t	|�|�|�}|dkr�t
|||�S|dkr�t||||�S|dkr�t|||�S|dkr�t
t
||�||�Sn	|dkr�||7}|dkr�||kr�|r�||kr�tt|t
||�|�|||�S|dkr�tt|t�|f||d�Stt|��}tt|��}t||�}||}|dkr�n|t|�7}|}|}|�rt|�}|d\}}}}	}|d\}
}}}
}d}d}|dk�r>|dk�r�t|t�}|dtk�r9|}nt|dd|dd|�}||k�r�t|�} t|| |�}!t|!|!|�}!t|!td	�|�}!t|tt	|��|�}"t|!|"|�}|�st|||�Sn	|dk�r�||7}t|t�}#|#dtk�r�|}$nt|#dd|#dd|�}$|$|k�r�t|�} tt| | �td
��}%tt|#|#|�|%|�}!t|!td	�|�}!t|#ttt	|��|�}"t|!|"|�}|�s�t|||�Sn	|$dk�r�||$7}||k�r9d|d}&t|�}'tt||�}(t|'|&|d�})tt|'|(�|&|d�}*tt|*|)|&�|(|&�}+t||+||�}"|)|"f}|�s8t|||�Sn||7}||7}t t!|�},||,k}-t"||�}.t"||�}/d}0|�sl|}1||,k�r�t#||�}t d|,d|dd|�}2t$|>}3}4t%}5t&|2�D]}6|.|3|/|5|?|.|5|/|3|?}3}5|.|47}.�q�t'|3|�t'|5|�f}0t'|.|�}||f}t(|.|/|�\}7}8t
||�\}9}:t"|9|�}9t"|:|�}:|9|.|:|/|?|9d?|7}7|9|/|:|.|?|:d?|8}8t'|7|�t'|8|�f}"|0�rl|dk�rlt|"t
|0|�|�}"t)|1d�};t)|1d�}<t*�+|;|<�}=t)|"d�}>t*�,|<|;�}?|=dk�r6d
|<|?}@n|<d|?|;|?|<t*�-|=�}@t t*�.|@|>dt*j/d��}|"dt|"dtt|�d||�|�f}"|�rH|dk�sy|dk�r�tt0||�||�}Att|��tf}B|�r�|dk�r�t|A||�}Ant|A||�}An	t|At1|"|�|�}A|0�r�t|B|0|�}B|dk�r�t|B|A||�S|dk�r�t|A|B||�S|dk�rF|�r�t|�}Cnt|"�}Ct|Ct
t|�|�|�}Ct2|d�}Dt3|d�}Et|�} t| |D�}%t|%|E|�}%|Cdt|Cd|%|�f}Ct4|Ct5| |�|�}Ct0t||D�|�}%t
|%|�}%t|C|%|�}C|E�s@t| t2|D�|�}%|Cdt|Cd|%|�f}Ct|C||�SdS|dk�r`|0�rZtt1|"|�|0||�St1|"||�S|dk�rz|0�rrt|0t1|"|�||�St1t|"�||�S|dk�r�t|"||�SdS)Nrlr�rji����rrrmi����r�r�)r�r}g@KW��x�?)6rrr)r<rr�rXr]rZr�rgr[rVrbrYrr&rr�rr5rWrir^rr$rr'r(r%r2r*r�r�r �complexrrrr!r�r6r��hypot�atan2r��floorr�rfrcr7r8r\rB)Fr�rtr�r�rur�rrrrr�r�r�r�r�ryr�r��amag�bmagr(r��an�bn�absnr��need_reflection�zorig�yfinal�balance_prec�zsub1�cancel1r�r�r�zsub2�cancel2rx�pp�aabsr��x1r��xprimer��need_reduction�afix�bfixr�zpreredr��rrerv�rimr�rTrU�lre�lim�zfa�zfb�zfabs�yfbr��gir�r��s1�rezfloor�imzsignrzrzr{rls^
 




 
�

 
�
�




 *

  
$ (




�


�rcCr2r3�r�r�rtr�rzrzr{�
mpf_factorialVr6r�cCr2r3�rr�rzrzr{�
mpc_factorialYr6r�cCr2�Nrmr�r�rzrzr{�
mpf_rgamma\r6r�cCr2r�r�r�rzrzr{�
mpc_rgamma_r6r�cCs"|\}}}}|r
t�t|||d�S)Nrl)r9r)r�rtr�r�r�r�r�rzrzr{�mpf_loggammabsr�cCsr|\}}|\}}}}|\}	}
}}|tkr2|r2t|||d�}
||?}tt|d�|||�}|
|fSt|||d�S)Nrlr�)rrr)r<r)r�rtr�rur�rrrrr�r�r�r�r�ryr�rzrzr{�mpc_loggammahsr�cCs,|tkrtt|d||�Stt|�||�Sr3)r�r#r�rr)ryrtr�rzrzr{r�ssr�r�)r�r)r�)��__doc__r�r`�backendrrrrrr�
libintmathr	r
rr�libmpfr
rrrrrrrrrrrrrrrrrrr r!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9�	libelefunr:r;r<r=r>r?r@rArBrCrDrErFrGrHrIrJrKrLrMrNrO�libmpcrPrQrRrSrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrir|r�r�r�r�r�r�r��	mpf_apery�mpf_khinchin�mpf_glaisher�mpf_catalan�mpf_mertens�
mpf_twinprimer�r�r�r�r�r�r�r�r�r�r�r�r�rr�rr�ZETA_INT_CACHE_MAX_PRECr
r�rrr5r7�mpf_zetasumr8r:r;r=rArMr_ror�r�r�r�r�r�r�r�r�r�r�r�r�rrr�r�r�r�r�r�r�rzrzrzr{�<module>s��`p

$
A
=



	 

K]@;4	E*5WZ
:k
�Q915
H
O
k






Youez - 2016 - github.com/yon3zu
LinuXploit