U
    ZÊ¹jm  ã                   @   s  d dl T d dlmZmZmZ dd„ Zdd„ Zdd„ Zd	d
„ Zdd„ Z	dd„ Z
dd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd „ Zd!d"„ Zd#d$„ Zd%d&„ Zd'd(„ Zd)d*„ Zd+d,„ Zd-d.„ Zd/d0„ Zd1d2„ Zd3d4„ Zd5d6„ Zd7d8„ Zd9d:„ Z d;d<„ Z!d=d>„ Z"d?S )@é    )Ú*)Úround_upÚ
from_floatÚmpf_zeta_intc                   C   s   t ddƒtdƒkst‚d S )Nr   é
   ç      à¿)r   r   ÚAssertionError© r	   r	   úZ/var/www/html/bwave/python/venv/lib/python3.8/site-packages/mpmath/tests/test_gammazeta.pyÚtest_zeta_int_bug   s    r   c                  C   s�  t dƒdkst‚t dƒdks t‚t dƒdks0t‚t dƒdks@t‚t d	ƒd
ksPt‚t dƒdks`t‚t dƒdkspt‚t dƒd
ks€t‚t dƒdks�t‚t dƒdks t‚t dƒdks°t‚t dƒ\} }| d dksÌt‚|dksØt‚t dƒ\} }| d dksôt‚|dk�st‚dt_tdƒdk�st‚tdƒdk�s,t‚tdƒ d¡�s@t‚tdƒdk�sRt‚td	ƒ d¡�sft‚tdƒdk�sxt‚tdƒ d ¡�sŒt‚ttdƒƒd!k�s¢t‚ttd"ƒƒd#k�s¸t‚ttd$ƒƒd%k�sÎt‚ttd&ƒƒd'k�sät‚d(t_ttdƒƒd)k�s t‚ttd"ƒƒd*k�st‚ttd$ƒƒd+k�s,t‚ttd&ƒƒd,k�sBt‚dt_tdƒ tdƒd- ¡�sdt‚d.t_tdƒ tdƒd- ¡�s†t‚dt_d S )/Nr   )é   r   r   )éÿÿÿÿé   r   )r   é   é   )r   r   é   )r   é   é   r   )r   é*   é   r   )r   éB   é   )iMýÿÿiª
  é   )i[«  i  éä   ì    d(	 i‘sÔ	iŠ	 éè  l   kLÃ3 iö¿qé   r   gUUUUUUÅ?g¡¿g†a†a˜?z0.0757575757575758éê   z7.62772793964344e+267é † z-5.82229431461335e+376755iáõz1.19570355039953e+676752584é2   z50.075757575757575757575757575757575757575757575757576z87.6277279396434392486994969020496121553385863373331e+267z<-5.8222943146133508236497045360612887555320691004308e+376755z>1.1957035503995297272263047884604346914602088317782e+676752584r   iPÃ  )Zbernfracr   ÚmpÚdpsZ	bernoulliÚaeÚstrÚmpf)ÚpÚqr	   r	   r
   Útest_bernoulli   sN    r'   c                   C   st  dt _tddƒ d¡st‚tddƒ d¡s.t‚tddƒ d¡sBt‚tddƒ d¡sVt‚tddƒ d¡sjt‚tddƒ d¡s~t‚tddƒ d¡s’t‚tddƒ d	¡s¦t‚tddƒ d¡sºt‚tddƒ d
¡sÎt‚tddƒ d¡sât‚tddƒ d¡söt‚tddƒ d¡�st‚tddƒ d¡�s"t‚tddƒ d¡�s8t‚tddƒ d¡�sNt‚tddƒ d¡�sdt‚tddƒ d¡�szt‚tddƒ d¡�s�t‚tddƒ d¡�s¦t‚tddƒ d¡�s¼t‚tddƒ d¡�sÒt‚tddƒ d¡�sèt‚tddƒ d¡�sþt‚tddƒ d¡�st‚tddƒ d¡�s*t‚tddƒ d¡�s@t‚tddƒ d¡�sVt‚tddƒ d¡�slt‚tddƒ d¡�s‚t‚tddƒ d¡�s˜t‚tddƒ d¡�s®t‚tddƒ d¡�sÄt‚tddƒ d¡�sÚt‚tddƒ d¡�sðt‚tddƒ d¡�st‚tddƒ d¡�st‚tddƒ d¡�s2t‚tddƒ d¡�sHt‚tddƒ d¡�s^t‚tddƒ d¡�stt‚tddƒ d¡�sŠt‚td dƒ d!¡�s t‚td dƒ d¡�s¶t‚td dƒ d¡�sÌt‚td dƒ d"¡�sât‚td dƒ d¡�søt‚td dƒ d ¡�st‚tddƒ d¡�s$t‚tddƒ d¡�s:t‚tddƒ d¡�sPt‚tddƒ d¡�sft‚tddƒ d¡�s|t‚tddƒ d¡�s’t‚tddƒ d¡�s¨t‚tddƒ d	¡�s¾t‚tddƒ d¡�sÔt‚tddƒ d
¡�sêt‚tddƒ d¡�s t‚tddƒ d¡�st‚tddƒ d¡�s,t‚tddƒ d¡�sBt‚tddƒ d#¡�sXt‚tddƒ d$¡�snt‚tddƒ d¡�s„t‚tddƒ d¡�sšt‚tddƒ d%¡�s°t‚tddƒ d
¡�sÆt‚tddƒ d¡�sÜt‚tddƒ d&¡�sòt‚tddƒ d#¡�st‚tddƒ d'¡�st‚tddƒ d¡�s4t‚tddƒ d¡�sJt‚tddƒ d(¡�s`t‚tddƒ d)¡�svt‚tddƒ d¡�sŒt‚tddƒ d¡�s¢t‚tddƒ d¡�s¸t‚tddƒ d	¡�sÎt‚tddƒ d¡�sät‚tddƒ d*¡�sút‚tddƒ d¡�st‚tddƒ d¡�s&t‚tddƒ d¡�s<t‚tddƒ d¡�sRt‚tddƒ d+¡�sht‚tddƒ d,¡�s~t‚tddƒ d¡�s”t‚tddƒ d¡�sªt‚td dƒ d-¡�sÀt‚td dƒ d.¡�sÖt‚td dƒ d¡�sìt‚td dƒ d/¡�st‚td dƒ d0¡�st‚td dƒ d1¡�s.t‚td2d2ƒ d3¡�sDt‚td4d5ƒ d6¡�sZt‚td4d5ƒ d7¡�spt‚d S )8Nr   r   r   r   z1/2z3/4r   z-3/2z-1/2z1/4z3/2z13/6z1/6z-1/12z-1/48r   éýÿÿÿz-3/64r   z119/30z-1/30z7/240z7/3840r   éûÿÿÿz25/1024r   z665/66z5/66z-2555/33792z-2555/34603008é   éõÿÿÿz-555731/4194304z-1/4z-3/16z-9/4z-11/64z9/4z5/16z57/256z361/1024z-50521/1024z-36581523/1048576z-699/4z691/4z-512343611/4194304z-691/4z699/4é'  z5.8196915936323387117e+39999éÈ   g     €1@g€ÙÂôJ¶rg,ŸQr�%ù)r    r!   Zbernpolyr"   r   Z	eulerpolyr	   r	   r	   r
   Útest_bernpoly_eulerpoly4   sÈ    r.   c                  C   s  dt _tdƒ d¡st‚tdƒ d¡s*t‚tdƒ d¡s<t‚tdƒ d	¡sNt‚td
ƒ d¡s`t‚tdƒ d¡srt‚tdƒ d¡s„t‚tdƒ d¡s–t‚d} tddƒD ]}t|ƒ| ks¸t‚| |9 } q¤dD ]6}d} |t _tddƒD ]}t|ƒ| ksòt‚| |9 } qÞqÆdt _tdƒ ttƒ¡�st‚dt _tdƒt	dƒ  k�rBdk�sHn t‚tdƒdk�sZt‚t
ttƒƒ�slt‚tdƒ d¡�s€t‚tdƒdk�s’t‚tdƒdk�s¤t‚tdƒdk�s¶t‚tdƒdk�sÈt‚td ƒ d!¡�sÜt‚td"ƒ d#¡�sðt‚td$ƒ td%d#ƒ¡�s
t‚d S )&Nr   ç      Ð?gêî~Ä?@ç-Cëâ6?gí¨	!¶‡Ã@i,  z1.0201917073881354535e612r   gkï´‘ø[Àg¸…ëQ¸Àgf<9b1?y      ð?      ð?y±Ý}ßß?'Þ‰^eÕÃ¿y      ð¿{®Gáz„?yT})�Û¿Of[µÿX@y      4@      >@y<lãsªÕÁîfs¼uWÑAr   r   )éª   iX  éi   éd   ç      à?r   r   r   éL  z4.8579168073569433667e2866r   r   g      ð?y       @       @yaañJ�
!Àz…ÛÂ¶%@Z1e10000z 2.302485092994045684017991e10004Z1e10000jz!-1.570796326794896619231322e10000)r    r!   Úgammar"   r   ÚrangeÚsqrtÚpiÚ	factorialZfacÚisnanÚnanZrgammaZloggammaÚmpc)ZfactÚir!   r	   r	   r
   Ú
test_gamma›   sB    
&r?   c                   C   s¢   dt _dd„ tdƒD ƒddddddd	d
ddg
ks4t‚tdƒ d¡sFt‚tdƒ d¡sXt‚tdƒ d¡sjt‚tdƒ d¡s|t‚ttƒtksŒt‚ttt ƒƒsžt‚d S )Nr   c                 S   s   g | ]}t |ƒ‘qS r	   )Úfac2©Ú.0Únr	   r	   r
   Ú
<listcomp>Ä   s     ztest_fac2.<locals>.<listcomp>r   r   r   r   r   é0   r2   i€  i±  r)   gUUUUUUÕ?r+   gg¼jVQ¿r   g!a?Ã@©¹Fy      à?      è?yÓHŽ´Oê?j6¶¶.VÖ¿)r    r!   r7   r   r@   r"   Úinfr;   r	   r	   r	   r
   Ú	test_fac2Â   s    .rG   c                  C   s  dt _d} d}t}tdgddgƒdks*t‚tddgdgƒtksBt‚ttdgd	gƒ|d|  ƒ|d	|  ƒ  ƒdk stt‚ttddgd	dgƒ|d|  ƒ|d|  ƒ |d	|  ƒ |d|  ƒ  ƒdk sÂt‚td
dƒdksÔt‚tddƒdksæt‚tddƒdksøt‚tttƒ 	tdt ƒttƒ ¡�st‚tddƒ 	d¡�s4t‚t
d	dƒdk�sHt‚t
d	dƒd	k�s\t‚t
dd
ƒdk�spt‚t
d
dƒdk�s„t‚tddƒdk�s˜t‚tddƒdk�s¬t‚tddƒdk�sÀt‚td
dƒd
k�sÔt‚tddƒdk�sèt‚tdd
ƒdk�süt‚tddƒdk�st‚tddƒdk�s$t‚td	dƒd
k�s8t‚tddƒdk�sLt‚tddƒdk�s`t‚tddƒdk�stt‚tddƒdk�sˆt‚tddƒtk�sœt‚td
dƒtk�s°t‚tddƒtk�sÄt‚tddƒ 	d¡�sÚt‚tddƒ 	td ¡�sôt‚dtddƒ  	d¡�st‚tttƒdk�s"t‚ttt tƒƒ�s8t‚ttdtƒƒ�sLt‚ttdtƒƒ�s`t‚ttd ƒtd tƒ  k�r„dk�sŠn t‚ttd!ƒtk�sžt‚ttd"ƒt k�s´t‚td#dtd  ƒ 	d$¡�sÒt‚td"d ƒdk�sæt‚tdd
ƒ 	d%¡�süt‚tddƒ 	d&¡�st‚d S )'Nr   g:Œ0âŽyE>r0   r   r(   éüÿÿÿr   r)   éþÿÿÿr   r   g      @r   é   z-255.5815971722918z-0.5119253100282322z-0.1952720278805729485r   é   r   r   g      @ç      ø?g     @@r5   i"9	 gUUUUUUå?é   l     �Iú5 r3   gr‰îP§Ã@r4   ç      ø¿r   ù      ð?       @yß+5šŸò?Œ\K�9Êµ?gUUUUUUÕ¿z18.157330562703710339)r    r!   r6   Z	gammaprodr   rF   ÚabsÚrfÚjr"   ÚffZbinomialÚbetar9   r;   )ÚhÚepÚGr	   r	   r
   Útest_gamma_quotientsÌ   s^    2N&*rX   c                  C   sR  dt _tdƒ td d ¡s t‚tdƒ td d ¡s:t‚ttdƒƒ td d ¡sXt‚tdƒ d¡sjt‚tdƒ d¡s|t‚td	ƒ d
¡sŽt‚tdƒ tdƒ d ¡sªt‚tdƒdksºt‚tdƒ tdƒd ¡sÔt‚tdƒdksät‚tdƒdksôt‚ttt	ƒƒ�st‚tdƒ d¡�st‚tdƒ d¡�s.t‚ttd	dƒƒ d¡�sHt‚ttd	dƒƒ d¡�sbt‚ttd	dƒƒ d¡�s|t‚ttddƒƒ d¡�s–t‚ttddƒƒ d¡�s°t‚dt _d} ttd	| ƒƒ dd¡�sÖt‚dt _tdƒdd   d¡�søt‚tdd	ƒdk�st‚tddƒd	k�s t‚tdd	dƒ d¡�s8t‚td d!ƒ d"¡�sNt‚d S )#Nr   r   r   g       @r3   r   r   r   r4   gÿs~°œ]÷¿r   r   rI   r(   éx   rH   éœÿÿÿç ÂëþKH´9ç ÂëþKH´¹g"f›±úD,@gO½Çc¤5@g²£÷�Ç9@çœWw'&l¡7r   z8236.5242296658162058024755079556629786895294952121891237gaU,$ÎDb6y      NÀ      @r   é"   y¾Ž9ŽA!@û²¤€¿¬.@gï9úþB.Ö¿rN   y              à?y³Nñ*ØÁ¿iÐÎˆ6½?)
r    r!   Úzetar"   r9   r   r=   r$   r;   r<   )Zimr	   r	   r
   Ú	test_zetaý   s:    r`   c                  C   s0  dt _tdƒdkst‚tdƒdks&t‚tdƒdks6t‚tdƒdksFt‚tdƒdksVt‚td	ƒd
ksft‚tdƒdksvt‚tdƒdks†t‚tdƒ tdƒ¡sœt‚tdƒ td d ¡s¶t‚tdƒ dtd  d ¡sÔt‚tdƒdk sät‚tddd�dk søt‚tddd�dk�st‚tddd�dk �s$t‚tddd�dk�s:t‚tdƒtdƒk�sPt‚d} t| ƒ ddd|    t| ƒ ¡�s|t‚d} t| ƒ ddd|    t| ƒ ¡�s¨t‚tdƒ d¡�s¼t‚td ƒ d!¡�sÐt‚td"ƒ d¡�sät‚td#ƒ d¡�søt‚ttd"d$ƒƒ d¡�st‚ttd#d$ƒƒ d¡�s,t‚d S )%Nr   rI   r   rH   rZ   r4   r   r/   r(   g      À¿r)   iëÿÿÿg  �z\—ÑAr   r   r   r   éI   i jh r   é<   Úd©ÚroundingÚur,   ù      @        r   ù      @      @y      À      @ç      YÀg¨@o“.>VgÍÌÌÌÌÌô?g^©sŸç?r[   r\   r]   )	r    r!   Úaltzetar   r"   Úlogr9   r_   r=   )Úsr	   r	   r
   Útest_altzeta   s8    ((rm   c                  C   sÀ   dt _ttƒdkst‚dt _tdƒ d¡s.t‚tdt ƒ d¡sDt‚dt _td	ƒ} dt _t| d ƒd
kslt‚ttd td�dks„t‚tdtd�dks˜t‚ttd ƒdks¬t‚tdƒdks¼t‚d S )Nr   r   r   r3   z61.0000000000000000000000000000007888609052210118073522é(   z61.0000000000000000000000000000000000000148407238666182r,   iè€  z1.02363019598118e-9934r   rd   i¸  )	r    r!   r_   rF   r   r"   r9   r#   r   )Úvr	   r	   r
   Útest_zeta_huge>  s    rp   c                  C   sR   dt _t dd  } dt _tt| ƒƒdks.t‚dt _tt| ƒƒdksHt‚dt _d S )Né–   r   rn   r   z=2.55880492708712e+1233536161668617575553892558646631323374078r   z`2.5588049270871154960875033337384432038436330847333e+1233536161668617575553892558646631323374078)r    r!   r9   r#   r_   r   ©Úar	   r	   r
   Útest_zeta_negativeM  s    rt   c                  C   sd  dt _dd„ } dd„ }| dƒtddƒ  kr8tdƒks>n t‚| tƒ d¡sPt‚| t ƒ d¡sdt‚| t d	 ƒ d
¡s|t‚| tt ƒ d¡s’t‚| t t ƒ d¡sªt‚t| d	ƒ d¡s¾t‚| dƒ d¡sÐt‚| dƒ d¡sât‚| dƒ d¡sôt‚| dƒ d¡�st‚| t	ƒt	k�st‚|t	ƒdk�s,t‚tdt	ƒdk�s@t‚|tƒ d¡�sTt‚|t ƒ d¡�sjt‚|tt ƒ d¡�s‚t‚|t t ƒ d¡�sœt‚dtdd	dt t  ƒ  d¡�sÂt‚| d	dt t  ƒ d¡�sât‚t
| tƒƒ�sôt‚t
| t	 ƒƒ�st‚| d ƒ d!¡�st‚| d"ƒ | dƒ¡�s4t‚| d#ƒ d$¡�sHt‚t
tdtdt	ƒƒƒ�sbt‚t
tdtdtƒƒƒ�s|t‚t
tdtdt	 ƒƒƒ�s˜t‚t
tdtd	t	ƒƒƒ�s²t‚t
tdtd	tƒƒƒ�sÌt‚t
tdtd	t	 ƒƒƒ�sèt‚t
tdtt	t	ƒƒƒ�st‚t
tdtttƒƒƒ�st‚t
tdtt	 t	 ƒƒƒ�s:t‚d%t _td&ƒ td'd(ƒ¡�sZt‚dt _d S ))Nr   c                 S   s
   t d| ƒS ©Nr   ©Úpsi©Úzr	   r	   r
   Ú<lambda>X  ó    z test_polygamma.<locals>.<lambda>c                 S   s
   t d| ƒS ©Nr   rv   rx   r	   r	   r
   rz   Y  r{   r   r   gïuÚ×TEï?gì,$7‹@r   gd�GDE@y)\Z[­ð?Ã•Þ›DòÖ?ybabJrõ?ÌøëN<Àg?¾VcØb÷?ç»½×Ùß|Û=g&ž _ Âr]   g¥\Ãñ)c=Èy»½×Ùß|Û=»½×Ùß|Û=yF<	 _ òÁ    _ òAyœWw'&l¡7œWw'&l¡7y¥\Ãñ)c-È¥\Ãñ)c-Hr   gaÙ#œó×?g^™¨jåƒJ@y·ÓYÑ/Õ?ä·ÙÖêI¿¿yÏ�ÙÙ=Ó¿{–’¿Œ‡?i@B r   r   yÕÀ­»Â˜ÀhÓVK¯Ù¿y_ä%F”@ý@K¹Êàø?ri   gÙ69ãu@rg   y      YÀ      @y]výCq@‡’Ë¼Ýä@r   y      è¿      ð?z%0.46317279488182026118963809283042317z$2.4821070143037957102007677817351115)r    r!   rw   Zdigammar   r9   r"   rR   ZfindrootrF   r;   r<   r=   )Úpsi0Úpsi1r	   r	   r
   Útest_polygammaV  sP    (& r€   c                   C   s6   dt _ttdtƒƒdkst‚ttdtƒƒdks2t‚d S )Nr3   r   zf0.9772133079420067332920694864061823436408346099943256380095232865318105924777141317302075654362928734r   zf-12.98876181434889529310283769414222588307175962213707170773803550518307617769657562747174101900659238)r    r!   r#   rw   r9   r   r	   r	   r	   r
   Útest_polygamma_high_precƒ  s    r�   c                  C   s  dt _dd„ } dd„ }dd„ }| dƒ t dtdƒ  ¡s>t‚| dƒ t ¡sRt‚|dƒ dtd  ¡slt‚|dƒ td d	 ¡s†t‚|d
ƒ td dt  ¡s¤t‚|dƒ dt ¡sºt‚dt _dt dt	dƒ td   }dt _t
ddƒ |¡söt‚t
ddƒ td ¡�st‚d S )Nr   c                 S   s
   t d| ƒS ru   rv   rx   r	   r	   r
   rz   Š  r{   z+test_polygamma_identities.<locals>.<lambda>c                 S   s
   t d| ƒS r|   rv   rx   r	   r	   r
   rz   ‹  r{   c                 S   s
   t d| ƒS )Nr   rv   rx   r	   r	   r
   rz   Œ  r{   r4   r   r   r   r/   r   rI   rJ   iJÿÿÿr   r   g«ªªªªªê?)r    r!   r"   Úeulerrk   r   r9   ÚcatalanZaperyr8   rw   )r~   r   Zpsi2rf   r	   r	   r
   Útest_polygamma_identitiesˆ  s     r„   c                  C   s˜   dd„ } dt _dtddƒ }dtddƒ }| d| ƒ | d	| ƒ | dd|  ƒ | dd|  ƒ }dt tdtdƒ t ƒ }| |¡sŽt‚d
t _d S )Nc                 S   s
   t d| ƒS ru   rv   rx   r	   r	   r
   rz   �  r{   z'test_foxtrot_identity.<locals>.<lambda>r   r   r   r   r   r4   r   r   )r    r!   Zfractionr9   Zsechr8   r"   r   )r~   rs   ÚbÚxÚyr	   r	   r
   Útest_foxtrot_identity™  s    :rˆ   c                   C   s¼   dt _ttdtƒƒdkst‚ttdtdt  ƒƒdks:t‚ttdtdt t  ƒƒdks\t‚dt _ttdtƒƒdksxt‚ttdtdt  ƒƒd	ks–t‚ttdtdt t  ƒƒd
ks¸t‚d S )Nr3   r   zf-1344100348958402765749252447726432491812.641985273160531055707095989227897753035823152397679626136483é   zw-0.00000000000000000189793739550804321623512073101895801993019919886375952881053090844591920308111549337295143780341396zó(-0.00000000000000005225169411521692489752254721556835657523758895106315132447859377385233700094871256507814151956624433 - 0.00000000000000001813157041407010184702414110218205348527862196327980417757665282244728963891298080199341480881811613j)r   z-1.34410034895841e+39z-1.89793739550804e-18z.(-5.2251694115217e-17 - 1.81315704140701e-17j))r    r!   r#   rw   r9   r   ÚerR   r	   r	   r	   r
   Útest_polygamma_high_order¦  s    "r‹   c                   C   sÄ   dt _tdƒdkst‚tdƒdks&t‚tdƒdks6t‚tdƒ d¡sHt‚tdƒ d	¡sZt‚td
d ƒ d¡spt‚tdƒ ddtdƒ  ¡sŽt‚ttƒtksžt‚tdƒdks®t‚tdƒ d¡sÀt‚d S )Nr   r   r   r   rL   r   gUUUUUUý?r   g_†’bš7@r   r   gÜSþ¡@r4   y       @        y      ø?        rO   ykŠ³4qÞ÷?†¾›Õ@wí?)r    r!   Zharmonicr   r"   rk   rF   r	   r	   r	   r
   Útest_harmonic²  s    rŒ   c                  C   sP   dt _tdƒd } dt _tt| ƒƒdks,t‚dt _tt| ƒƒdksFt‚dt _d S )Néô  r   é   r   z6.26075321389519e+12458010678r   z@6.2607532138951929201303779291707455874010420783933e+12458010678©r    r!   r$   r#   r6   r   ©r†   r	   r	   r
   Útest_gamma_huge_1¿  s    r‘   c                  C   sN   dt _tdd ƒd } dt _tt| ƒƒdks0t‚dt _tt| ƒƒdksJt‚d S )	Nr�   r   r3   é   r   zw1.82341134776679e+51729974693233641689901335581750771368291828240422018860515119656908623426021308685461258226190190661r   z˜1.82341134776678875374414910350027596939980412984e+51729974693233641689901335581750771368291828240422018860515119656908623426021308685461258226190190661r�   r�   r	   r	   r
   Útest_gamma_huge_2È  s    
ÿ
ÿr“   c                  C   sŠ   dt _dd d dd t d  } dt _t| ƒ}t|jƒdksBt‚t|jƒd	ksTt‚d
t _t| ƒ}t|jƒdkstt‚t|jƒdks†t‚d S )Nr�   r   éP   r   éF   rŽ   r   ze-6.82925203918106e+2636286142112569524501781477865238132302397236429627932441916056964386399485392600zd8.54647143678418e+2636286142112569524501781477865238132302397236429627932441916056964386399485392600r   zˆ-6.8292520391810548460682736226799637356016538421817e+2636286142112569524501781477865238132302397236429627932441916056964386399485392600z‡8.5464714367841748507479306948130687511711420234015e+2636286142112569524501781477865238132302397236429627932441916056964386399485392600©r    r!   rR   r6   r#   Úrealr   Úimag©r†   r‡   r	   r	   r
   Útest_gamma_huge_3Ô  s$    ÿÿÿÿrš   c                  C   sB   d} dt _tt| ƒƒdkst‚dt _tt| ƒƒdks8t‚dt _d S )Ny      ©@     vÆ@r   z2(8.95783268539713e+5164 - 1.94678798329735e+5164j)r   zx(8.9578326853971339570292952697675570822206567327092e+5164 - 1.9467879832973509568895402139429643650329524144794e+5164j))r    r!   r#   r6   r   r�   r	   r	   r
   Útest_gamma_huge_4è  s    
ÿ
ÿr›   c                  C   s„   dt _dd t d } dt _t| ƒ}t|jƒdks6t‚t|jƒdksHt‚dt _t| ƒ}t|jƒd	ksht‚t|jƒd
kszt‚dt _d S )Nr�   r   rb   r   r   zO-3.27753899634941e-227396058973640224580963937571892628368354580620654233316839zN-7.1519888950416e-227396058973640224580963937571892628368354580620654233316841r   zr-3.2775389963494132168950056995974690946983219123935e-227396058973640224580963937571892628368354580620654233316839zr-7.1519888950415979749736749222530209713136588885897e-227396058973640224580963937571892628368354580620654233316841r–   r™   r	   r	   r
   Útest_gamma_huge_5ô  s    ÿÿrœ   c                  C   s‚   dt _dttdƒd   } dt _t| ƒ}t|jƒdks:t‚t|jƒdksLt‚dt _t| ƒ}t|jƒdkslt‚t|jƒd	ks~t‚d S )
Nr3   r   r   r   r   z2.0z1.84556867019693e-1000r   z91.8455686701969342787869758198351951379156813281202e-1000)	r    r!   rR   r$   r6   r#   r—   r   r˜   )rs   r‡   r	   r	   r
   Útest_gamma_huge_7  s    r�   c                   C   sº   dt _tdƒ t
 ¡st‚dt _tdƒ d¡s2t‚tdƒ d¡sDt‚tdƒ d	¡sVt‚td
ƒ d¡sht‚dt _tdƒ d¡s€t‚tdƒ d¡s’t‚tdƒ d¡s¤t‚td
ƒ d¡s¶t‚d S )Nr   r   é   r   z -0.07281584548367672486058637587r   z!-0.009690363192872318484530386035r   z 0.002053834420303345866160046543r   z 0.002325370065467300057468170178g¢¤û*¤²¿gF|ÿ‡ŠØƒ¿g²ÍTõ3Ó`?g¢;Œ§c?)r    r!   Z	stieltjesr"   r‚   r   r	   r	   r	   r
   Útest_stieltjes  s    rŸ   c               	   C   sœ  dt _tdƒtdƒ  kr"dks(n t‚dd„ tdƒD ƒdddd	d
dddgksRt‚ttdƒƒdksft‚tttƒƒsvt‚tttƒƒs†t‚tt	tƒƒs–t‚tt
ƒt
ks¦t‚tt
ƒt
ks¶t‚t	t
ƒt
ksÆt‚ttt
 ƒƒsØt‚tdƒ d¡sêt‚tdƒ d¡süt‚dd„ tdƒD ƒdddddddgk�s&t‚dd„ tdddƒD ƒdddddddgk�sTt‚tdƒ} | dk�rrt| tƒ�svt‚t	dƒ} | dk�r”t| tƒ�s˜t‚d S ) Nr   r   r   c                 S   s   g | ]}t |ƒ‘qS r	   )Úsuperfac)rB   r>   r	   r	   r
   rD   %  s     z test_barnesg.<locals>.<listcomp>r   r   r   r   i   i ‡  i °{l     2ft r   z3.24570818422368e+1177245gffffffæ?gd£ÍåÑé?y       @      @y¨­gÌÆ¿µøì¸1§?c                 S   s   g | ]}t |ƒ‘qS r	   ©ÚhyperfacrA   r	   r	   r
   rD   0  s     rŽ   r   él   i l  i \&l     þªc                 S   s   g | ]}t |ƒ‘qS r	   r¡   rA   r	   r	   r
   rD   1  s     éùÿÿÿrH   i ¤Ùúy      À        )r    r!   Zbarnesgr   r7   r#   r    r;   r<   r¢   rF   r"   Ú
isinstancer=   rr   r	   r	   r
   Útest_barnesg"  s&    "**.r¦   c                  C   sâ  dt _dd„ dD ƒ} | D ]"}td|ƒ td| ƒ ¡st‚q| D ] }td|ƒ |d|  ¡s@t‚q@| D ]$}td|ƒ |d| d  ¡sft‚qf| D ],}td	|ƒ |d|  d| d
  ¡s�t‚q�| D ]8}td|ƒ |dd|  |d   d| d  ¡sÂt‚qÂtd
dƒ d¡�st‚td
dƒ d¡�s(t‚tddƒ d¡�s>t‚tddƒ d¡�sTt‚tddƒ d¡�sjt‚tddƒ d¡�s€t‚tddƒ d¡�s–t‚tddttƒ ƒ d¡�s´t‚td	dƒ d¡�sÊt‚td	dƒ d¡�sàt‚td
dƒ d¡�söt‚tddƒ d¡�st‚tdd ƒ d!¡�s"t‚td"td
  d"td  ƒ d#¡�sHt‚td$dƒ td$ƒ¡�sbt‚td$dƒ t	d$ƒ ¡�s~t‚td%d&ƒ d'¡�s”t‚td%d(ƒ d)¡�sªt‚td*d	ƒ t
dƒd+ ¡�sÈt‚td*d,ƒ d-¡�sÞt‚d S ).Nr   c                 S   s   g | ]}t |ƒ‘qS r	   )Z	mpmathify)rB   ry   r	   r	   r
   rD   9  s     z test_polylog.<locals>.<listcomp>)r   r4   g®Gáz®ï?r   r   rH   y              ð?rh   r   r   r   r   rI   r   r(   r   rŽ   y[-‘ëF@áUÞ´¬ÊÀr¤   g÷!føGÀçÍÌÌÌÌÌì?gØùVª¡Ëô?gÍÌÌÌÌÌì¿göÊÿƒ¸è¿y        ÍÌÌÌÌÌì?y#á]ÞüÅ¿øö`�jÀê?gš™™™™™ñ?y�8n+Ydÿ?¬^nªÊ)Ó¿gš™™™™™ñ¿g¨¤öá¾�ì¿y¨Èp/MÔâ?[©]Ó˜ñ?i®  g „µjßŠ¿g=ð.gËð?i2¾  rH   g-Cëâ6z¿r4   y£¹B8$PÔ?½g Ãï?rh   rL   gÖåúí—tHÀgWÓcF‹Àr-   y…Q‘Üÿ² ÀKÀ1…ÃQ Ày       À        g      +@g      ô?iLÿÿÿ)r    r!   Zpolylogr"   rk   r   r8   rR   r_   rj   r$   )Zzsry   r	   r	   r
   Útest_polylog7  s@        " * 6&r¨   c                   C   s8  dt _tddƒd  d¡st‚tddƒd  d¡s6t‚tdd	ƒ d
¡sJt‚tddƒ d¡s^t‚tddƒdkspt‚tddƒdks‚t‚tddƒdks”t‚tdtƒdks¦t‚tdt ƒdksºt‚ttdtƒƒsÌt‚tddƒdksÞt‚tddƒdksðt‚tdtƒtk�st‚tdt ƒt k�st‚ttdtƒƒ�s0t‚tddƒdk�sDt‚tddƒdk�sXt‚tdƒdk�sjt‚tddƒdk�s~t‚tddƒdk�s’t‚tddƒdk�s¦t‚tddƒ d¡�s¼t‚dt _tddƒdk�sÖt‚tddƒdk�sêt‚tdƒdk�süt‚dt _tddƒdk�st‚td dƒ t	t
d  ƒ¡�s4t‚d S )!Nr   r   r}   r   gœo   ð?r   g8ß   ð?r   y              @y™·¢ý‚ÀÑ)fÉ³?€@r   g      @gã*
Õ0(@r   r   r   iÅ iøÿÿÿi¸«¨ iÎÿÿÿiÂ0êðr   z3.4746902914629720259e74r”   l   ªv­Ýreh¥@3 ¥VBF²v'r….y	UR|s&‹TÄ rn   l   .e0uï&Y:Õj+ØI<1÷ ´|6ÀávåJbë éJ   l   ôrw_3dtL#�m,§€`3	.v(¡*õA‘=V y              4@y @j#M›B (3Vjw¬Br4   )r    r!   Zpolyexpr"   r   ÚbellrF   r;   r<   Zsincr9   r	   r	   r	   r
   Útest_bell_polyexpU  s<    r«   c                   C   s^   dt _tdƒ d¡st‚tdƒ d¡s*t‚tdƒtks:t‚ttƒdksJt‚tttƒƒsZt‚d S )Nr   r§   yùø2³Úký?-DTû!	@r   gªÅM‰Òµ³?r   r   )r    r!   Z	primezetar"   r   rF   r;   r<   r	   r	   r	   r
   Útest_primezeta{  s    r¬   c                  C   sâ  dt _tdƒ d¡st‚tdƒ d¡s*t‚tddd� d	¡s@t‚td
dd� d¡sVt‚td
dd� d¡slt‚tddd� d¡s‚t‚d$dd„} | t d¡dƒs t‚| t d¡dƒs´t‚| t d¡dƒsÈt‚| tjddd�dƒsàt‚| t d
¡dƒsôt‚| tjd
dd�dƒ�st‚| tjddd�dƒ�s(t‚| tjddd�dƒ�sBt‚| tjddd�dƒ�s\t‚| tjddd�dƒ�svt‚| tjddd�d ƒ�s�t‚| tjddd�d!ƒ�sªt‚| tjddd�d"ƒ�sÄt‚| tjddd�d#ƒ�sÞt‚d S )%Nr   y      à?     jø@y& 6ž#+ñ?Œ®ÄÂ–@y      è?     jø@y¾û5Ú×gý?7-m^Iûÿ?y      à?    €„.Ar   ©Z
derivativeyš¥ÿ¿™@óV%‚<–Ày      ð?    €„.AyË‡ÐÉD@•åÆß-2Àr   yVÖê¥!¯º¿V1‘Ìéç¿y      à?    €„.Áyžáº.F'@	p¹“ 1@ç�íµ ÷Æ°>c                 S   s   t | | ƒ|t |ƒ k S )N)rP   )r†   r‡   Ztolr	   r	   r
   r"   �  s    ztest_rs_zeta.<locals>.aey      à?     jøÀy& 6ž#+ñ?Œ®ÄÂ–Ày      è?     jøÀy¾û5Ú×gý?7-m^Iûÿ¿yôÖÂ’z³?ÛŒÎ^Ùp@yžáº.F'@	p¹“ 1Ày¦$¤ÿPî?•­¢¥Ùã?y,Ï‚?¯ˆ%@úlUSí>Àr   yÛÔ‚îÙ]Àã5MÔº$k@yë!&§‘@\_ÝåUšÀr   y(1º•”SÄÀ¡gŠ²äèÊ@y-ž6û·Ú¿+~ÈÀy"è™ºm"À'±=U‰A@yÅÙ�œ@§[@MÇÚoœmÀy�ÐkLVy�À"DâÐ«§›@)r®   )r    r!   r_   r"   r   Úfp)r"   r	   r	   r
   Útest_rs_zetaƒ  s,    
r°   c                   C   sb   dt _tdƒ d¡st‚tddd� d¡s.t‚tddd� d¡sDt‚tdt d	d� d
¡s^t‚d S )Nr   r   g1/[ã³„@r   r­   gÀÎK½KÀr   gÙFh¯änqÀr   yÅþQ·1…@Öaûãß»wÀ)r    r!   Zsiegelzr"   r   rR   r	   r	   r	   r
   Útest_siegelzž  s
    r±   c                  C   sü   dt _tdddd�} tdddd�}tdddd�}t| ƒ d¡sBt‚t|ƒ d	¡sTt‚t|ƒ}|j d
¡slt‚|j d¡s|t‚dt _tdddd�} tdddd�}tdddd�}t| ƒ d¡s¾t‚t|ƒ d¡sÐt‚t|ƒ}|j d¡sèt‚|j d¡søt‚d S )Nr   r   z1e-10T)Úexactz-1e-10z1e-10jg#ž _ BgÝaû_ Âg¶oüŒxâ?g    _ Âr   z1e-50z-1e-50z1e-50jZ1e50z-1e50z40.57721566490153286060651209008240243104215933593992)r    r!   Zfaddr_   r"   r   r—   r˜   )Ús1Ús2Zs3ry   r	   r	   r
   Útest_zeta_near_1§  s$    rµ   N)#ZmpmathZmpmath.libmpr   r   r   r   r'   r.   r?   rG   rX   r`   rm   rp   rt   r€   r�   r„   rˆ   r‹   rŒ   r‘   r“   rš   r›   rœ   r�   rŸ   r¦   r¨   r«   r¬   r°   r±   rµ   r	   r	   r	   r
   Ú<module>   s>   -g'
1#	-	&	