U
    9%ez                    @   s  d dl Z d dlZd dlT 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?d@ Z!dAdB Z"dCdD Z#dEdF Z$dGdH Z%dIdJ Z&dKdL Z'dMdN Z(dOdP Z)dQdR Z*dSdT Z+dUdV Z,dWdX Z-dYdZ Z.d[d\ Z/d]Z0d]Z1d^d_d`dadbdcdddedfdgdhdidjdkdlgdmdndodpdqdrdsdtdudvdwdxdydzd{gd|d}d~ddddddddddddgdddddddddddddddgdddddddddddddddgdddddddddddddddgdddddddddddddddgdddddddddddddddgdddddddddddddddgdddddddddddddddgddddddddddddd ddgddddddd	d
dddddddgddddddddddddddd gd!d"d#d$d%d&d'd(d)d*d+d,d-d.d/gd0d1d2d3d4d5d6d7d8d9d:d;d<d=d>ggZ2d?dmdndodpdqdrdsdtdudvdwdxdydzgd@dAdBdCdDdEdFdGdHdIdJdKdLdMdNgdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]gd^d_d`dadbdcdddedfdgdhdidjdkdlgdmdndodpdqdrdsdtdudvdwdxdydzd{gd|d}d~ddddddddddddgdddddddddddddddgdddddddddddddddgdddddddddddddddgddddddddddddÐdĐdŐdgdǐdȐdɐdʐdːd̐d͐dΐdϐdАdѐdҐdӐdԐdgd֐dאdؐdِdڐdېdܐdݐdސdߐdddddgdddddddddddddddgddddddddddddd ddgddddddd	d
dddddddggZ3ddddddddddddddd gd!d"d#d$d%d&d'd(d)d*d+d,d-d.d/gd0d1d2d3d4d5d6d7d8d9d:d;d<d=d>gd?d@dAdBdCdDdEdFdGdHdIdJdKdLdMgdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\gd]d^d_d`dadbdcdddedfdgdhdidjdkgdldmdndodpdqdrdsdtdudvdwdxdydzgd{d|d}d~dddddddddddgdddddddddddddddgdddddddddddddddgdddddddddddddddgdddddddddddddÐdĐdgdƐdǐdȐdɐdʐdːd̐d͐dΐdϐdАdѐdҐdӐdgdՐd֐dאdؐdِdڐdېdܐdݐdސdߐddddgdddddddddddddddggZ4d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/gdddddddddddddd dgdddddddd	d
ddddddgdddddddddddddddgd d!d"d#d$d%d&d'd(d)d*d+d,d-d.gd/d0d1d2d3d4d5d6d7d8d9d:d;d<d=gd>d?d@dAdBdCdDdEdFdGdHdIdJdKdLgdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[gd\d]d^d_d`dadbdcdddedfdgdhdidjgdkdldmdndodpdqdrdsdtdudvdwdxdygdzd{d|d}d~ddddddddddgdddddddddddddddgdddddddddddddddgdddddddddddddddgddddddddddddddÐdggZ5ej6j7dŐdƄ Z8dS (      N)*c                  C   s  dt _tddstttds*ttdds<ttddsNttdd	s`tttd
srttddsttddsttdddsttdddsttdtdsttdddsttdddst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" d#sttd$d%d%ksttd&d%t	 ksttd'd%t	 ksttd%d%t	 ksttd(d%t	 ksttd)d%t	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%t	ksTttd-d%t	 ksjttdd%t	ks~ttd&d%t	 ksttdd%t	 ksttd'd%t	 ksttdd%t	 ksttd.d%t	 ksttdd%t	 ksttd%d&d/sttdd&d0s.ttd*d&d1sDttd2d&d3sZttd%dd4spttd%t
d5sttdd!d" d6sttd%d%dksttdd%d%ksttdd%d%ksttd*d%d%ksttd-d%d%ksttd%d&d7sttdd&d8s0ttd*d&d8sFttd2d&d9s\ttd%dd:srttd%t
td%dsttdd!td;d<  d=sttd%d%t	ksttdd%t	ksttdd%t	ksttd*d%t	ks ttd-d%t	ksttd%d&d>s*ttdd&d?s@ttd*d&d?sVttd2d&d@slttd%ddAsttd%t
dBsttdd!td;dC  dDsttd;dEd;D ]"} | t _tdFdGdHstqd S )IN      g|?g.xӿ  g<{Ya?igܝ?gl)?gfE#7?g܋]s?g?z?   gv~H=^0?y      @        gcQC??gHqgt?g3e?   g)_6gg?   y      @       @y	.?Ks?      ?   g<|H׿y      ?       @      @      @yqČn?/G_m    d(	 順 g\zr?      r         ?      ?gٿg333333gffffffg      @grܿgķ&gķ&?      @g[ay^Fk@ĀE!y&q'ѿ-l8KA?gh?g Ȓ#?gVW?g-rPF?y&5#Ȁ#.
   l- gg2@gMה?gbgȀ?gۊv~i@y}.v}^ME%?yhRv俾D;l   8 g
;?d   g     V@g&S8@z}4.00830632138673963619656140653537080438462342928377020695738635559218797348548092636896796324190271316137982810144874264e-41)mpdpsZj0aeAssertionErrorpiZj1ZbesseljZbesselyinfjZbesselimpfbesselkrange)n r$   [/var/www/html/Darija-Ai-API/env/lib/python3.8/site-packages/mpmath/tests/test_functions2.pytest_bessel   s    ""r&   c                   C   s   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dsttdddsttdddsttdddsttd	ddsttdddsttddddstd S )Nr   r   r   @.=@r   O@2   gE`ߚc@r   ast,@r   r
   g!3|"@Go@Ը.?iQX@g{ƶVc@|B(@g^8U)zj@Z@)r   r   besseljzeror   r   besselyzeror$   r$   r$   r%   test_bessel_zerosP   s    r2   c                   C   s   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sttdddsttd	ddsttd	ddstd S )Nr   r   r   y4?L?rܿr   ypH?ķ&r   ypHϿķ&?r   y98y?fh!+r   yXN*5]{?&=ny4?L?r?ypH?ķ&?ypHϿķ&y98y?fh!+@y"'*-@Ay)r   r   Zhankel1r   r   Zhankel2r$   r$   r$   r%   test_hankel_   s    r3   c                   C   sZ   dt _tdddsttddds.ttdddsBttdddsVtd S )	Nr   r   r
   gb	h?      gVi?g߳g?gg]>?)r   r   Zstruvehr   r   Zstruvelr$   r$   r$   r%   test_struvel   s
    r5   c                   C   s6   dt _tddddsttdddds2td S )Nr   r   r
   r   g/GzH@g$+9,@)r   r   Zwhitmr   r   Zwhitwr$   r$   r$   r%   test_whittakers   s    r6   c                   C   s   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sttdddsttdddsttdddsttdddstd S )Nr   r   r
   g`'?r   gSҿr   gHtá굿g+
UAg_xu¿g=V o?guӿr   gkN:gF0آ?g|[)`?gݣ?)r   r   Zberr   r   ZbeiZkerZkeir$   r$   r$   r%   test_kelvinx   s    r7   c                  C   s  dt _tdddksttddddks,ttdddddksBttdddddksXttddddddkspttdddddddkstt	g g ddkstt	g g d
tdstt	dgg d	dksttd
ddtdd 
dsttdddtdd 
dsttddddt d 
ds2tdt _tdd} t	ddt dgddtd gtdd td  
| s~tdt _d S )Nr   r   r   r   r
   r   r   r   r   r   r
   r   r
   r             g?)r   r   r   r   r
   r   P   Q   g?)r   r   r
   r   y0[Ǒ=?u)"?   z1.2282306665029814734863026z-0.1225033830118305184672133   )r   r   hyp0f1r   hyp1f1hyp1f2hyp2f1hyp2f2hyp2f3hyperr   expr    r   mpcvr$   r$   r%   test_hyper_misc   s"     ""
<rP   c                  C   sz  dt _tdtd sttdtdd dtt  sBttdtksRttdtksbttd	d
stttddstt	tdt
stt	tdt
sttddstdt _tdd
 } tdd
 }dt _t| dstt|tddstt| ds tt|}|jds:t|jd dsPttdtd
dsjttdtddsttdtdd sttd!tdd"sttd#td$d%sttd&td$d'sttttsttttstttdks"tt	ttts6ttt dksJttdtks\ttdtd stttdtt
d(d  tdd  tdd d)tt   sttddksttddksttttdtksttt tksttdd*sttd!d+s0ttd#d,sDttd&d-sXttdd.slttd/td sttd/td sttt d0stdt _tdt d1sttdt d2sttd3t d4s ttd3t d5sttt}|jd6s2t|jd7sDttt}|jd8s^t|jd9sptdt _d S ):Nr   r   r   r   r   r   r         ?        r   z1.3110287771460599052r   z1.1714200841467698589z0.47103424540873331679   i r   i z7.1427724505817781901z7.1427417367963090109z-1.5707923998261688019z1.0000332138990829170z0.999966786328145474069137@B z7.853952181727432z-1.3110287771460599052r)   z0.22326753950210985451z-0.47434723226254522087r   z0.91119556380496500866z0.63133428324134524388y      @      z-0.63133428324134524388y            @z0.95357894880405122483z0.23093044503746114444            z-0.23093044503746114444r
   rD   y*0+?{ >y*0+?{ >?y$9@39Zy$9@39Z?`C+?`C+?z1e-1000000000g@z81.724756270009501831744438120951614673874904182624739673z81.437129808135123030101542922290970050337425479058225712z90.5519067523886233967683646782286965823151896970015484512z85.926192483740483797854383268707108012328213431657645509z80.973089521698042334840454592642137667227167622330325225z9-1.156151296372835303836814390793087600271609993858798016z90.4632848917264710404078033487934663562998345622611263332z91.0637961621753130852473300451583414489944099504180510966)r   r   Zellipkr   r   r   gammasqrtr   
isinstancer    ZellipefractionrM   realimagisnannan)Zn1Zn2rO   r$   r$   r%   test_elliptic_integrals   st    &Dr`   c                  C   sR  dt _t
 } ttdt  }t| ds.tt| ds@tt	| dsRtt
| dsdtt| dsvtt| dstt| d	stt| d
stt| dstt| dstt|dstt|dstt	|dstt
|dstt|ds0tt|dsDtt|d ds\tt|d dsttt|dstt|dsttddksttdt ksttttkstttdtstt	ttd s tt	t t d stt
tdks.tt
dt ksBtttdtsVtttdkshttttkszttt dksttt dkstttdkstttdksttt dksttt dksttddks ttttksttt t ks(ttdt ks<ttttksNtd S )Nr   r
   gQal @g	5gR?gc"?g<b?gsu@gU<b@gosf?gl?g8?g!@y?9q@Z:W^@yrʀK@p,?yoO@'<?yҭo*?@Voy6ʺ?_$&P@yH?UPNl@yذ~?	D'?y -l<p/?5?y$67]yb^IcG @r           r   ffffff?r   gffffffr   r   )r   r   erY   r   eir   r   ZlisicishichiZfresnelsZfresnelcairyaiairybir   rZ   r    r   )xzr$   r$   r%   test_exp_integrals   sZ    rm   c                  C   s  dt _tdt ksttttks(ttt dks:ttddsLtdt _td} d}t| |ksnttd	} d
}t| |ksttddt  } d}d}t| j|krt| j	|kstdt _t
ddsttddstdt _tddsttddstttdtdd}|jjdddt dsHt|j	tsZttddsnttddstttdtdd}|jjdddt dst|j	t sttd d!sttd"}|jjd#ddt dst|j	d$std S )%Nr   r   g       y      4@     Q@y;;IWA2,wDr)   i N  z93.8781962825045010930273870085501819470698476975019e+8681i8z8-6.8852261063076355977108174824557929738368086933303e-90r   z9-3.255138234032069402493850638874410725961401274106e+8681z:-2.1081929993474403520785942429469187647767369645423e+8681y    .      Y@z>1.3077239389562548386e+434288 + 7.6808956999707408158e+434287jz?-1.3077239389562548386e+434288 - 7.6808956999707408158e+434287j              $@y$=KFvhI	@              Y@yt9u9m	@      Fx:^V Texactgn xrD   Zabs_epsZrel_eps             $y$=KFvhI	             Yyt9u9m	   Fx:^V y      $@      $@yl	L,N{@y      $      $@gC_d>gJM!	@)r   r   rd   r   r   r   strr   r\   r]   rh   rg   fmulepsr   )rsZsresimur$   r$   r%   test_ei  sD     r~   c                   C   s   dt _tdtkstttdks&ttt tt t ksBttddsTttddsftttdt	dd	jd
ddt
 dsttddsttddstttdt	dd	jdddt
 dstd S )Nr   r   rn   y$=KF?v0Oi?ro   yt9u?Wrp   Trq   yn x;	»rD   rs   rt   y$=KF?v0Oiru   yt9u?W?rv   yn x;	;)r   r   e1r   r   rM   r   r   rx   r   ry   r$   r$   r$   r%   test_e1.  s    &r   c                   C   s  dt _tddtksttdddt s0ttdddtd d sPttddtd sjttddds~ttdddsttd	dd
sttdddt	t sttdddksttddt sttdddsttdddsttdd	t
 ds.ttdddsDttdddsZttdddtd td sttddd dsttdtdksttdtdksttdtdksttdd d!sttddd"sttddtd tt
  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tkstd S )*Nr   r   r   r   r   r
   r   r   r   UUUUUU?r            @gqq?gW   @gH?       @      @yt|*8c??A`?z1.011e-1000g3X@z1.000000000001r   gɫ|?r   r      r   gA8?g	@y	@       @y              @y&
J`e? ǅ?yJmx-DT!	rT   g/ư>y>ʞư禜?y*oBu|?      )r   r   expintr   r   r   rc   rL   rd   rY   r   r   r$   r$   r$   r%   test_expint:  s:     &$r   c                  C   s@  dt _ttdd ds tttdd ds:ttddsLttdds^ttd	d
 td sxttd	d
 d	d
  dsttdtd ksttdtdtt  stdt _t ddstt ddstt ddstt dds$tt dds:tt ddsPtt ddsftt dds|tt d d!stt d"d#stt dd$stt dd%stt dd&stt dd's tt dd(stt dd)s,tt dd*sBtt dd+sXtt d d,sntt d"d-stt 	d.d/stt 	d0d1stt 	d2d3stt 	d4d5stt 	d6d7stt 	d8d9stt 	d:d;stt 	d<d=s4tt 	d>d?sJtt 	d@dAs`tt 
d.dBsvtt 
d0dCstt 
d2dDstt 
d4dEstt 
d6dFstt 
d8dGstt 
d:dHstt 
d<d=stt 
d>d?s&tt 
d@dIs<tdOdKdL} ttjdMks\t| ttjtjdN szt| ttjtjd st| ttjtj d sttdMdMkst| tddst| tddst| tddst| tdds$t| tdds:t| tddsPt| tddsft| tdds|t| td d!st| td"d#st| tdd$st| tdd%st| tdd&st| tdd's t| tdd(st| tdd)s,t| tdd*sBt| tdd+sXt| td d,snt| td"d-st| t	d.d/st| t	d0d1st| t	d2d3st| t	d4d5st| t	d6d7st| t	d8d9st| t	d:d;st| t	d<d=s4t| t	d>d?sJt| t	d@dAs`t| t
d.dBsvt| t
d0dCst| t
d2dDst| t
d4dEst| t
d6dFst| t
d8dGst| t
d:dHst| t
d<d=st| t
d>d?s&t| t
d@dIs<td S )PNrS   r   rT   z&0.000000999999999999944444444444446111z -13.2382948930629912435014366276r   z$1.5707963267075846569685111517747537z$-4.87506025174822653785729773959e-11r   r   r   z!-0.372376123661276688262086695553r   r
   r   r)   gdswy      I@       @yRװђA?y              4@yJmhA(-DT!?y             4@y*mbN9<gAy      I       @yRװђ172@rR   ydsw-DT!	@y      I       yRװђ172y             4y*mbN9<gy             4yJmhA(-DT!y      I@       yRװђAgcll?y$ȥU??ty        JmhAy	g*mbNy$ȥU?tgclly$ȥU?t?y	g*mbNAy       Jmhy$ȥU??t?              I@ydsw-DT!?y             I@yRװђx^%B?r   yJmhA(-DT!	@y      4       y*mbNngAy             IyRװђx^%By             Iydsw-DT!y       @      IyRװђI)y      4@       y*mbN	gr   gJmhAy       @      I@yRװђI)?y        cll?y?t?$ȥU?gJmhy*mbNA	gy?t?$ȥUy       clly?t$ȥUy?t$ȥU?-q=c                 S   s   t | | t || kS )N)abs)rk   yZtolr$   r$   r%   r     s    ztest_trig_integrals.<locals>.aer                 ?)r   )r   r   re   r    r   r   rf   r   r   rh   rg   fpr   Zninf)r   r$   r$   r%   test_trig_integralsZ  s    
 r   c                   C   s   dt _tdd dsttdd ds2ttddd  d	sLttddd
  dsfttddsxttddsttddd  dsttddd  dstd S )Nr   r   r   gٿ?i ʚ;gL9)?r   i#  g՘T&"@i#  g!#^6@ig4+Y?gP      Y@      Y@   ya0G@N_;@   yݖƻV?i"	)r   r   ri   r   r   rj   r$   r$   r$   r%   	test_airy  s    r   c                  C   s   dt _d} tg dgd| s"ttg dgd| s:ttdd| sNttdd| sbttdddsvttdd	d
std S )Nr   gj	ך9G!@r8   r   r   r
   g    eAz4.9679055380347771271e+27455y            eAz=-2.1222788784457702157e+19410 + 5.0840597555401854116e+19410j)r   r   rK   r   r   rE   rN   r$   r$   r%   test_hyper_0f1  s    r   c                  C   s  dt _d} tdgdgd| s$ttdgdgd| s>ttdgdgd| sXttdgdgd| srttdgdgd| sttdgdgd| sttdgd	gd| sttd
gdgd| sttd
gd	gd| sttddd| sttddd| s$ttdddds<ttdddd dsXttddddspttdtddddstd S )Nr   g[V?r>   rB   rb   yffffff?        r   r         ?              ?        r   r
   g    _Bz!2.1555012157015796988e+4342944809y            _Br   y!xL3\F#r   r   '  iar   y(\?KoQyTO9@#y/@)r   r   rK   r   r   rF   r[   rN   r$   r$   r%   test_hyper_1f1  s"    r   c                  C   s  dt _d} tddgdgd| s&ttddgdgd| sBttddgd	gd| s^ttddgd	gd
| szttddgd	gd
| sttddgd	gd| sttddgdgd| sttddgdgd
| std} tddt gdgd| sttddt gd	gd| s2ttddt gd	gd| sTttddt gdgd| svtd} tddgdgdtd  | sttddgdgdtd  | sttddgdgdtd  | sttddgdgdtd  | std} tddgdgd| s4ttddgdgd| sRttddgdgd| sptd } tddgdgd!| sttddgdgd!| sttddgdgd!| std S )"Nr   g[$?r>   r?   r   333333?      ?r   g       @y333333?        r          @        y      ?        yO@z?r(,?y?      rB   r   r   皙?r
   r               @        r                 y+xV?;CF )r   r   r
   r   )r   r   g?y?        y}?F"?y      @       @)r   r   rK   r   r   r   rN   r$   r$   r%   test_hyper_2f1  s8    """"&&&&r   c                  C   s:  dt _tdddddsttddddddds:ttdd	d	dd
sRttdd	d	ddddsnttdd	dddksttddd	dtksttdddddksttdddddksttdddddksttdddddkstttdddds
ttddddds$ttddddddddt  sJttdddddsdttdddddddsttdd	dddksttddddtksttd	d	dddksttdd	dddsttdd dddksttdddddksttdddddks,ttdddddddksHttddddtks`ttdd ddtksxttd!d"d#ddksttd!dd	dd$sttdd"d#dtksttdd%d#dt kstttt	 d } t
ddd ttt	 d&  t
ddd  }td'd(d)| |s2ttd'd(d)|  | sTttdd*dd+d,snttdd*dd-d.sttdd*ddd/sttdd*dtd0sttddd1d2d3sttd4d"dd2d5sttddd1d6d7s
ttd8d9 tddD d:s.ttd;d9 tddD d<sRttd=d9 tddD d>svttdd?d@dAdBsttddddCdDsttddddEdFsttddddGdHsttdddddIsttdddddJsttdKdLdMdNjdOdtdP dQs6td S )RNr   r   r   r
      T)Zeliminate_allr   r   "   r      r   r   r   y      ?      ?y??F)Z	eliminateg     `?g     @?gx&?r   g%α?g]?r   r   r;   r	   g?gr   g      gr      z1/2z1/61/3r8   z0.999gQՂ?z1.001yH?1-.MVgN~?yɸa?>eV?r   z0.99gv;@rB   gV?r   yN?Q{?c              
   S   s&   g | ]}t d dddtt|  qS )r   r   r9   r   r   ffffff?rH   rL   r   .0kr$   r$   r%   
<listcomp>4  s     z'test_hyper_2f1_hard.<locals>.<listcomp>ylJ@ۢ%@c              
   S   s&   g | ]}t d dddtt|  qS )r   r9   r   g?r   r   r$   r$   r%   r   5  s     yIK@K@J> c              	   S   s"   g | ]}t d ddtt| qS )r   r9   r   r   r   r$   r$   r%   r   6  s     ygObK@v7?r   g      
g+?gSOfEg)\(?yR=@n>jGy)\(??yQ@1~?r   y[N?Sr?yzѿ-DT!g3A?p   )3   r   )r   gwJgUUj   rs   )r   r   rH   r   r   r   r^   r   rL   r   Znthroot	conjugatefsumr"   ry   )rl   wr$   r$   r%   test_hyper_2f1_hard  sf    &,"$$$r   c                   C   sn  t dddgddgdds tt ddddgd	d
dgddsDtt dddgdd	gddsdtt ddddgd	d
dgd	dstt ddddd	gd
dddgddstt ddddd	gd
dddgddstt ddddd	gd
dddgd	dstt ddddgdddgd	ds(tt dddgddgdtksHtt dddgddgddsjtd S )Nr   r   r
   r   rD   r   gLEy?r   r   r;   r   g_g?      ?g%<@y@CN?mr	   g?g-?yFo?K:ZIgRQ@gp=
ף@g{Gz@g@gffffff@g333333@ys?+e)e   r   g	Y@)rK   r   r   r   r$   r$   r$   r%   test_hyper_3f2_etcB  s     $ $((*& r   c                   C   s`  dt _tddddsttdddds2ttddddksFttd	d
ddksZttd	ddtksnttd	dddksttddddsttddddsttddddsttddddksttddddksttddddtd sttddtds$ttddd d! d"s@ttd#d$d%d& d's\td S )(Nr   r   r   r   g?      g[R֯?r   r   r   ir   r   r
   gDo7>#?r   gQ2=?r   gMb?      ?   r   y      ?      ?y            ?r   g      @   r;   g?rB   rD   y      Y@      i@r   yiMؿcf)r   r   r   xr   y       yk9)r   r   Zhyperur   r   r   rY   r   r$   r$   r$   r%   test_hyper_uP  s      r   c                  C   s`  dt _tddgg dtdddks&ttdddds<ttddddksPttddddksdttddddszttd	dd
dsttd	dddsttd	dddsttddddsttddddsttddddsttddddddksttddddddks2tdD ]$} | t _td
ddd s6tq6d S )!Nr   r   r   r
   r   yehǇ?[2222~r   r   r	   r   g     @O@r)   i)g-C6?gd?r   r   gMbP?g\1 ?r   y)`?0?)r   r;   r:   gWuJIgٍ=,?r   y      ?      ?   zeroprec)r   r)   r@   g;On?z1.006867007239309717945323585695344927904000945829843527398772456281301440034218290443367270629519483 + 1.238277162240704919639384945859073461954721356062919829456053965502443570466701567100438048602352623e-46j)r   r   rK   Zhyp2f0r   r   )dr$   r$   r%   test_hyper_2f0f  s"     r   c                  C   s   dt _tdgddgdtddddks*td\} }}t| ||ddsLtt| ||d	d
sdtt| ||dds|tt| ||ddstt| ||ddstt| ||ddstt| ||ddstt| ||ddstt| ||ddstt| ||dt ds,tt| ||d	t dsJtt| ||dt dshtt| ||dt dstt| ||dt dstt| ||dt dstt| ||dt dstt| ||dt d stt| ||dt d!std S )"Nr   r   r   r
   r   )r   r   r9   r   r   gԢr@r   g߷Ar   guT>*Er   gcQr   ga&j۪xrT   z9.8851796978960318255e+867逖 z1.1505659189516303646e+2746 z1.4672005404314334081e+8685rp   z!3.6888217332150976493e+8685889636y9)0i#))Fym5,D>@pJs#AyUClsCy6X̝y1RLy(ҾD$hE{B"hz83.5999042951925965458e+613 + 1.5026014707128947992e+613jz;-8.3208715051623234801e+1939 - 3.6752883490851869429e+1941jz:2.0724195707891484454e+6140 - 1.3276619482724266387e+6141jzG-1.1734497974795488504e+6141851462 + 1.1498106965385471542e+6141851462j)r   r   rK   rG   r   r   r   )a1b1b2r$   r$   r%   test_hyper_1f2|  s*    $
r   c                  C   sZ  dt _tddgdddgdtddddddks2td\} }}}}t| ||||d	d
s\tt| ||||ddsxtt| ||||ddstt| ||||ddstt| ||||ddstt| ||||ddstt| ||||ddstt| ||||dds$tt| ||||d	t dsFtt| ||||dt dshtt| ||||dt dstt| ||||dt dstt| ||||dt dstt| ||||dt dstt| ||||dt d stt| ||||dt d!s4tt| ||||dt d"sVtd S )#Nr   r   r   r
   r   r   r;   )r   r9   r   r   r   r   gJo!m`@r   gb3lKEr   g)&uLQr   g>dxrT   z2.0291718386574980641e865r   z7.7639836665710030977e2742r   z3.2537462584071268759e8681rp   z!1.2966030542911614163e+8685889627y*52x!1*r   y V2@(\;-@y.]9ʖC5:4 ly]!2̣!Z3Ly徰gKV7Wgz87.4859161049322370311e+610 - 2.8467477015940090189e+610jz;-1.7477645579418800826e+1938 - 1.7606522995808116405e+1938jz;-1.6932731942958401784e+6137 - 2.4521909113114629368e+6137jzG-2.0988815677627225449e+6141851451 + 5.7708223542739208681e+6141851452j)r   r   rK   rJ   r   r   r   )r   a2r   r   Zb3r$   r$   r%   test_hyper_2f3  s(    ,""""""""r   c                  C   s   dt _tddgddgdtdddddks.td\} }}}t| |||dd	sTtt| |||d
dsntt| |||ddstt| |||ddstd S )Nr   r   r   r
   r   r   )r   r   r>   r   r   g(wVbAr   z1.2012553712966636711e+4358igirp   z+1.1148680024303263661e+43429448190325182840)r   r   rK   rI   r   r   )r   r   r   r   r$   r$   r%   test_hyper_2f2  s    (r   c                   C   s   dt _tdddddsttddddd	ks4ttd
ddddsLttdddddsdttddddds|ttdddksttdddsttdddksttdddksttdddksttdddksttdddksttdddksttdd
ds&tttt ds>ttdddksRttdddksfttddt	kszttddt	 ksttd dt
t	t	ksttd!dt
t	 t	 ksttdddd"sttddt dd#std S )$Nr   r	   r   r
   rb   g¹ @r   r   g     %@r   g?r   gVj+\r   r   g{GzĿr   r   g     LA@r   r   iW r   gZb`B?rD   g   `{}@y@/#,?r;   r   r         @y      @      ?y      @      ?g      yUUUUUU?UUUUUU@)r   r   Zjacobir   r   legendrer   ZchebyuZchebytr   rM   Zlaguerrer$   r$   r$   r%   test_orthpoly  s0    r   c                   C   sl  dt _tdddsttddds.ttdddsBttdddksTttdddshttddds|ttddd	sttddd
sttdddsttdddsttdddksttd	d	dst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sttdddsttdddsttd dd!sttd dd"sttd djd#dtd$s ttd dd%sttd djd&dtd$s2ttd djd'dtd$sNttd(dt d)shtd S )*Nr   r   r   r   r   gkﴑ[?r   r   r   r	   r   ge?r   i  r
   i  gj!i(?r   gb7s[?y              @y           jAy             y          jr   l   d/C'%ld/C'%ro   y        M9;Dru   y       M9;g      #y:fTȾQk>y:fTȾQkgyQrd;rs   z1.3106082028470671626e4355yRd]Rd]yRd]Rd];r   y@o׿a)r   r   Zhermiter   r   ry   r   r$   r$   r$   r%   test_hermite  s:    r   c                   C   s   dt _tddddsttdddds2ttddddksFttdd	ddksZttd
dddspttddddsttddddsttddddsttddddsttddt ddstd S )Nr   r   r   r
   r   r   i}  r   r   ir   i#  r   r   r   r   gg:(Zr   r   y(.?-@:4@)r   r   Z
gegenbauerr   r   r   r$   r$   r$   r%   test_gegenbauer  s    r   c                   C   s  dt _tdddtddks ttdddds6ttdddd	d
dsPttddddsfttdt dt dsttdt dt d	d
dsttddd	dsttddd	d	d
dsttddddsttdddd	d
dsttd	dd	dsttd	d	d	ds4ttd	dd	dsLttddddsdttdddds|ttddddsttddddstd S )Nr   r   r   r   r   r   r   gLXz?r
   typey        LXz?r   gLXzr   yI:r AEZ;Aytp@&xsog9B.y        9B.?iy        H6u@yjA?jAr   y}$!}f?}$!}f?yb`3?b`3gFo)r   r   legenpr   r   r   r   r$   r$   r$   r%   test_legenp  s$     r   c                  C   s   dt _t} t| dddstt| ddds2tt| dddddsJtt| dddddsbt| dddddds|t| ddddd	d
dst| ddddddst| dddddtst| ddddd	d
dst| ddddddst| ddddst| dddds4t| dddd	ddsPt| ddddsht| ddddst| ddddddst| ddddddst| ddddddst| ddddddst| ddddddst| dddds$t| dddds<t| ddddsTt| ddddslt| ddddst| ddddst| ddddst| dddd	ddst| ddddst| dddd s t| dddddd!st| dddddd"s8t| dddddd#sTt| dddddd$spt| dddddd!st| dddddd%st| dddddd#st| dddddd$st| d&d'dddd(st| d&d'dddd)st| d*ddd+s0t| d*ddd,sHt| d*ddd-s`t| d*ddd.sxt| d*ddd/st| d*ddddd0st| d*ddddd1st| d*ddddd2st| d*ddddd3s t| d*ddddd4std S )5Nr   r
   r   r   r   r   r   r   r   )r   r   r   g
Zy
Z@
Zr   y3A-DT!?r   gzr   r   gz?y3A?-DT!g3Ayz-DT!y       -DT!yz?-DT!g3A?y5Oϋ?!3|g{~
6yWFEi l@gaUO}2?gaUO}2yWFE?i ly       WfѷgWfѷg&D\4(y       &D\4(gWfѷ@r   r   yuFhZ?ǒsICy:QN?}U@x$?r4   y        <@gJj?gfFU?g 6Կy<P0(?y        P0(?y 6ԿJjyfFU?fFUyJj? 6?gP0(ӿ)r   r   Zlegenqr^   r   r   r   )fr$   r$   r%   test_legenq  sh    r   c                   C   s   d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sNtttttks`tdtdtd ds|ttdddsttddd	sttdtd
sttdtddksttdddstd S )Nr   r   r   r   r   gDSYC?g=O?r
   gN_?rV   r   r   yk7WO?>I?)r   r   Zagmr   r   rY   r   r$   r$   r$   r%   test_agmK  s    r   c                   C   s8  dt _tdddtd s"ttdddddtd  sDttdddd	td d
td  snttdddsttddd
dsttdddsttddt dt dsttddt dsttdd
dddsttddtt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tksttddd d!sttddddksttddt dt d"sttd#dd$sttd%d%d&sttd'd%d(sttdd%d)s*ttd*d%d+s@tt	tdddd,sXttd%ddd,tkspttdddd,dksttdddd,dksttdd-dd,dksttdd.dd,dksttdd/dd,dksttd%ddd,dks ttd%d.dd,dksttd%d/dd,dks0ttd%ddd,dksHttd%d0dd,dks`ttd%d1dd,dksxttd%d2dd,dksttdddd,tdsttdd.dd,td0sttdd/dd,td1sttdd2dd,td3sttd4djd5dd6t
 d7s(ttd4ddd,dks@ttd4d2jd8dd6t
 d7s`ttd4d2dd,dksxttd-d9dd,d:sttd;d;dd,d<sttdd
dtddd
 ksttd
ddd=sttd
dddd,d>s ttdddd?sttddddd,dks2ttd%ddd@sJttd%dddd,dksdttdddd?s|ttddddd,dksttddAdBjdCdd6t
 d7sttdAdddDsttddEdksttddFdksttdd%dksttddGdks ttdHd%dks4td S )INr   r   r   r;   r   r   r   r
   r   r   r   r4   r   y!?03Dg66?r   yr?̿yt2?c:?Tg\$?r   g     b  z6.9825435345798951153e-627i   z4.6885137549474089431e-788r   g     4y
 I?Byg     iy
 I?licp)bgdT:?y       Ƿҿr   g8,6V@r   yC\W-DT!	@r   yN(T?-DT!yGfs-8R?r	   y}?fs-8R)Zregularizedr   i  l       73Me'r   l    73Me'r   rU   z1.3669297209397347754e-301037rD   rs   z>-1.322575609404222361e-698979 - 4.9274570591854533273e-698978jy      @      @y]y7޵?WHy             @@yK!:#H? \h?gٕK&?g|"?g]5[?g +?r   i.  z1.1359381951461801687e-4327z8.1244514125995785934e4765y            y            ?r   r   )r   r   gammaincr   rL   r   r   r   rX   r^   ry   r$   r$   r$   r%   test_gammaincY  s    "*    "r   c                  C   s	  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sttdddsttdddsttdddsttd	ddsttdddsttdddsttddds"ttddjdd	dt dsBttddjdd	dt dsbttddjdd	dt dsttd	djdd	dt dsttddjd d	dt dsttddjd!d	dt dsttddjd"d	dt dsttdd#d$sttdd#d%s.ttdd#d&sDttd	d#d'sZttdd#} | d(stt| jd)sttdd#} | d*st| jd+sttdd#} | d,st| jd-sttdd.jd/d	dt dsttdd.jd/d	dt dsttdd.jd/d	dt ds>ttd	d.jd/d	dt ds^ttdd.jd/d	dt ds~ttdd.jd/d	dt dsttdd.jd/d	dt dsttdd0d1sttdd0d1sttdd0d1s ttd	d0d1sttdd0} | d1s0t| jd)sBttdd0} | jd2s^t| d1snttdd0} | jd3st| d1sttddd4sttddd5sttddd6sttd	ddsttddd7sttddd8sttddd9s4ttddd:sJttddd;s`ttddd<svttd	ddsttddd=sttddd>sttddd?sttddjd@d	dt dsttddjdAd	dt dsttddjdBd	dt ds.ttd	djd d	dt dsNttddjdCd	dt dsnttddjdDd	dt dsttddjdEd	dt dsttdd#} | dFst| jdGsttdd#} | dHst| jdIsttdd#} | dJs t| jdKs2ttd	d#} | d(sLt| jd)s^ttdd#} | dLsxt| jd	ksttdd#} | dMst| jd	ksttdd#} | dNst| jd	ksttdd.jdOd	dt dsttdd.jdPd	dt dsttdd.jdQd	dt ds<ttd	d.jd/d	dt ds\ttdd.jdRd	dt ds|ttdd.jdSd	dt dsttdd.jdTd	dt dsttdd0} | dUst| jdGsttdd0} | dV	st| jdI	sttdd0} | dW	s.t| jdK	s@ttd	d0} | d1	sZt| jd)	slttdd0dX	sttdd0dY	sttdd0dZ	std S )[Nr   r   r   gb?r   gkӦ?r   gzCⷆ?r   g_mv?r   g/ɫ|?r   gslR
w?r
   gAt?r   g_gʩPfgLX!tghĊJQ"yʹ+-DT!	y[!z?/u%y.%2l>3i^  gԇqirD   rs   g+{gգ; jg{/1XgK];@}Fg.H4go:ɴ`#igptOgc_g8>VpgYògoZg-DT!	gTk gԚ:.gF@g_wf4}l     =RM!	 z/2.1592908471792544286e-152003068666138139677919l  =RM!	 z0-3.7805306852415755699e+152003068666138139677871ggתECgE{D?g>EӦu:?g:([?gf?g d?g?yVR!i?fs-8R?y+B\*-DT!yTj@-DT!	@gk9!ǎ@@gƇxTg~8n@g9blBg1*jg/nQgJ` g_A g?Ho!ga]gfs-8R?g&\Ig-DT!g`VAGp^g-DT!	@gj<~_g/p8gK`z/5.0362468738874738859e-152003068666138139677990z/1.7626864058606158601e-152003068666138139677966z/6.1694024205121555102e-152003068666138139677943z,7.5575179651273905e-152003068666138139677896z.2.645131287794586675e-152003068666138139677872z/9.2579595072810533625e-152003068666138139677849z/8.8175642804468234866e+152003068666138139677800z0-3.0861474981563882203e+152003068666138139677824z/1.0801516243547358771e+152003068666138139677848z/1.3231857398345514495e+152003068666138139677895z0-4.6311500894209300731e+152003068666138139677918z/1.6209025312973255256e+152003068666138139677942)r   r   r   r   r   ry   r]   r   )r}   r$   r$   r%   test_gammainc_expint_n  s           


       


       






       



r   c                   C   sR   dt _tdddddsttddd	d
ds6ttdddd
dsNtd S )Nr   r   r   r   r   gO@r   y      ?       @r   r;   y	?f,?r   r   r   gX|W'@)r   r   betaincr   r   r$   r$   r$   r%   test_incomplete_beta$  s    r   c                  C   sv  dt _tddksttdds(ttdds:ttddsLtttd	s^ttd
dspttddstttdtstttdtstttdtstttdtsttt	dksttt	 dkstt
ddkstt
dt dstt
t	t	ks&tt
t	 t	 ks<ttdtdksRttdtdkshttddtd sttddksttddtd sttddtd sttdt dtdt  sttddksttddksttt	 dks*ttt	dks<ttttsNttdtdd  dsnttddsttddsttddstdt _tddd   d!sttddd"  d#stdt _ttdd d$ksttddksttd%d&s.ttd'd(sBttdt	ksTttdt	 kshtttd)d)stttd*d*stttd+d+stdt _ttd,d,stttd-d-stttd.d.stdt _td/} | jdkst| jd0s.ttd1dsBttd2dd3  d4s^ttd5d6srtd S )7Nr   r   r   gAg?r   y^u;y            yxGDY$W
?g|b?r   y        .($h?             y       .($hr                   gL:?rQ   y?      ?rW   r   r   r   r   iMz3.63998738656420y       @      "@y%?@[09Ay%?@[0A9y             "y%?@[09Ar)   -   z32.0884875837625447570007862949577886115608181193212i@  z32.0709207788416560484484478751657887929322509209954zv3.66744826532555e-4342944819032518276511289189166050822943970058036665661144537831658646492088707747292249493384317534r   g
$?r   g
$޿r   gP?gPz"0.99999999999999999999999999999995z#0.999999999999999999999999999999995z$-0.999999999999999999999999999999995r   z-6.1481820666053078736e+1083y      Y      @y      Y@      @i  y?}d-@OB+xr   yWMYA`E?m<p)r   r   erfr   r   r   rZ   r    rM   r   Zerfierfcr^   r_   rw   Zerfinvr\   r]   rN   r$   r$   r%   test_erf*  st    $ r   c                   C   s   dt _tt dkstttdks(ttdddtdddsFttdd t tgd	ksbttdd
ksrttddd
ksttt dkstttd	ksttdd	ksttdd dstd S )Nr   r   r   r   r   r   c                 S   s   t | ddS )Nr   g?)npdfrk   r$   r$   r%   <lambda>n      ztest_pdf.<locals>.<lambda>r   r   r
   r   rW         B3v^!< gwbLz@)r   r   r   r   r   r   ZquadtsZncdfr$   r$   r$   r%   test_pdfi  s    r   c                  C   s  dt _tddksttddks&ttttks6ttttsFtttdjtksZtttdj	dt
 stttt djtksttt dj	dt
 sttddt ksttddt ksttddt ksttt	dsttd	dsttt
 d 	tt
 d s*tttd d 	td sNttd		d
sbttd	dsvttdd	dsttdd	dsttd	d	dsttdd	dsttd	d	dsttdd	dsttd	dsttdd	ds$ttdd	ds:ttd	dsNttdd	dsdttdd	dszttdd	dsttd	dsttd	d sttdd	d!sttdd	d"sttd#d	d$st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t d- 	d.sttdt d- d	d/sttdt d- d	d0sttdt d- d*	d1sttdt  d- 	d2sttdt  d- d	d3sttdt  d- d	d4s<ttdt  d- d*	d5s\td6t _tt
	d7svtdt _td8	d9sttd:	d;sttd<	d=sttd>	d?sttd@	dAsttddB} | j	dCst| j	dDstd S )ENr   r   r   r   r   r
   r   gW	&?r   g{?g      пgֿg-C6g"{,7gѤX9yHgtm3]NyHgtm3]N@y}&@r	   yӸ?~dY?yg[忼@yӸ?~dYr   gr6@yAj@T'>@yAj@T'>r   y(o-@n!=@r   yAF?Z|?yٿ?y)u%+?y(tmȻy@yO^?"r   y~}?hey:㢥'%K8@g8	U'r   y:㢥'%K8gh㈵r   yk)j^-xe/:@yb/.>ꮺF@@r   y0j;?"B`?ym.[	<?@ysqM1mPyE&\57@y#u*Ϳ-pFſy>M|Wn2?yǁc'FyEyfI3I5fԪ4@r)   z81.073658194796149172092178407024821347547745350410314531y      Mb`?y7W@;ūԎ?y      Mb`y7W@;ūԎyy&1ܿ?y)!faYNJuM?yy&1ܿٿy)!faYNJuMyʡE-C6?yQW
㿘"1k?rp   gQGg[[AD)r   r   lambertwr   r   r^   r_   r\   r]   r   r   rc   r   log)r   r$   r$   r%   test_lambertww  sx    "$   
r   c                  C   s	  dd } dt _| tdds t| tdds2t| tdd	sDt| td
dsVt| tdddsjt| tddds~t| tdddst| td
ddst| tdddst| tdddst| tdddst| td
ddstdd }dd }dd }dd }dt _dt dt  }td}td}td}td }	td!}
td"}td#}dt _| t|||d$st| t|||d%st| t|||d&stt|||	dkstt|||
dkstt|||dks tt|||dkst| t|||d's2t| t|||d(sLt| t|||d)sft| t|||	d*st| t|||
d+st| t|||d,st| t|||tdd-st| t|||d.st| t|||d/st| t|||d0s"t| t|||	d1s<t| t|||
d2sVt| t|||d3spt| t|||td4d5st| t|||d6st| t|||d7st| t|||d8st| t|||	d9st| t|||
d:st| t|||d;s,t| t|||td4d<sLt| t|||dd=sht| t|||
dd>st| t|||dd>st| t|||dd>st| t|||dd?st| t|||dd@st| t|||ddAst| t|||	dd1s,t| t|||
dd2sHt| t|||dd3sdt| t|||dtd4d5st| t|||ddBst| t|||ddCst| t|||ddDstt|||	ddkstt|||
ddkstt|||ddks(tt|||ddksBt| t|||ddEs^t| t|||ddFszt| t|||ddGst| t|||	ddHst| t|||
ddIst| t|||ddJst| t|||dtddKst| t|||ddLs(t| t|||ddMsDt| t|||ddNs`t| t|||	dd9s|t| t|||
dd:st| t|||dd;st| t|||dtd4d<st| t|||ddOst| t|||ddPst| t|||ddQs*t| t|||	ddQsFt| t|||
ddQsbt| t|||ddQs~t| t|||ddQstdRt _dt tdS }dT}dt _t||stdUt _t||stdVt _t||	std S )WNc                 S   sl   t |}d}t|tr t| t}t| j|j t|jd t k}t| j|j t|jd t k}|oj|S )NTrD   )convertrZ   r    r   r\   ry   r]   )rk   r   Ztype_okZreal_okZimag_okr$   r$   r%   check  s    

""z!test_lambertw_hard.<locals>.checkr   绽|=gj|=g|۽g|۽y        |=y#B;|=y       |۽y#B;|۽r   yM:
@y6S:8@y",KP:(*3@y.5L:(vf?r   yM:
g,qŔK:y.5L:(vfy",KP:(*3c                 S   s   t | |ddS NTrq   )faddrk   r   r$   r$   r%   r     r   z$test_lambertw_hard.<locals>.<lambda>c                 S   s   t | |ddS r   )Zfsubr   r$   r$   r%   r     r   c                 S   s   t | t|dddddS )Nr   Trq   r   rx   r   r$   r$   r%   r     r   c                 S   s   t | t|dddddS )Nr   Trq   r   r   r$   r$   r%   r     r     r   z1e-3z1e-10z1e-20z1e-40z1e-80z1e-300r   gmPPWg-gByejZ~,F2)ܲ?yr>y      a>=y      &;y      _}eO7y       z2.33164398159712420336e-500yʁ:UY 8ɩ?yu~l|H-I>yWѨ=y      {Kv;y      {S犹7y      ^{=o r   z1.64872127070012814684865e-500yʁ:UY 8ɩyu~l|H-IyWѨy      {Kvӻy      {S犹y      ^{=oՠz-1.64872127070012814684865e-500y,+@/c@yIS[@yQ}]t餫?yEI <ZI>yvT   =gj蚸5g4s g   yejZ~,F2)ܲyry      a>y      &ۻy      _}eOy      ޠz-2.33164398159712420336e-500yQ}]t餫yEI <ZIyvT   y,+@/cy SwyIS[r   z1e-13z-0.99999926266961377166355784455394913638782494543377383744978844374498153493943725364881490261187530235150668593869563168276697689459394902153960200361935311512317183678882r)      )	r   r   r   r   rc   ry   r    rM   r   )r   addsubZaddjZsubjaZd3Zd10Zd20Zd40Zd80Zd300Zd1000rk   Zansr$   r$   r%   test_lambertw_hard  s    
   """r  c                  C   s  dt _tddgdggddgddggdds2ttg dt ggdgdggd	d
sZttdgdggdgdggddks~ttdgg gddddgg gddsttdgdggdgdggddsttdgdggdgdggddsttdgdggdgdggdtd  dt  s(td} d}tdtdfD ]}t| ||}t	|t	|  td|  gg gdgd| gg|  }t	|t	|  tdgdd|  ggdd|   gg gd|  }||st||s@tq@d S )Nr   r   r
   r   r   r   r   g%WV@r   yc2hp@'4Dr   r   r   z2/3z2/27gmD@r   r   r   r4   gyhr   r   g       r   )
r   r   meijergr   r   r   r   r    rF   rX   )r  r   rl   x1Zx2Zx3r$   r$   r%   test_meijerg:  s     ,($(&&64>r  c                   C   s   dt _tddddddds"ttddddddds>ttdddddd	d
sZttdddddddsvttdddddddstd S )Nr   r   r   r   r
   g      ir   r   r      r   g      ?gk?)r   r   Zappellf1r   r   r$   r$   r$   r%   test_appellf1M  s    r
  c                   C   s&   dt _ttddddds"td S )Nr   r   r   r   r
   gpu4@)r   r   ZcoulombgrM   r   r   r$   r$   r$   r%   test_coulombU  s    r  c                  C   sZ  dt _dd tddD } dd tddD }t| |dd	sDttd
dddsZttdddd dstttddddd dsttdddddd  dsttdddd
dddksttd dddd!  d"sttdddd#d$d%dd&  d'sttd(dddks$tt	
td)d*  td+d* dgd,d-tksRttg g gddddgg gd.d/szttd0d0dd1  d2std3t _td4d5ddd6  d7 td8d5ddd6  d9 dt _td4d5ddd6  d7 td8d5ddd6  d9 ttd:d;d<d=dd>s,ttd:dd  d dd fdd>sVtd S )?Nr   c                 S   s   g | ]}|d  qS r   r$   r   r#   r$   r$   r%   r   ]  s     z-test_hyper_param_accuracy.<locals>.<listcomp>r   r   c                 S   s   g | ]}|d  qS r  r$   r  r$   r$   r%   r   ^  s     ir   gũܘ8Vr   r   r   gN*r   r   r   r   gP+(	@i|g      %@gGz?gS?r   r   r     g_?r
   r   r   r   ii  g{<      r   )Zmaxterms   g~bf86r   c                   S   s   t dd dgS )Nc                 S   s   g g g g | g|  gdfgS Nr   r$   r  r$   r$   r%   r   h  r   z=test_hyper_param_accuracy.<locals>.<lambda>.<locals>.<lambda>r
   )	hypercombr$   r$   r$   r%   r   h  r   z+test_hyper_param_accuracy.<locals>.<lambda>c                 S   s   g g g g | g|  gdfgS r  r$   r  r$   r$   r%   r   i  r   r   )Zinfprecr   giաe?i  ^   gL?r   g    r   r   g{	!@r   gL`L"@r   z1e-100Trq   g;.ɂQ)J)r   r   r"   rK   r   r   r   rF   rH   pytestraises
ValueErrorr  r   r  r!   rE   r   )ZAsZBsr$   r$   r%   test_hyper_param_accuracy[  s0     &( r  c                   C   s@   t dd dgdksttdgg gdgdggdds<td S )Nc                 S   s   dg| gg g g g dffS )Nr   r$   r  r$   r$   r%   r   w  r   z)test_hypercomb_zero_pow.<locals>.<lambda>r   r   r   r  g2}$?)r  r   r  r   r$   r$   r$   r%   test_hypercomb_zero_powu  s    r  c                  C   s  dt _d} d}tdd| |ds&ttdd| |ds>ttdd| |d	sVttdd| |d
snttdd| |dsttdd| |dsttdd| |dsttdd| |dsttdd| |dsttdd| |dsttdd| |dsttdd| |ds2ttdd| |dsLttdd| |dsfttdd| |dsttdd| |dsttdd| |dksttdd| |dksttdd| |dksttdd| |dksttdd| |dksttdd| |dks*ttdd| |dksBttdd| |dksZttdd| |dksrttdd| |dksttdd| |dksttdd| |dksttdddddsttddt dt d d!sttd"d#| |d$sttd%dddd&s*ttdddddksBttd"dddd's\ttd"d(ddd)svttddddd*sttdddddksttddddd+std S ),Nr   r   r   r   gmBP?r   r   yGL?bD:Ig9^Gq?yGLĿbD:Ir   r   yi'K?vm)˥y4f'?=!gzߚs?y4f'Կ=!yi'K?vm)˥?r
   r   yf K9?hWyC(?6tMyHc?x+̣g'?yHcۿx+̣yC(?6tM?yf K9hWr   r	   r   y6x0%@r   r   y@%DMjtr   r   y̝4?d[v/?r   yJ)?yE6鏿yo@-ſ?Tpkÿr   yN}}?z?gh?yەĿ  ֿ)r   r   Z	spherharmr   r   r   )trz   r$   r$   r%   test_spherharmz  sR     "r  c                   C   s    dt _tddddstd S )Nr   r   r
   r   z2.7291482267247332183e2391)r   r   Zqpr   r   r$   r$   r$   r%   test_qfunctions  s    r  c                  C   sD   dt _tdd} tdddddd	s*td
t _tt	dd  d S )Nr  l   L33F i   r  r   g?r   z40.99999999999999999999996570910644857895771110649954r   c                   S   s   t ddddS )Nr   r   r   )rH   r$   r$   r$   r%   r     r   z test_issue_239.<locals>.<lambda>)
r   precldexpr   r   r   r   r  r  r  r   r$   r$   r%   test_issue_239  s
    
r   r   r'   gE.,[@glN!@gr D'@gq>-@g?12@gs-65@gV;Z8@g_T~;@gҾˑu>@goN@@gzcuB@g:)~zD@g]ƒE@g+G@g	ouU@gPr@g)X$@g*@g6{x0@glA稝3@g6@gW9@gq=@g+knG@@g|A@gi#<C@gbKsD@g?k]1aF@gՊcG@r(   g" @gd0v[='@g}-@g4	1@guԄ5@g&E8@gJk;@gb>@g[I@@gdrnB@g VD@gƗ_E@gMO$&G@gKd՘H@g((I@gҤ#@g$c*@gT
590@goh3@g@-6@gmQڇ9@gZA<@gkM@@gvgA@g߬k/C@gc1D@gKw$UF@g"3G@gh{I@g+lpvZ@g!!!&@gQj ,@g[w1@gV#4@gv8@gUsj2;@gv[^>@g۴@@guxYB@g?C@gC`(E@gCR9|G@g4|7H@gQa[<J@g=!@gUф](@g7}f/@gy2@g76@gh*n9@gj<@gfϪ?@gb~A@gXvC@g?-ƩD@gO>F@gsiG@gѰz0QgI@gJtDJ@gh_I#@gWp-+@gYdS 1@g~-=R4@gF+	7@gdz:@gv>@gOԝ@@g,6B@g6C@gWIcE@g|1[yF@gdюH@g`Z@%#J@gL'ReK@gj8,&@gU}-@gjfLI2@gJC<5@goW8@g\0<@g+|=<l?@g@$QA@gX[B@gwodD@gMF@grtG@gFHI@g1rJ@gf S;sL@gK?s(@g~	0@g{3@gu6@gMD:@gU)Z=@gDe@@giͺZGB@gƞC@gC:FP8E@gnF@g4iH@gv J@g
ҥK@gN-M@gxGf*@g_u=1@g24@g};8@gsp;@g.2>@gLA@gJy6B@g]rtPD@giUXE@ge;G@gfI@gJ@gJgNOL@gNOM@r*   g.yn2@gĜ;6@g$Yk9@g4&+<@gK@@gh\A@gqaC@g@N E@gK`8F@goWA<9H@g7j+I@gmK@g#!JM@g	 wN@gó ./@g3@gǌYF7@g9bw:@g;->@g8_@@g%):wjB@gו9PD@gZ]s&E@gkJMG@gRH@gvJ@g&[0 L@gmM@gud[SO@gO0@gwpM74@gFɰ~8@gŜv<@gr(u?@gv=jA@g7-C@g	dD@g<ah\F@gG@g8!I@g	8K@gY/L@geOnN@gj^,P@g|6*1@gYFi5@g<9@g'a	HE=@gs$']@@gB@g C@gocE@g7iG@gC2 WH@g.ai5JJ@gGiK@gS=M@gYz O@gJ6F
]P@gpYDf2@g	W7@gnNUI:@gV/>@gA @@gK	i?B@g<bD@g1&F@g:>G@gwVI@g6&J@gL@gB85N@gIqrO@gF2P@ra   g:}u?gg$eS@g!@g~yyi'@gYJ(-@g'eN2@g$*5@g5O8@gMQ'Du;@g*S>@g2N@@gCqB@gGD@g'ǛE@gɏ(G@r+   gV~@g^%^#@gM:W*@gy8X0@g|@N3@gYau6@g?+w9@g2JH<@gYv@L@@gVƇDA@g"s6C@g'D@gY{}v[F@gMxG@gCKy@g:tg @g&@g{N+-@gQa1@g/?4@g%8@g_O;@gXWcx>@g.?@@gGOI|cB@gwpC@gd!E@gaG@gXqΰH@g,E@g?>"@g+ x#])@g	p/@gH.23@gp]f6@g/}9@gݏ<@g|?D?@gO[E$MA@gN3!C@gY-:D@gA{I1JF@gBG@g?©mqI@g"BV@gV4+
%@gp+@gCqP1@gӺoT4@g\7@gӉ;@g?3>@g9V@@g$0GB@gzC@gپ:rE@g=ςG@ggQ%H@gb0J@g
K@g0uIx'@g#O.@gw/2@g5@g/9@gh<@gY-?@g9-BhA@g5;B@g!D@gԠP!-F@g{G@g-i
XI@gwDJ@gȃ3/'!@ga)@gaȅ0@g^M3@g|D7@g͠8:@g0n=@g&_@@gswB@g<C@g`[FNE@g0ǡF@gAL|H@gnNfJ@gM 
K@gzK#@g<VK%;,@g%1@g٣:5@g!R8@gVfF);@gw/{'?@g v2A@ge^B@g!KCjD@g`F@g.bG@gvWC4I@g"J@g?GӜaL@gAl%@gsGϒ.@gQ@
-3@gý[6@g)c*9@g$S7=@gk@@@g.yA@gY>C@gKE@g"轷F@geQH@gW WI@gSS\K@g,ۣM@g]X'@gX,Lzr0@gr/94@gMF7@gsz.;@gTMՈ>@gGֈ@@gjGLB@g]|//D@gxE@g?ZWjG@g,I@gDZ3!J@go-8L@g<vM@gR))@g51@gϝvLn5@g%H.9@g= u<@g0=?@gVA@gꠀ:C@g!@9CD@gRN}F@gxH@g[~oI@g:^גRK@gn&L@g_0N@gU+@gC@G2@g
6@gZ>:@g2P=@gT!ZӐ@@gU=B@ga@P^C@g-E@g@<+G@g:+ۻH@g
mhhJ@gdNL@g+@$M@gg-:O@grS-@g3@gg{7@guTny;@g>@gv5A@guσfB@g3ՒD@gGO4F@guTG@g化yI@gBH՝+K@gD[xL@gtޛERN@gw~!LO@g"l/@g*5@gH4 9@gE»<@g~xU@@gYx6"A@g	ϜC@g#e6E@g7s%F@g˃H@gGDP&J@g-K@geM@g]jO@g~̫OP@r,   gVMS@g!X@gX}5q$@gI*@g2 t<0@g_,3@gw26@gFF9@gOlaId=@g D@@gyBXA@g!\n>C@g~D@g!NbF@gCԾ@g.N@gia'1!@g28'@gވ}-@g;_i2@g͈!I%05@g 80T8@g}y;@g<(H>@gVi@@gzZsB@gD@ghևE@g~1̅J*G@r-   g9s,@gCN$@g`k*@ga0@g$Y3@gz6@gR$z9@gI5<@gM@@gbU,A@gf7C@ga^D@g9C\F@g6.`G@gJOZ@g,1 @g1A&@g?-@g:H1@g,	N4@g:m*8@g|k:,T;@gY|>@gdۚ.@@gbeB@grvC@g 5E@gG7G@g~bH@gNK@gXV&"@g%u)@g/@g -t93@g0cl6@gh2v:9@gϥS0<@gXf?@g+A@gw]e#C@gVӎͷD@gН6|KF@gDG@gJ?rI@gW@g%1%@g N,@gpcX1@g	W4@gݗ7@grzY;@g
g8>@gؼmW@@g -ͲIB@g@܌1/C@gmzAtE@gVn>G@gJt@H@g[Q1J@gY@gzA@'@gw!+).@gR2@g6_R5@g2`49@g`m<@gv?@gjA@gbC@g06D@g]S|.F@gg3G@gi VYI@gqJ@gs!@g*@g0@gnn3@gAK7@g":@gt==@gfn@@g$CB@gTmǷC@gW`!POE@gXF@g%P}H@g<CJ@gQ$'[<K@gqoi?#@g'	wa,@ga1@gćuB5@gS3ќ8@gݦ(;@g>w,?@g4A@g6+<B@gmkD@g^+eF@g89ҝG@gz~6o5I@gBUTnbJ@ga8bL@g{J#p &@gQ]}.@gmF3@gwPc6@gh9@guJ==@g3B@@gbA@gKjxC@gPjE@gv`~hDF@g RH@gI@gS[գK@gSM@r.   gmn0@gmD4@g#Jݪ7@g&4;@g>@g,
@@groB@gAEK1D@gU2LE@g^JkG@gŦ"I@g{gzlJ@gҀb9L@gW]ԙM@gui3a*@g$Ӭs1@gd6y5@g^|
9@gj\J.|<@g?@gJA@gMw<C@gD@gܰy~F@gH@gM͸I@gރoSK@g}L@gFlN@g\T~,@gEj2@gW6@g6F:@g-=@g}a@@g+?B@g}+PC@gUhE@g5/),G@gVj!H@g!h6iJ@gN_L@gUVM@g|2H;O@g8'Ơ.@gݭ23@gFnÑ7@gM";@gԂ?@g_wk7A@gb%͓B@gw&sD@gS6F@gkEjG@gSezI@g*K@g~jL@gg	6SN@g:a8TcO@gZ0@gh5@g9F9@gDb<@gH[)W!@@g~A@gzsCC@gFWh8E@g;sF@gWH@g.cu'J@gH?K@g;"fM@gqmb5O@g5PP@guv@gSX@g~.?$@g,N*@g=p0@guq3@g6@g_qb9@gG=@gI@@g6BA@g1^7;C@grD@g[_F@gg)ÿG@r/   g$0 @g>%'@gĒ畅-@g<]h1@gLn*5@g]?8@gf;@g;FT~>@gƽ5@@g1|lB@gz<yC@gD;'E@g!bS$G@gaLH@g~l@gse#@gk)@go%00@g5a3@g"N6@g.l9@g9<@gRE@@g)}h%A@g8g-C@gRĵ6D@g6LHTF@g^GSG@geBzI@gIq@g⇥&@g#Dש,@gL1@gxk4@g؅;7@g.;@g&Е)Z>@gP?@@gіVWB@gA0FJ#C@g>E@g
HG@g%H@ga%;J@g$/ϢL!@gΏ(@gpTITR/@gI%"2@g˰^16@gމh9@gecv<@g٨3?@g r|A@g84'!C@gB.D@gbG(=F@g1G@gQdfI@gJ@g-#@gڷ+@g0,0@gJ4@gQ:֏7@ge:@g*>@g*ś@@g>.)4B@g蝗C@gbE@gTF@gSyH@gkCX"J@g.,6K@gE^j(%@g--@g*(@2@g/ݜ5@gʦK8@g#+<@gg?@gUOA@gB@gɗHD@gpiF@g:~I
G@gh	iGI@g'fEJ@girL@g?~5(@gBQ6/@g 3@gn6@g2-c>:@gMIR=@gic@@gkN@PB@gD]a C@glW`27E@g(s:F@g%UhH@goI@g'GpK@gׇ*,M@g#ʡv*@g[G/1@g[P4@g@)h48@gFe˗;@gկ>@gU՘A@gǶHB@gKND@gojE@gڢĄG@g4P\
I@g	pJ@g&NL@gN0M@g}u7,@g-?a2@g66@g_Dk{9@gLws<@gNo@@gS1ܽA@g
;A_C@gCD@gvF@gLV7H@g-&fGI@g
HkK@gfhM@g';\N@gV.@g}W3@gyX=7@g:@gB3(>@gT^q@@gmhB@g`rD@g/vE@gpMLG@gjH@g6p%J@gZ]L@gIӆfM@gDRO@g	$p0@g&G=#v4@gXlu8@gǕ;@gs.p?@g5gA@g@~C@g.	D@g>gNZF@g2`1G@gsII@gf6K@g2ZzL@g!|6,mN@g>}P@gdGr<1@gt5@gNo퉫9@gA>=@gsZ@@g;ʋ}B@gGC@g@$bE@gQrfG@gbרH@ge2hHJ@g17[!K@g70D
M@gljO@g8k}mI]P@g[@2@g\7@g ]:@gLAZz>@g:w4f@@g%jB@g`D@gBF@g@rɟG@g|UUI@g4J@gy8fL@gTPm4N@g ^.VO@gEP@c                  C   sJ  dt _ttD ]4} tdtd D ]}t| |dtt t| |t|  |d  sXt	t| |t|  |d  sxt	t| |dt
|  |d  st	t| |dt
|  |d  st	t| |t|  |d  st	t| |t|  |d  st	t| |dt|  |d  s t	t| |dt|  |d  s"t	q"qd S )Nr   r   Zof)r   r   r"   VMprintr0   r   jn_small_zerosr   jnp_small_zerosr1   yn_small_zerosynp_small_zeros)rO   mr$   r$   r%   test_bessel_zeros_extraB	  s      ""  $r)  )9mathr  Zmpmathr&   r2   r3   r5   r6   r7   rP   r`   rm   r~   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r
  r  r  r  r  r  r   r!  r"  r$  r%  r&  r'  markZslowr)  r$   r$   r$   r%   <module>   s
  K</' d:	<H ?@ *  e  e  e  d