o
    lhz                    @   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]Z1g d^g d_g d`g dag dbg dcg ddg deg dfg dgg dhg dig djg dkg dlgZ2g dmg dng dog dpg dqg drg dsg dtg dug dvg dwg dxg dyg dzg d{gZ3g d|g d}g d~g dg dg dg dg dg dg dg dg dg dg dg dgZ4g d}g dg dg dg dg dg dg dg dg dg dg dg dg dg dgZ5ej6j7dd Z8dS )    N)*c                  C   s  dt _tddsJ ttdsJ tddsJ tdds'J tdd	s0J ttd
s9J tddsBJ tddsKJ tdddsUJ tddds_J tdtdsiJ tdddssJ tddds}J tdddsJ tdddsJ tdddsJ tdddsJ tddd sJ tdd!d" d#sJ td$d%d%ksJ td&d%t ksJ td'd%t ksJ td%d%t ksJ td(d%t ksJ td)d%tksJ td*d%tksJ td+d%tksJ td,d%t ksJ td*d%tksJ td-d%t ks(J tdd%tks2J td&d%t ks=J tdd%t ksHJ td'd%t ksSJ tdd%t ks^J td.d%t ksiJ tdd%t kstJ td%d&d/sJ tdd&d0sJ td*d&d1sJ td2d&d3sJ td%dd4sJ td%t	d5sJ tdd!d" d6sJ t
d%d%dksJ t
dd%d%ksJ t
dd%d%ksJ t
d*d%d%ksJ t
d-d%d%ksJ t
d%d&d7s J t
dd&d8sJ t
d*d&d8sJ t
d2d&d9s!J t
d%dd:s,J t
d%t	td%ds:J t
dd!td;d<  d=sKJ td%d%tksUJ tdd%tks_J tdd%tksiJ td*d%tkssJ td-d%tks}J td%d&d>sJ tdd&d?sJ td*d&d?sJ td2d&d@sJ td%ddAsJ td%t	dBsJ tdd!td;dC  dDsJ td;dEd;D ]} | t _t
dFdGdHsJ 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dpsj0aepij1besseljbesselyinfjbesselimpfbesselkrange)n r(   p/var/www/html/construction_image-detection-poc/venv/lib/python3.10/site-packages/mpmath/tests/test_functions2.pytest_bessel   s   ""r*   c                   C   s   dt _tdddsJ tdddsJ tddds!J td	dd
s+J tddds5J tdddds@J tdddsJJ tdddsTJ tddds^J td	ddshJ tdddsrJ tdddds}J 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   besselyzeror(   r(   r(   r)   test_bessel_zerosP   s   r6   c                   C   s   dt _tdddsJ tdddsJ tddds!J td	dd
s+J td	dds5J tddds?J tdddsIJ tdddsSJ td	dds]J td	ddsgJ 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   hankel1r   hankel2r(   r(   r(   r)   test_hankel_   s   r9   c                   C   sZ   dt _tdddsJ tdddsJ tddds!J tddds+J d S )	Nr   r   r
   gb	h?      gVi?g߳g?gg]>?)r   r   struvehr   struvelr(   r(   r(   r)   test_struvel   s
   r=   c                   C   s6   dt _tddddsJ tddddsJ d S )Nr   r   r
   r   g/GzH@g$+9,@)r   r   whitmr   whitwr(   r(   r(   r)   test_whittakers   s   r@   c                   C   s   dt _tdddsJ tdddsJ tddds!J tddd	s+J tddd
s5J tddds?J tdddsIJ tdddsSJ tddds]J tdddsgJ tdddsqJ 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   berr   beikerkeir(   r(   r(   r)   test_kelvinx   s   rE   c                  C   s  dt _tdddksJ tddddksJ tdddddks!J tdddddks,J tddddddks8J tdddddddksEJ tg g ddksOJ tg g d	t
ds\J tdgg d	dksgJ td
ddtdd 	dswJ tdddtdd 	dsJ tddddt d 	dsJ dt _tdd} tddt dgddtd gtdd td  	| sJ 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   hyp0f1hyp1f1hyp1f2hyp2f1hyp2f2hyp2f3hyperr   expr$   r"   mpcvr(   r(   r)   test_hyper_misc   s"      
:
r^   c                  C   sb  dt _tdtd sJ tdtdd dtt  s!J tdtks)J tdtks1J td	d
s:J tddsCJ ttdt	sLJ tt
dt	sUJ tdds^J dt _tdd
 } tdd
 }dt _t| dsyJ t|tddsJ t
| dsJ t
|}|jdsJ |jd dsJ tdtd
dsJ tdtddsJ tdtdd sJ td!tdd"sJ td#td$d%sJ td&td$d'sJ tttsJ tt
tsJ ttdksJ ttttsJ tt dksJ tdtks"J t
dtd s.J t
dtt	d(d  tdd  tdd d)tt   sPJ t
ddksYJ t
ddksbJ t
ttdtksnJ t
t tksxJ t
dd*sJ t
d!d+sJ t
d#d,sJ t
d&d-sJ t
dd.sJ t
d/td sJ td/td sJ t
t d0sJ dt _tdt d1sJ t
dt d2sJ td3t d4sJ t
d3t d5s J tt}|jd6sJ |jd7sJ t
t}|jd8s#J |jd9s,J 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
   rR   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   ellipkr   r   gammasqrtr!   
isinstancer$   ellipefractionr[   realimagisnannan)n1n2r]   r(   r(   r)   test_elliptic_integrals   st   &D
rr   c                  C   s8  dt _t
 } ttdt  }t| dsJ t| ds J t| ds)J t	| ds2J t
| ds;J t| dsDJ t| d	sMJ t| d
sVJ t| ds_J t| dshJ t|dsqJ t|dszJ t|dsJ t	|dsJ t
|dsJ t|dsJ t|d dsJ t|d dsJ t|dsJ t|dsJ tddksJ tdt ksJ tttksJ ttdtsJ tttd sJ tt t d sJ t	tdks
J t	dt ksJ ttdtsJ ttdks'J tttks0J tt dks:J tt dksDJ ttdksMJ ttdksVJ tt dks`J tt dksjJ t
ddkssJ t
ttks|J t
t t ksJ tdt ksJ tttksJ 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   erh   r"   eir   lisicishichifresnelsfresnelcairyaiairybir!   ri   r$   r   )xzr(   r(   r)   test_exp_integrals   sZ   r   c                  C   s  dt _tdt ksJ tttksJ tt dksJ tdds&J dt _td} d}t| |ks7J td	} d
}t| |ksEJ tddt  } d}d}t| j|kr_t| j|ksaJ dt _t	ddsmJ t
ddsvJ dt _tddsJ tddsJ ttdtdd}|jjdddt dsJ |jtsJ tddsJ tddsJ ttdtdd}|jjdddt dsJ |jt sJ td d!sJ td"}|jjd#ddt dsJ |jd$sJ 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 xrR   abs_epsrel_eps             $y$=KFvhI	             Yyt9u9m	   Fx:^V y      $@      $@yl	L,N{@y      $      $@gC_d>gJM!	@)r   r   rv   r!   r   strr"   rl   rm   r{   rz   fmulepsr   )rssresimur(   r(   r)   test_ei  sD    r   c                   C   s   dt _tdtksJ ttdksJ tt tt t ks!J tdds*J tdds3J ttdtdd	jd
ddt	 dsFJ tddsOJ tddsXJ ttdtdd	jdddt	 dskJ d S )Nr   r   r   y$=KF?v0Oi?r   yt9u?Wr   Tr   yn x;	»rR   r   r   y$=KF?v0Oir   yt9u?W?r   yn x;	;)
r   r   e1r!   r[   r   r   r   r"   r   r(   r(   r(   r)   test_e1.  s   &*r   c                   C   s  dt _tddtksJ tdddt sJ tdddtd d s(J tddtd s5J tddds?J tdddsIJ td	dd
sSJ tdddtt saJ tdddksjJ tddt suJ tdddsJ tdddsJ tdd	t	 dsJ tdddsJ tdddsJ tdddtd td sJ tddd dsJ tdtdksJ tdtdksJ tdtdksJ tdd d!sJ tddd"sJ tddtd t
t	  sJ tdd#d$sJ td%dd&sJ tddd's)J tddd(s4J td)dtks>J 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!	rb   g/ư>y>ʞư禜?y*oBu|?      )r   r   expintr!   r   ru   rZ   rv   rh   r"   r   r(   r(   r(   r)   test_expint:  s:    $$r   c                  C   s&  dt _ttdd dsJ ttdd dsJ tdds&J tdds/J td	d
 td s<J td	d
 d	d
  dsKJ tdtd ksVJ tdtdtt  seJ dt _t ddsrJ t dds|J t ddsJ t ddsJ t ddsJ t ddsJ t ddsJ t ddsJ t d d!sJ t d"d#sJ t dd$sJ t dd%sJ t dd&sJ t dd'sJ t dd(sJ t dd)s	J t dd*sJ t dd+sJ t d d,s*J t d"d-s5J t d.d/s@J t d0d1sKJ t d2d3sVJ t d4d5saJ t d6d7slJ t d8d9swJ t d:d;sJ t d<d=sJ t d>d?sJ t d@dAsJ t 	d.dBsJ t 	d0dCsJ t 	d2dDsJ t 	d4dEsJ t 	d6dFsJ t 	d8dGsJ t 	d:dHsJ t 	d<d=sJ t 	d>d?sJ t 	d@dIsJ dOdKdL} t
t
jdMks!J | t
t
jt
jdN s0J | t
t
jt
jd s?J | t
t
jt
j d sOJ t
dMdMksYJ | t
ddsdJ | t
ddsoJ | t
ddszJ | t
ddsJ | t
ddsJ | t
ddsJ | t
ddsJ | t
ddsJ | t
d d!sJ | t
d"d#sJ | t
dd$sJ | t
dd%sJ | t
dd&sJ | t
dd'sJ | t
dd(sJ | t
dd)s	J | t
dd*sJ | t
dd+sJ | t
d d,s*J | t
d"d-s5J | t
d.d/s@J | t
d0d1sKJ | t
d2d3sVJ | t
d4d5saJ | t
d6d7slJ | t
d8d9swJ | t
d:d;sJ | t
d<d=sJ | t
d>d?sJ | t
d@dAsJ | t
	d.dBsJ | t
	d0dCsJ | t
	d2dDsJ | t
	d4dEsJ | t
	d6dFsJ | t
	d8dGsJ | t
	d:dHsJ | t
	d<d=sJ | t
	d>d?sJ | t
	d@dIsJ d S )PNra   r   rb   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@r`   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)r   ytolr(   r(   r)   r     s   ztest_trig_integrals.<locals>.aer                 ?)r   )r   r   rx   r$   r   ry   r   r"   r{   rz   fpr!   ninf)r   r(   r(   r)   test_trig_integralsZ  s   
 r   c                   C   s   dt _tdd dsJ tdd dsJ tddd  d	s&J tddd
  ds3J tdds<J tddsEJ tddd  dsRJ tddd  ds_J 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   r~   r   r   r(   r(   r(   r)   	test_airy  s   r   c                  C   s   dt _d} tg dgd| sJ tg dgd| sJ tdd| s'J tdd| s1J tddds;J tdd	d
sEJ d S )Nr   gj	ך9G!@rF   r   r   r
   g    eAz4.9679055380347771271e+27455y            eAz=-2.1222788784457702157e+19410 + 5.0840597555401854116e+19410j)r   r   rY   r   rS   r\   r(   r(   r)   test_hyper_0f1  s   r   c                  C   s  dt _d} tdgdgd| sJ tdgdgd| sJ tdgdgd| s,J tdgdgd| s9J tdgdgd| sFJ tdgdgd| sSJ tdgd	gd| s`J td
gdgd| smJ td
gd	gd| szJ tddd| sJ tddd| sJ tddddsJ tdddd dsJ tddddsJ tdtddddsJ d S )Nr   g[V?rL   rP   rt   yffffff?        r   r         ?              ?        r   r
   g    _Bz!2.1555012157015796988e+4342944809y            _Br   y!xL3\F#r   r   '  iar   y(\?KoQyTO9@#y/@)r   r   rY   r   rT   rk   r\   r(   r(   r)   test_hyper_1f1  s"    r   c                  C   s  dt _d} tddgdgd| sJ tddgdgd| s!J tddgd	gd| s/J tddgd	gd
| s=J tddgd	gd
| sKJ tddgd	gd| sYJ tddgdgd| sgJ tddgdgd
| suJ d} tddt gdgd| sJ tddt gd	gd| sJ tddt gd	gd| sJ tddt gdgd| sJ d} tddgdgdtd  | sJ tddgdgdtd  | sJ tddgdgdtd  | sJ tddgdgdtd  | sJ d} tddgdgd| sJ tddgdgd| s"J tddgdgd| s1J d } tddgdgd!| sBJ tddgdgd!| sQJ tddgdgd!| s`J d S )"Nr   g[$?rL   rM   r   333333?      ?r   g       @y333333?        r          @        y      ?        yO@z?r(,?y?      rP   r   r   皙?r
   r               @        r                 y+xV?;CF )r   r   r
   r   )r   r   g?y?        y}?F"?y      @       @)r   r   rY   r   r"   r\   r(   r(   r)   test_hyper_2f1  s8       $$$&"r   c                  C   s$  dt _tdddddsJ tdddddddsJ tdd	d	dd
s)J tdd	d	dddds7J tdd	dddksBJ tddd	dtksMJ tdddddksXJ tdddddkscJ tdddddksnJ tdddddksyJ ttddddsJ tdddddsJ tddddddddt  sJ tdddddsJ tdddddddsJ tdd	dddksJ tddddtksJ td	d	dddksJ tdd	dddsJ tdd dddksJ tdddddksJ tdddddksJ tdddddddksJ tddddtks%J tdd ddtks1J td!d"d#ddks=J td!dd	dd$sJJ tdd"d#dtksVJ tdd%d#dt kscJ ttt d } t	ddd ttt d&  t	ddd  }td'd(d)| |sJ td'd(d)| 
 |
 sJ tdd*dd+d,sJ tdd*dd-d.sJ tdd*ddd/sJ tdd*dtd0sJ tddd1d2d3sJ td4d"dd2d5sJ tddd1d6d7sJ td8d9 tddD d:sJ td;d9 tddD d<sJ td=d9 tddD d>s0J tdd?d@dAdBs=J tddddCdDsJJ tddddEdFsWJ tddddGdHsdJ tdddddIsqJ tdddddJs~J tdKdLdMdNjdOdtdP dQsJ d S )RNr   r   r   r
      T)eliminate_allr   r   "   r      r   r   r   y      ?      ?y??F)	eliminateg     `?g     @?gx&?r   g%α?g]?r   r   rI   r	   g?gr   g      gr      z1/2z1/61/3rF   z0.999gQՂ?z1.001yH?1-.MVgN~?yɸa?>eV?r   z0.99gv;@rP   gV?r   yN?Q{?c              
   S   &   g | ]}t d dddtt|  qS )r   r   rG   r   r   ffffff?rV   rZ   r"   .0kr(   r(   r)   
<listcomp>4     & z'test_hyper_2f1_hard.<locals>.<listcomp>ylJ@ۢ%@c              
   S   r   )r   rG   r   g?r   r   r(   r(   r)   r   5  r   yIK@K@J> c              	   S   s"   g | ]}t d ddtt| qS )r   rG   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   r   )r   r   rV   r   r!   rn   r"   rZ   r   nthroot	conjugatefsumr&   r   )r   wr(   r(   r)   test_hyper_2f1_hard  sf   $,"$$$(r   c                   C   s.  t g dddgddsJ t g dg dddsJ t g dd	d
gdds-J t g dg dd
ds<J t g dg dddsKJ t g dg dddsZJ t g dg dd
dsiJ t g dg dd
dsxJ t g dddgdtksJ t g dddgddsJ d S )N)r   r   r
   r   rR   r   gLEy?)r   r   r
   r   )r   rI   r   g_g?      ?r   r   g%<@y@CN?mr)r   r   r
   r   r   )rI   r   rR   	   g?g-?yFo?K:ZI)r   gRQ@gp=
ף@g{Gz@)g@gffffff@g333333@ys?+e)r   r   r   r   )e   r   g	Y@)rY   r   r!   r(   r(   r(   r)   test_hyper_3f2_etcB  s   "r   c                   C   sX  dt _tddddsJ tddddsJ tddddks#J td	d
ddks-J td	ddtks7J td	dddksAJ tddddsLJ tddddsWJ tddddsbJ tddddkslJ tddddksvJ tddddtd sJ tddtdsJ tddd d! d"sJ td#d$d%d& d'sJ 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      @   rI   g?rP   rR   y      Y@      i@r   yiMؿcf)r   r   r   xr   y       yk9)r   r   hyperur   r!   rh   r   r(   r(   r(   r)   test_hyper_uP  s    r   c                  C   sX  dt _tddgg dtdddksJ tddddsJ tddddks(J tddddks2J tdddds=J td	dd
dsHJ td	dddsSJ td	ddds^J tddddsiJ tddddstJ tddddsJ tddddddksJ tddddddksJ dD ]} | t _td
ddd sJ qd 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   rI   rH   gWuJIgٍ=,?r   y      ?      ?   zeroprec)r   r-   rN   g;On?z1.006867007239309717945323585695344927904000945829843527398772456281301440034218290443367270629519483 + 1.238277162240704919639384945859073461954721356062919829456053965502443570466701567100438048602352623e-46j)r   r   rY   hyp2f0r   )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J d\} }}t| ||dds&J t| ||d	d
s2J t| ||dds>J t| ||ddsJJ t| ||ddsVJ t| ||ddsbJ t| ||ddsnJ t| ||ddszJ t| ||ddsJ t| ||dt dsJ t| ||d	t dsJ t| ||dt dsJ t| ||dt dsJ t| ||dt dsJ t| ||dt dsJ t| ||dt dsJ t| ||dt d sJ t| ||dt d!sJ d S )"Nr   r   r   r
   r   )r   r   rG   r   r   gԢr@r   g߷Ar   guT>*Er   gcQr   ga&j۪xrb   z9.8851796978960318255e+867逖 z1.1505659189516303646e+2746 z1.4672005404314334081e+8685r   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   rY   rU   r   r"   )a1b1b2r(   r(   r)   test_hyper_1f2|  s*   $
"r   c                  C   sF  dt _tddgg ddtddddddksJ d	\} }}}}t| ||||d
ds-J t| ||||dds;J t| ||||ddsIJ t| ||||ddsWJ t| ||||ddseJ t| ||||ddssJ t| ||||ddsJ t| ||||ddsJ t| ||||d
t dsJ t| ||||dt dsJ t| ||||dt dsJ t| ||||dt dsJ t| ||||dt dsJ t| ||||dt d sJ t| ||||dt d!sJ t| ||||dt d"sJ t| ||||dt d#s!J d S )$Nr   r   r   )r
   r   r   rI   r
   r   r   )r   rG   r   r   r   r   gJo!m`@r   gb3lKEr   g)&uLQr   g>dxrb   z2.0291718386574980641e865r   z7.7639836665710030977e2742r   z3.2537462584071268759e8681r   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   rY   rX   r   r"   )r   a2r   r   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J d\} }}}t| |||dd	s*J t| |||d
ds7J t| |||ddsDJ t| |||ddsQJ d S )Nr   r   r   r
   r   r   )r   r   rL   r   r   g(wVbAr   z1.2012553712966636711e+4358igir   z+1.1148680024303263661e+43429448190325182840)r   r   rY   rW   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J tddddd	ksJ td
dddds&J tddddds2J tddddds>J tdddksGJ tdddsQJ tdddksZJ tdddkscJ tdddkslJ tdddksuJ tdddks~J tdddksJ tdd
dsJ ttt dsJ tdddksJ tdddksJ tddtksJ tddt ksJ td dt	ttksJ td!dt	t t ksJ t
dddd"sJ t
ddt dd#sJ d S )$Nr   r	   r   r
   rt   g¹ @r   r   g     %@r   g?r   gVj+\r   r   g{GzĿr   r   g     LA@r   r   iW r   gZb`B?rR   g   `{}@y@/#,?rI   r   r         @y      @      ?y      @      ?g      yUUUUUU?UUUUUU@)r   r   jacobir   legendrer"   chebyuchebytr!   r[   laguerrer(   r(   r(   r)   test_orthpoly  s0   r   c                   C   sR  dt _tdddsJ tdddsJ tddds!J tdddks*J tddds4J tddds>J tddd	sHJ tddd
sRJ tddds\J tdddsfJ tdddksoJ td	d	dsyJ tdd	dsJ td
d	dsJ tdd	dsJ tdddsJ tdddsJ tdddsJ tdddsJ tdddsJ tdddsJ td dd!sJ td dd"sJ td djd#dtd$sJ td dd%sJ td djd&dtd$sJ td djd'dtd$sJ td(dt d)s'J 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'%r   y        M9;Dr   y       M9;g      #y:fTȾQk>y:fTȾQkgyQrd;r   z1.3106082028470671626e4355yRd]Rd]yRd]Rd];r   y@o׿a)r   r   hermiter   r   r"   r(   r(   r(   r)   test_hermite  s:   r   c                   C   s   dt _tddddsJ tddddsJ tddddks#J tdd	ddks-J td
ddds8J tddddsCJ tddddsNJ tddddsYJ tddddsdJ tddt ddsqJ 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   
gegenbauerr   r"   r(   r(   r(   r)   test_gegenbauer  s   r  c                   C   s  dt _tdddtddksJ tddddsJ tdddd	d
ds(J tdddds3J tdt dt dsAJ tdt dt d	d
dsQJ tddd	ds\J tddd	d	d
dsiJ tddddstJ tdddd	d
dsJ td	dd	dsJ td	d	d	dsJ td	dd	dsJ tddddsJ tddddsJ tddddsJ tddddsJ 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)   test_legenp  s$    r  c                  C   s
  dt _t} t| dddsJ t| dddsJ t| ddddds%J t| ddddds1J | dddddds>J | ddddd	d
dsLJ | ddddddsYJ | dddddtsfJ | ddddd	d
dstJ | ddddddsJ | ddddsJ | ddddsJ | dddd	ddsJ | ddddsJ | ddddsJ | ddddddsJ | ddddddsJ | ddddddsJ | ddddddsJ | ddddddsJ | ddddsJ | ddddsJ | ddddsJ | dddds+J | dddds7J | ddddsCJ | ddddsOJ | dddd	dds]J | ddddsiJ | dddd suJ | dddddd!sJ | dddddd"sJ | dddddd#sJ | dddddd$sJ | dddddd!sJ | dddddd%sJ | dddddd#sJ | dddddd$sJ | d&d'dddd(sJ | d&d'dddd)sJ | d*ddd+sJ | d*ddd,sJ | d*ddd-s%J | d*ddd.s1J | d*ddd/s=J | d*ddddd0sKJ | d*ddddd1sYJ | d*ddddd2sgJ | d*ddddd3suJ | d*ddddd4sJ 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$?r:   y        <@gJj?gfFU?g 6Կy<P0(?y        P0(?y 6ԿJjyfFU?fFUyJj? 6?gP0(ӿ)r   r   legenqrn   r   r"   )fr(   r(   r)   test_legenq  sh    r	  c                   C   s   dt _tdddksJ tdddksJ tdddksJ tdddks'J ttttks0J dtdtd ds>J tdddsHJ tddd	sRJ tdtd
s\J tdtddksgJ tdddsqJ d S )Nr   r   r   r   r   gDSYC?g=O?r
   gN_?rd   r   r   yk7WO?>I?)r   r   agmr"   rh   r   r(   r(   r(   r)   test_agmK  s   r  c                   C   s   dt _tdddtd sJ tdddddtd  s"J tdddd	td d
td  s7J tdddsAJ tddd
dsLJ tdddsVJ tddt dt dseJ tddt dsqJ tdd
ddds}J tddttdsJ tdddsJ tdddsJ tdddsJ tdddsJ tdddtksJ tddd d!sJ tddddksJ tddt dt d"sJ td#dd$sJ td%d%d&sJ td'd%d(sJ tdd%d)s	J td*d%d+sJ ttdddd,s J td%ddd,tks,J tdddd,dks8J tdddd,dksDJ tdd-dd,dksPJ tdd.dd,dks\J tdd/dd,dkshJ td%ddd,dkstJ td%d.dd,dksJ td%d/dd,dksJ td%ddd,dksJ td%d0dd,dksJ td%d1dd,dksJ td%d2dd,dksJ tdddd,tdsJ tdd.dd,td0sJ tdd/dd,td1sJ tdd2dd,td3sJ td4djd5dd6t	 d7sJ td4ddd,dksJ td4d2jd8dd6t	 d7s$J td4d2dd,dks0J td-d9dd,d:s=J td;d;dd,d<sJJ tdd
dtddd
 ksZJ td
ddd=sfJ td
dddd,d>stJ tdddd?sJ tddddd,dksJ td%ddd@sJ td%dddd,dksJ tdddd?sJ tddddd,dksJ tddAdBjdCdd6t	 d7sJ tdAdddDsJ tddEdksJ tddFdksJ tdd%dksJ tddGdksJ tdHd%dksJ d S )INr   r   r   rI   r   r   r   r
   r   r   r   r:   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)regularizedr   i  l       73Me'r   l    73Me'r   rc   z1.3669297209397347754e-301037rR   r   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   rZ   r"   r!   rg   rn   r   r(   r(   r(   r)   test_gammaincY  s   "*   "r  c                  C   s	  dt _tdddsJ tdddsJ tddds!J td	dd
s+J tddds5J tddds?J tdddsIJ tdddsSJ tddds]J tdddsgJ td	ddsqJ tddds{J tdddsJ tdddsJ tddjdd	dt dsJ tddjdd	dt dsJ tddjdd	dt dsJ td	djdd	dt dsJ tddjd d	dt dsJ tddjd!d	dt dsJ tddjd"d	dt dsJ tdd#d$sJ tdd#d%sJ tdd#d&sJ td	d#d's$J tdd#} | d(s1J | jd)s:J tdd#} | d*sGJ | jd+sPJ tdd#} | d,s]J | jd-sfJ tdd.jd/d	dt dsvJ tdd.jd/d	dt dsJ tdd.jd/d	dt dsJ td	d.jd/d	dt dsJ tdd.jd/d	dt dsJ tdd.jd/d	dt dsJ tdd.jd/d	dt dsJ tdd0d1sJ tdd0d1sJ tdd0d1sJ td	d0d1sJ tdd0} | d1sJ | jd)sJ tdd0} | jd2s&J | d1s.J tdd0} | jd3s<J | d1sDJ tddd4sOJ tddd5sZJ tddd6seJ td	ddspJ tddd7s{J tddd8sJ tddd9sJ tddd:sJ tddd;sJ tddd<sJ td	ddsJ tddd=sJ tddd>sJ tddd?sJ tddjd@d	dt dsJ tddjdAd	dt dsJ tddjdBd	dt dsJ td	djd d	dt dsJ tddjdCd	dt ds.J tddjdDd	dt ds>J tddjdEd	dt dsNJ tdd#} | dFs[J | jdGsdJ tdd#} | dHsqJ | jdIszJ tdd#} | dJsJ | jdKsJ td	d#} | d(sJ | jd)sJ tdd#} | dLsJ | jd	ksJ tdd#} | dMsJ | jd	ksJ tdd#} | dNsJ | jd	ksJ tdd.jdOd	dt dsJ tdd.jdPd	dt dsJ tdd.jdQd	dt dsJ td	d.jd/d	dt ds%J tdd.jdRd	dt ds5J tdd.jdSd	dt dsEJ tdd.jdTd	dt dsUJ tdd0} | dUsbJ | jdGskJ tdd0} | dVsxJ | jdIsJ tdd0} | dWsJ | jdKsJ td	d0} | d1sJ | jd)sJ tdd0dXsJ tdd0dYsJ tdd0dZsJ 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rR   r   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   rm   r  )r   r(   r(   r)   test_gammainc_expint_n  s   


       


       






       



r  c                   C   sR   dt _tdddddsJ tddd	d
dsJ tdddd
ds'J d S )Nr   r   r   r   r   gO@r   y      ?       @r   rI   y	?f,?r   r   r   gX|W'@)r   r   betaincr   r(   r(   r(   r)   test_incomplete_beta$  s   r  c                  C   s^  dt _tddksJ tddsJ tddsJ tdds&J ttd	s/J td
ds8J tddsAJ ttdtsJJ ttdtsSJ ttdts\J ttdtseJ ttdksmJ tt dksvJ t	ddks~J t	dt dsJ t	ttksJ t	t t ksJ tdtdksJ t
dt
dksJ tddt
d sJ t
ddksJ t
ddtd sJ t
ddtd sJ t
dt dtdt  sJ t
ddksJ t
ddksJ t
t dks	J t
tdksJ tt
tsJ t
dtdd  ds+J tdds5J t
dds?J t
ddsIJ dt _t
ddd   d!sZJ t
ddd"  d#shJ dt _tt
dd d$ksxJ tddksJ td%d&sJ td'd(sJ tdtksJ tdt ksJ ttd)d)sJ ttd*d*sJ ttd+d+sJ dt _ttd,d,sJ ttd-d-sJ ttd.d.sJ dt _t
d/} | jdksJ | jd0sJ t
d1dsJ t
d2dd3  d4s#J t
d5d6s-J d S )7Nr   r   r   gAg?r   y^u;y            yxGDY$W
?g|b?r   y        .($h?             y       .($hr                   gL:?r_   y?      ?re   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   ri   r$   r[   r!   erfierfcrn   ro   r   erfinvrl   rm   r\   r(   r(   r)   test_erf*  st   " r  c                   C   s   dt _tt dksJ ttdksJ tdddtddds#J tdd t tgd	ks1J tdd
ks9J tddd
ksBJ tt dksKJ ttd	ksSJ tdd	ks[J tdd dsfJ d S )Nr   r   r   r   r   r   c                 S   s   t | ddS )Nr   g?)npdfr   r(   r(   r)   <lambda>n  s    ztest_pdf.<locals>.<lambda>r   r   r
   r   re         B3v^!< gwbLz@)r   r   r  r!   r   quadtsncdfr(   r(   r(   r)   test_pdfi  s   r#  c                  C   s  dt _tddksJ tddksJ tttksJ ttts#J ttdjtks-J ttdjdt	 s:J tt djtksEJ tt djdt	 sSJ tddt ks]J tddt ksgJ tddt ksqJ tt
dszJ tddsJ tt	 d tt	 d sJ ttd d td sJ td	d
sJ tddsJ tdddsJ tdddsJ td	ddsJ tdddsJ td	ddsJ tdddsJ tddsJ tdddsJ tdddsJ tddsJ tddds&J tddds1J tddds<J tddsFJ tdd sPJ tddd!s[J tddd"sfJ td#dd$sqJ tddd%s|J tddd&sJ tdd'd(sJ td)d*d+sJ td)dd,sJ tdt d- d.sJ tdt d- dd/sJ tdt d- dd0sJ tdt d- d*d1sJ tdt  d- d2sJ tdt  d- dd3sJ tdt  d- dd4sJ tdt  d- d*d5s"J d6t _tt	d7s/J dt _td8d9s<J td:d;sFJ td<d=sPJ td>d?sZJ td@dAsdJ tddB} | jdCsrJ | jdDs{J 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?r   gQGg[[AD)r   r   lambertwr!   rn   ro   rl   rm   r   r   ru   r"   log)r   r(   r(   r)   test_lambertww  sx    "   
r&  c                  C   s  dd } dt _| tddsJ | tddsJ | tdd	s"J | td
ds+J | tddds5J | tddds?J | tdddsIJ | td
ddsSJ | tddds]J | tdddsgJ | tdddsqJ | td
dds{J 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$sJ | t|||d%sJ | t|||d&sJ t|||	dksJ t|||
dksJ t|||dksJ t|||dksJ | t|||d'sJ | t|||d(s J | t|||d)s-J | t|||	d*s:J | t|||
d+sGJ | t|||d,sTJ | t|||tdd-sdJ | t|||d.sqJ | t|||d/s~J | t|||d0sJ | t|||	d1sJ | t|||
d2sJ | t|||d3sJ | t|||td4d5sJ | t|||d6sJ | t|||d7sJ | t|||d8sJ | t|||	d9sJ | t|||
d:sJ | t|||d;sJ | t|||td4d<s J | t|||dd=s.J | t|||
dd>s<J | t|||dd>sJJ | t|||dd>sXJ | t|||dd?sfJ | t|||dd@stJ | t|||ddAsJ | t|||	dd1sJ | t|||
dd2sJ | t|||dd3sJ | t|||dtd4d5sJ | t|||ddBsJ | t|||ddCsJ | t|||ddDsJ t|||	ddksJ t|||
ddksJ t|||ddksJ t|||ddksJ | t|||ddEs)J | t|||ddFs7J | t|||ddGsEJ | t|||	ddHsSJ | t|||
ddIsaJ | t|||ddJsoJ | t|||dtddKsJ | t|||ddLsJ | t|||ddMsJ | t|||ddNsJ | t|||	dd9sJ | t|||
dd:sJ | t|||dd;sJ | t|||dtd4d<sJ | t|||ddOsJ | t|||ddPsJ | t|||ddQsJ | t|||	ddQsJ | t|||
ddQs+J | t|||ddQs9J | t|||ddQsGJ dRt _dt tdS }dT}dt _t||saJ dUt _t||snJ dVt _t||s{J 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}|o5|S )NTrR   )convertri   r$   r   rl   r   rm   )r   r   type_okreal_ok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      t | |ddS NTr   )faddr   r   r(   r(   r)   r        z$test_lambertw_hard.<locals>.<lambda>c                 S   r-  r.  )fsubr0  r(   r(   r)   r    r1  c                 S      t | t|dddddS )Nr   Tr   r/  r   r0  r(   r(   r)   r        c                 S   r3  )Nr  Tr   r4  r0  r(   r(   r)   r    r5    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$  ru   r   r$   r[   r   )r+  addsubaddjsubjad3d10d20d40d80d300d1000r   ansr(   r(   r)   test_lambertw_hard  s   
   """rE  c                  C   s  dt _tddgdggddgddggddsJ tg dt ggdgdggd	d
s-J tdgdggdgdggddks?J tdgg gg dg gddsQJ tdgdggdgdggddsdJ tdgdggdgdggddswJ tdgdggdgdggdtd  dt  sJ d} d}tdtdfD ]O}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|  }||sJ ||sJ qd S )Nr   r   r
   r   r   r   r   g%WV@r   yc2hp@'4Dr   r   )r   r   r   z2/3z2/27gmD@r   r   r   r:   gyhr   r   g       r   )	r   r   meijergr   r"   r   r$   rT   rg   )r<  r  r   x1x2x3r(   r(   r)   test_meijerg:  s"   ,($$&&44>rJ  c                   C   s   dt _tdddddddsJ tdddddddsJ tdddddd	d
s-J tddddddds;J tdddddddsIJ d S )Nr   r   r   r   r
   g      ir   r   r      r   g      ?gk?)r   r   appellf1r   r(   r(   r(   r)   test_appellf1M  s    rM  c                   C   s&   dt _ttdddddsJ d S )Nr   r   r   r   r
   gpu4@)r   r   coulombgr[   r   r(   r(   r(   r)   test_coulombU  s    rO  c                  C   sL  dt _dd tddD } dd tddD }t| |dd	s"J td
ddds-J tdddd ds:J tddddd dsHJ tdddddd  dsXJ tdddd
dddkseJ td dddd!  d"stJ tdddd#d$d%dd&  d'sJ td(dddksJ t	t
d)d*  td+d* dgd,d-tksJ tg g gg d.g gd/d0sJ td1d1dd2  d3sJ d4t _td5d6ddd7  d8 td9d6ddd7  d: dt _td5d6ddd7  d8 td9d6ddd7  d: ttd;d<d=d>dd?sJ td;dd  d dd fdd?s$J d S )@Nr   c                 S      g | ]}|d  qS r,  r(   r   r'   r(   r(   r)   r   ]      z-test_hyper_param_accuracy.<locals>.<listcomp>r   r   c                 S   rP  rQ  r(   rR  r(   r(   r)   r   ^  rS  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   )maxterms   g~bf86r   c                   S   s   t dd dgS )Nc                 S      g g g g | g|  gdfgS Nr   r(   r<  r(   r(   r)   r  h      z=test_hyper_param_accuracy.<locals>.<lambda>.<locals>.<lambda>r
   )	hypercombr(   r(   r(   r)   r  h  s    z+test_hyper_param_accuracy.<locals>.<lambda>c                 S   rX  rY  r(   rZ  r(   r(   r)   r  i  r[  r   )infprec)r   r   r   r   r   giաe?i  ^   gL?r   g    r6  r   g{	!@r   gL`L"@r   z1e-100Tr   g;.ɂQ)J)r   r   r&   rY   r   r  rT   rV   pytestraises
ValueErrorr\  r!   rF  r%   rS   r/  )AsBsr(   r(   r)   test_hyper_param_accuracy[  s0    $" .rd  c                   C   s@   t dd dgdksJ tdgg gdgdggddsJ d S )Nc                 S   s   dg| gg g g g dffS )Nr   r(   rZ  r(   r(   r)   r  w  r5  z)test_hypercomb_zero_pow.<locals>.<lambda>r   r   r   rU  g2}$?)r\  rF  r   r(   r(   r(   r)   test_hypercomb_zero_powu  s   (re  c                  C   s  dt _d} d}tdd| |dsJ tdd| |dsJ tdd| |d	s+J tdd| |d
s7J tdd| |dsCJ tdd| |dsOJ tdd| |ds[J tdd| |dsgJ tdd| |dssJ tdd| |dsJ tdd| |dsJ tdd| |dsJ tdd| |dsJ tdd| |dsJ tdd| |dsJ tdd| |dsJ tdd| |dksJ tdd| |dksJ tdd| |dksJ tdd| |dksJ tdd| |dksJ tdd| |dks
J tdd| |dksJ tdd| |dks"J tdd| |dks.J tdd| |dks:J tdd| |dksFJ tdd| |dksRJ tddddds_J tddt dt d d!spJ td"d#| |d$s}J td%dddd&sJ tdddddksJ td"dddd'sJ td"d(ddd)sJ tddddd*sJ tdddddksJ tddddd+sJ 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   	spherharmr   r"   )tr   r(   r(   r)   test_spherharmz  sP   "rh  c                   C   s    dt _tddddsJ d S )Nr   r   r
   r   z2.7291482267247332183e2391)r   r   qpr   r(   r(   r(   r)   test_qfunctions  s   rj  c                  C   sD   dt _tdd} tdddddd	sJ d
t _ttdd  d S )Nr7  l   L33F i   rT  r   g?r   z40.99999999999999999999996570910644857895771110649954r   c                   S   s   t ddddS )Nr   r   r   )rV   r(   r(   r(   r)   r    r1  z test_issue_239.<locals>.<lambda>)	r   precldexpr  r   r   r_  r`  ra  r  r(   r(   r)   test_issue_239  s
   
rn  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@)	ouU@Pr@)X$@*@6{x0@lA稝3@6@W9@q=@+knG@@|A@i#<C@bKsD@?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@)rs   ro  rp  rq  rr  rs  rt  ru  rv  rw  rx  ry  rz  r{  r|  )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@)r0   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@)r1   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@)r2   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@)r3   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   sD  dt _ttD ]} tdtd D ]}t| |dtt t| |t|  |d  s*J t| |t|  |d  s:J t| |dt	|  |d  sKJ t| |dt	|  |d  s\J t
| |t|  |d  slJ t
| |t|  |d  s|J t
| |dt|  |d  sJ t
| |dt|  |d  sJ qqd S )Nr   r   of)r   r   r&   VMprintr4   r   jn_small_zerosjnp_small_zerosr5   yn_small_zerosynp_small_zeros)r]   mr(   r(   r)   test_bessel_zeros_extraB	  s     ""  "$r  )9mathr_  mpmathr*   r6   r9   r=   r@   rE   r^   rr   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&  rE  rJ  rM  rO  rd  re  rh  rj  rn  r~  r  r  r  r  r  markslowr  r(   r(   r(   r)   <module>   s   K</' d:	<H ?@ *  e  e  e  d