
    wgz                       d dl Z d dlZd dl d Zd Zd Zd Zd Zd Zd	 Z	d
 Z
d Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd  Z d! Z!d" Z"d# Z#d$ Z$d% Z%d& Z&d' Z'd( Z(d) Z)d* Z*d+ Z+d, Z,d- Z-d. Z.d/ Z/d0Z0d0Z1g d1g d2g d3g d4g d5g d6g d7g d8g d9g d:g d;g d<g d=g d>g d?gZ2g 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 dMg dNgZ3g 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 d\g d]gZ4g dPg 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Z5ejl                  jn                  dl        Z8y)m    N)*c                     dt         _        t        d      j                  d      sJ t        t              j                  d      sJ t        d      j                  d      sJ t        d      j                  d      sJ t        d      j                  d	      sJ t        t              j                  d
      sJ t        d      j                  d      sJ t        d      j                  d      sJ t        dd      j                  d      sJ t        dd      j                  d      sJ t        dt              j                  d      sJ t        dd      j                  d      sJ t        dd      j                  d      sJ t        dd      j                  d      sJ t        dd      j                  d      sJ t        dd      j                  d      sJ t        dd      j                  d      sJ t        dd      j                  d       sJ t        dd!      d"z  j                  d#      sJ t        d$d%      d%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(  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(  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(  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(  sJ t        dd%      t         k(  sJ t        d%d&      j                  d/      sJ t        dd&      j                  d0      sJ t        d*d&      j                  d1      sJ t        d2d&      j                  d3      sJ t        d%d      j                  d4      sJ t        d%t              j                  d5      sJ t        dd!      d"z  j                  d6      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(  sJ t        d%d&      j                  d7      sJ t        dd&      j                  d8      sJ t        d*d&      j                  d8      sJ t        d2d&      j                  d9      sJ t        d%d      j                  d:      sJ t        d%t              j                  t        d%d            sJ t        dd!      t        d;      d<z  z  j                  d=      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(  sJ t        d-d%      t        k(  sJ t        d%d&      j                  d>      sJ t        dd&      j                  d?      sJ t        d*d&      j                  d?      sJ t        d2d&      j                  d@      sJ t        d%d      j                  dA      sJ t        d%t              j                  dB      sJ t        dd!      t        d;      dCz  z  j                  dD      sJ t        d;dEd;      D ]*  } | t         _        t        dFdG      j                  dH      r*J  y )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)ns    a/home/mcse/projects/flask/flask-venv/lib/python3.12/site-packages/mpmath/tests/test_functions2.pytest_besselr+      s   BFa588()))b699*+++d8;;,---c7::+,,,a588()))b699)***d8;;-...c7::*+++1Q<??23334?56661R=12221T?45551S>23332a=12222a=12221T?PQQQ4?34444  !MNNNAv&**+ABBB4q   3?sd"""3?sd"""1Q<C44t###4s"""2q>S   4s"""4t###2q>S   2q>cT!!!2q>S   3?sd"""1a=SD   3?sd"""1a=SD   3?sd"""1a=SD   1S>45551S>34442c?34443s56661T?JKKK1Q<??JKKKAv&**+ABBB1Q<11Q<11Q<12a=A2a=A1S>23331S>34442c?45553s89991T?KLLL1Q<??71Q<(((AvR;!77;;<QRRR1Q<31Q<31Q<32a=C2a=C1S>34441S>23332c?34443s45551T?OPPP1Q<??JKKKAvR*!44889NOOO2c" itG$''  )h  i  	i  ii    c                     dt         _        t        dd      j                  d      sJ t        dd      j                  d      sJ t        dd      j                  d      sJ t        d	d      j                  d
      sJ t        dd      j                  d      sJ t        ddd      j                  d      sJ t	        dd      j                  d      sJ t	        dd      j                  d      sJ t	        dd      j                  d      sJ t	        d	d      j                  d      sJ t	        dd      j                  d      sJ t	        ddd      j                  d      sJ y )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   besselyzero r,   r*   test_bessel_zerosr:   P   s]   BFq5666q4555q 5666r! 5666s1  !6777q1  !6777q5666q4555q 5666r! 5666s1  !6777q1  !6777r,   c                  ^   dt         _        t        dd      j                  d      sJ t        dd      j                  d      sJ t        dd      j                  d      sJ t        d	d      j                  d
      sJ t        d	d      j                  d      sJ t	        dd      j                  d      sJ t	        dd      j                  d      sJ t	        dd      j                  d      sJ t	        d	d      j                  d      sJ t	        d	d      j                  d      sJ y )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   hankel2r9   r,   r*   test_hankelr>   _   s   BF1S>KLLL1S>IJJJ2c?KLLL3sKLLL3t RSSS1S>KLLL1S>IJJJ2c?KLLL3sKLLL3t KLLLr,   c                     dt         _        t        dd      j                  d      sJ t        dd      j                  d      sJ t	        dd      j                  d      sJ t	        dd      j                  d      sJ y )	Nr   r
   r   gb	h?      gVi?g߳g?gg]>?)r   r   struvehr   struvelr9   r,   r*   test_struverC   l   sq    BF1Q<??12224?45551Q<??01114?3444r,   c                      dt         _        t        ddd      j                  d      sJ t	        ddd      j                  d      sJ y )Nr   r
   r   r   g/GzH@g$+9,@)r   r   whitmr   whitwr9   r,   r*   test_whittakerrG   s   s?    BF1Q<??01111Q<??0111r,   c                     dt         _        t        dd      j                  d      sJ t        dd      j                  d      sJ t        dd      j                  d      sJ t	        dd      j                  d	      sJ t	        dd      j                  d
      sJ t        dd      j                  d      sJ t        dd      j                  d      sJ t        dd      j                  d      sJ t        dd      j                  d      sJ t        dd      j                  d      sJ t        dd      j                  d      sJ y )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keir9   r,   r*   test_kelvinrM   x   s   BFq8;;-...q8;;.///r!9<<0111q8;;.///r!9<</000q8;;-...r!9<</000s1:==1222q8;;.///r!9<<.///s1:==0111r,   c                  h   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(  sJ t        dddddd      dk(  sJ t        g g d      dk(  sJ t        g g d      j                  t        d            sJ t        dgg d	      dk(  sJ t        d
ddt        d      dz        j                  d      sJ t        dddt        d      dz        j                  d      sJ t        ddddt        z   dz        j                  d      sJ dt         _        t        dd      } t        ddt        z   dgddt        dz  gt        d      dz  t        dz  z         j                  |       sJ dt         _        y )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vs    r*   test_hyper_miscrg      s   BF!A;!!Aa=A!Aa?a!Aa?a!Aa!!!!!Aa!A!###Bq>QBr?c"g&&&!R!!!%eCGBJ/223777%eCGBJ/223777%eQqS!G,//0Z[[[BF)+IJA%!A!AaCyQ!A#699!<<<BFr,   c                     dt         _        t        d      j                  t        dz        sJ t        d      j                  t        d      dz  dt        t              z  z        sJ t        d      t        k(  sJ t        d      t        k(  sJ t        d	      j                  d
      sJ t        d      j                  d      sJ t        t        d      t              sJ t        t        d      t              sJ t        d      j                  d      sJ dt         _        t        dd      } t        dd      }dt         _        t        |       j                  d      sJ t        |      j                  t        dd            sJ t        |       j                  d      sJ t        |      }|j                  j                  d      sJ |j                  dz  j                  d      sJ t        d      j                  t        d
d            sJ t        d      j                  t        dd            sJ t        d      j                  t        dd             sJ t        d!      j                  t        dd"            sJ t        d#      j                  t        d$d%            sJ t        d&      j                  t        d$d'            sJ t        t        t                     sJ t        t        t                     sJ 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      j                  t        dz        sJ t        d      j                  t        t        d(      dz  z  t        d      dz  z  t        d      dz  d)t        t              z  z  z         sJ t        d      dk(  sJ t        d      dk(  sJ t        t              t        dt              k(  sJ t        t               t        k(  sJ t        d      j                  d*      sJ t        d!      j                  d+      sJ t        d#      j                  d,      sJ t        d&      j                  d-      sJ t        d      j                  d.      sJ t        d/      j                  t        dz        sJ t        d/      j                  t        dz        sJ t        t               j                  d0      sJ dt         _        t        dt        z        j                  d1      sJ t        dt        z        j                  d2      sJ t        d3t        z        j                  d4      sJ t        d3t        z        j                  d5      sJ t        t              }|j                  j                  d6      sJ |j                  j                  d7      sJ t        t              }|j                  j                  d8      sJ |j                  j                  d9      sJ dt         _        y ):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.3110287771460599052r0   z0.22326753950210985451z-0.47434723226254522087r   z0.91119556380496500866z0.63133428324134524388y      @      z-0.63133428324134524388y            @z0.95357894880405122483z0.23093044503746114444            z-0.23093044503746114444r   r[   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fractionrd   realimagisnannan)n1n2rf   s      r*   test_elliptic_integralsr|      s+   BF!9<<1#;>>%+q.!DH*5666!9$<3":==0111":==0111fRj#&&&fRj#&&&#;>>2333BF
5
 	 B
6&
!	!BBF":==0111":==46NOPPP":==0111r
A66991222FF5L0111!9<<35MNOOO":==57PQRRR$<??379QRSSS$<??379RSTTT%=C 8:RSTTT%=C 8:STUUU#;!fSk3'''3$<1$<3!9<<1#;>>"s1vax.ta7ta4PR89TTUUU!9>>$<1#;#a*$$$3$<3$<??GHHH$<??GHHH%=HIII%=HIII!9<<FGGG/"%%bd+++/"%%bd+++2#;>>,---BF!B$<??UVVV!B$<??UVVV#b&>XYYY#b&>WXXXr
A6699OPPP6699PQQQr
A6699PQQQ6699PQQQBFr,   c                     dt         _        t        } t        t        d      t        z  z   }t        |       j                  d      sJ t        |       j                  d      sJ t        |       j                  d      sJ t        |       j                  d      sJ t        |       j                  d      sJ t        |       j                  d      sJ t        |       j                  d	      sJ t        |       j                  d
      sJ t        |       j                  d      sJ t        |       j                  d      sJ t        |      j                  d      sJ t        |      j                  d      sJ t        |      j                  d      sJ t        |      j                  d      sJ t        |      j                  d      sJ t        |      j                  d      sJ t        |dz        j                  d      sJ t        |dz        j                  d      sJ t        |      j                  d      sJ t        |      j                  d      sJ t        d      dk(  sJ t        d      t          k(  sJ t        t               t         k(  sJ t#        t        d      t$              sJ t        t               j                  t&        dz        sJ t        t                j                  t&         dz        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(  sJ t        t                dk(  sJ t        t                dk(  sJ t        t               dk(  sJ t        t               dk(  sJ t        t                dk(  sJ t        t                dk(  sJ t        d      dk(  sJ t        t               t         k(  sJ t        t                t          k(  sJ t        d      t          k(  sJ t        t               t         k(  sJ y )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   err   r$   eir   lisicishichifresnelsfresnelcairyaiairybir#   rs   r&   r   )xzs     r*   test_exp_integralsr      s   BF	
A	DGAIAa588'(((a588'(((a588'(((a588()))q699()))q699()))A;>>.///A;>>.///!9<<-...!9<<+,,,a588>???a588>???a588>???a588@AAAq699?@@@q699?@@@AaC=HIIIAaC=HIII!9<<GHHH!9<<CDDDa5C<<a5SD==c7c>>bgs###c7::bdsd8;;s1uc7a<<a5SD==bh$$$#;!#;#3$<13$<1C=CC=CSD>T!!!SD>T!!!q6Q;;s8s??t9q6cT>>s8s??r,   c                     dt         _        t        d      t         k(  sJ t        t              t        k(  sJ t        t               dk(  sJ t        d      j	                  d      sJ dt         _        t        d      } d}t        |       |k(  sJ t        d	      } d
}t        |       |k(  sJ t        ddt        z  z         } d}d}t        | j                        |k(  rt        | j                        |k(  sJ dt         _        t        d      j	                  d      sJ t        d      j	                  d      sJ dt         _        t        d      j	                  d      sJ t        d      j	                  d      sJ t        t        dt        d            }|j                  j	                  dddt        z        sJ |j                  j	                  t              sJ t        d      j	                  d      sJ t        d      j	                  d      sJ t        t        dt        d            }|j                  j	                  dddt        z        sJ |j                  j	                  t               sJ t        d       j	                  d!      sJ t        d"      }|j                  j	                  d#ddt        z        sJ |j                  j	                  d$      sJ y )%Nr   r   g       y      4@     Q@y;;IWA2,wDr0   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 xr[   abs_epsrel_eps             $y$=KFvhI	             Yyt9u9m	   Fx:^V y      $@      $@yl	L,N{@y      $      $@gC_d>gJM!	@)r   r   r   r#   r   strr$   rv   rw   r   r   fmulepsr   )rssresimus        r*   test_eir     sd   BFa5SD==c7c>>sd8tf:==KLLL BF
5	ACAq6Q;;
4ABAq6Q;;	%"Q$,A
EC
FCqvv;##aff+"444BF{_```{`aaaBFc7::CDDDd8;;DEEE
4&'A66992Aqu9MMM6699R==d8;;DEEEe9<<EFFF
4$'(A66992Aqu9MMM6699bS>>f:==EFFF
7A66990!QsU9KKK6699,---r,   c                  t   dt         _        t        d      t        k(  sJ t        t              dk(  sJ t        t               t	        t         t
               k(  sJ t        d      j                  d      sJ t        d      j                  d      sJ t        t        dt        d	            j                  d
ddt        z        sJ t        d      j                  d      sJ t        d      j                  d      sJ t        t        dt        d	            j                  dddt        z        sJ y )Nr   r   r   y$=KF?v0Oi?r   yt9u?Wr   Tr   yn x;	»r[   r   r   y$=KF?v0Oir   yt9u?W?r   yn x;	;)
r   r   e1r#   rd   r   r   r   r$   r   r9   r,   r*   test_e1r   .  s   BFa5C<<c7a<<sd8sC4"~%%%c7::HIIId8;;KLLLd61D)*--.dnoyz{~y~-d8;;IJJJe9<<LMMMd7AT*+../eopz{|z.  A  A  Ar,   c                     dt         _        t        dd      t        k(  sJ t        dd      j	                  dt
        z        sJ t        dd      j	                  dt        d      z  dz        sJ t        dd      j	                  t        d             sJ t        dd      j	                  d      sJ t        dd      j	                  d      sJ t        d	d      j	                  d
      sJ t        dd      j	                  dt        t
              z        sJ t        dd      dk(  sJ t        dd      j	                  t
               sJ t        dd      j	                  d      sJ t        dd      j	                  d      sJ t        dd	t        z
        j	                  d      sJ t        dd      j	                  d      sJ t        dd      j	                  d      sJ t        dd      j	                  dt        d      z  t        d      z         sJ t        dd      dz  j	                  d      sJ t        dt              dk(  sJ t        dt              dk(  sJ t        dt              dk(  sJ t        dd       j	                  d!      sJ t        dd      j	                  d"      sJ t        dd      j	                  t        d       t        t        z  z
        sJ t        dd#      j	                  d$      sJ t        d%d      j	                  d&      sJ t        dd      j	                  d'      sJ t        dd      j	                  d(      sJ t        d)d      t        k(  sJ y )*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!	rl   g/ư>y>ʞư禜?y*oBu|?      )r   r   expintr#   r   r   rc   r   rr   r$   r   r9   r,   r*   test_expintr   :  s   BF!A;#!A;>>!A#!C=Ac#hJqL)))!A;>>2b6'"""!A;>>!!A;>>$!A;>>$"c?baj)))"R=A"R=QB#q>T"""*Q""#7888$qsQRRR&)$''(;<<<"C(++,EFFF!A;>>!BrF(3r7*+++2bM& $$%9:::!C=A#c?a&"""!B<??LMMM!A;>>1222!B<??BqE6"Q$;'''!C=JKKK'!	***!D>PQQQ"T?QRRR$q>S   r,   c                     dt         _        t        t        d      dz        j	                  d      sJ t        t        d      dz        j	                  d      sJ t        d      j	                  d      sJ t        d      j	                  d      sJ t        d	d
z        j	                  t        dz        sJ t        d	d
z        d	d
z  z  j	                  d      sJ t        d      t        d       k(  sJ t        d      j	                  t        d      t        t        z  z         sJ dt         _        t         j                  d      j	                  d      sJ t         j                  d      j	                  d      sJ t         j                  d      j	                  d      sJ t         j                  d      j	                  d      sJ t         j                  d      j	                  d      sJ t         j                  d      j	                  d      sJ t         j                  d      j	                  d      sJ t         j                  d      j	                  d      sJ t         j                  d       j	                  d!      sJ t         j                  d"      j	                  d#      sJ t         j                  d      j	                  d$      sJ t         j                  d      j	                  d%      sJ t         j                  d      j	                  d&      sJ t         j                  d      j	                  d'      sJ t         j                  d      j	                  d(      sJ t         j                  d      j	                  d)      sJ t         j                  d      j	                  d*      sJ t         j                  d      j	                  d+      sJ t         j                  d       j	                  d,      sJ t         j                  d"      j	                  d-      sJ t         j                  d.      j	                  d/      sJ t         j                  d0      j	                  d1      sJ t         j                  d2      j	                  d3      sJ t         j                  d4      j	                  d5      sJ t         j                  d6      j	                  d7      sJ t         j                  d8      j	                  d9      sJ t         j                  d:      j	                  d;      sJ t         j                  d<      j	                  d=      sJ t         j                  d>      j	                  d?      sJ t         j                  d@      j	                  dA      sJ t         j                  d.      j	                  dB      sJ t         j                  d0      j	                  dC      sJ t         j                  d2      j	                  dD      sJ t         j                  d4      j	                  dE      sJ t         j                  d6      j	                  dF      sJ t         j                  d8      j	                  dG      sJ t         j                  d:      j	                  dH      sJ t         j                  d<      j	                  d=      sJ t         j                  d>      j	                  d?      sJ t         j                  d@      j	                  dI      sJ dMdJ} t        j                  t        j                        dKk(  sJ  | t        j                  t        j                        t        j                  dLz        sJ  | t        j                  t        j                        t        j                  dz        sJ  | t        j                  t        j                        t        j                   dz        sJ t        j                  dK      dKk(  sJ  | t        j                  d      d      sJ  | t        j                  d      d      sJ  | t        j                  d      d      sJ  | t        j                  d      d      sJ  | t        j                  d      d      sJ  | t        j                  d      d      sJ  | t        j                  d      d      sJ  | t        j                  d      d      sJ  | t        j                  d       d!      sJ  | t        j                  d"      d#      sJ  | t        j                  d      d$      sJ  | t        j                  d      d%      sJ  | t        j                  d      d&      sJ  | t        j                  d      d'      sJ  | t        j                  d      d(      sJ  | t        j                  d      d)      sJ  | t        j                  d      d*      sJ  | t        j                  d      d+      sJ  | t        j                  d       d,      sJ  | t        j                  d"      d-      sJ  | t        j                  d.      d/      sJ  | t        j                  d0      d1      sJ  | t        j                  d2      d3      sJ  | t        j                  d4      d5      sJ  | t        j                  d6      d7      sJ  | t        j                  d8      d9      sJ  | t        j                  d:      d;      sJ  | t        j                  d<      d=      sJ  | t        j                  d>      d?      sJ  | t        j                  d@      dA      sJ  | t        j                  d.      dB      sJ  | t        j                  d0      dC      sJ  | t        j                  d2      dD      sJ  | t        j                  d4      dE      sJ  | t        j                  d6      dF      sJ  | t        j                  d8      dG      sJ  | t        j                  d:      dH      sJ  | t        j                  d<      d=      sJ  | t        j                  d>      d?      sJ  | t        j                  d@      dI      sJ y )NNrk   r   rl   z&0.000000999999999999944444444444446111z -13.2382948930629912435014366276r   z$1.5707963267075846569685111517747537z$-4.87506025174822653785729773959e-11r   r   r
   z!-0.372376123661276688262086695553r	   r   r   r0   gdswy      I@       @yRװђA?y              4@yJmhA(-DT!?y             4@y*mbN9<gAy      I       @yRװђ172@rj   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?c                 <    t        | |z
        t        |      |z  k  S )N)abs)r   ytols      r*   r   ztest_trig_integrals.<locals>.ae  s    1Q3x3q6#:%%r,   r                 ?)g-q=)r   r   r   r&   r   r   r   r$   r   r   fpr#   ninf)r   s    r*   test_trig_integralsr   Z  s	   BFc!fWn  !IJJJc!fWn  !CDDDf:==?@@@f:==?@@@b#g;>>"Q$r3wKC##$GHHHb6beVb699RURT\"""BF559<<122255<??LMMM55:==BCCC55=KLLL55=IJJJ55:==FGGG55=IJJJ55=KLLL55;>>CDDD55<??LMMM559<<-...55<??EFFF55:==122255=MNNN55=GHHH55:==/00055=GHHH55=MNNN55;>>344455<??EFFF66#;>>GHHH66&>JKKK66#;>>CDDD66&>NOOO66&>JKKK66$<??HIII66%=HIII66%=MNNN66":==011166%=HIII66#;>>011166&>GHHH66#;>>233366&>MNNN66&>GHHH66$<??233366%=GHHH66%=MNNN66":==011166%=GHHH&55=AbeeBGGnbeeBh'''beeBFFmRUU1W%%%beeBGGnruufQh'''558q==beeBi2333beeElMNNNbeeCjCDDDbeeFmLMMMbeeFmJKKKbeeCjGHHHbeeFmJKKKbeeFmLMMMbeeDkDEEEbeeElMNNNbeeBi.///beeElFGGGbeeCj2333beeFmNOOObeeFmHIIIbeeCj0111beeFmHIIIbeeFmNOOObeeDk4555beeElFGGGbffSkHIIIbffVnKLLLbffSkDEEEbffVnOPPPbffVnKLLLbffTlIJJJbffUmIJJJbffUmNOOObffRj1222bffUmIJJJbffSk1222bffVnHIIIbffSk3444bffVnNOOObffVnHIIIbffTl3444bffUmHIIIbffUmNOOObffRj1222bffUmHIIIr,   c                     dt         _        t        d      dz  j                  d      sJ t	        d      dz  j                  d      sJ t        d      ddz  z  j                  d	      sJ t	        d      dd
z  z  j                  d      sJ t        d      j                  d      sJ t	        d      j                  d      sJ t        d      ddz  z  j                  d      sJ t	        d      ddz  z  j                  d      sJ y )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   r9   r,   r*   	test_airyr     s   BF2Jv!!"45552Ju  !45554LT!%%&:;;;4LT!%%&;<<<%=3444%=45558RW$(()VWWW8RW$(()WXXXr,   c                     dt         _        d} t        g dgd      j                  |       sJ t        g dgd      j                  |       sJ t	        dd      j                  |       sJ t	        dd      j                  |       sJ t	        dd      j                  d      sJ t	        dd	      j                  d
      sJ y )Nr   gj	ך9G!@rO   r   r   r   g    eAz4.9679055380347771271e+27455y            eAz=-2.1222788784457702157e+19410 + 5.0840597555401854116e+19410j)r   r   rb   r   r\   re   s    r*   test_hyper_0f1r     s    BFAUGC ##A&&&TF3""1%%%$sq!!!%"""!C=:;;;!D>\]]]r,   c                     dt         _        d} t        dgdgd      j                  |       sJ t        dgdgd      j                  |       sJ t        dgdgd      j                  |       sJ t        dgdgd      j                  |       sJ t        dgdgd      j                  |       sJ t        dgdgd      j                  |       sJ t        dgd	gd      j                  |       sJ t        d
gdgd      j                  |       sJ t        d
gd	gd      j                  |       sJ t	        ddd      j                  |       sJ t	        ddd      j                  |       sJ t	        ddd      j                  d      sJ t	        ddd      dz  j                  d      sJ t	        ddd      j                  d      sJ t	        dt        dd      d      j                  d      sJ y )Nr   g[V?rU   rY   r   yffffff?        r   r         ?              ?        r
   r   g    _Bz!2.1555012157015796988e+4342944809y            _Br   y!xL3\F#r   r   '  iar   y(\?KoQyTO9@#y/@)r   r   rb   r   r]   ru   re   s    r*   test_hyper_1f1r     s   BFA%%%((+++%%(++A...#ws#&&q)))#uS!$$Q'''#wv&))!,,,#uV$''***%&#&))!,,,&3%$''***&6(6*--a000#c#!!!$$$%C ##A&&&!AdBCCC1Quf$(()YZZZ"a""8,,,"Xa]=1445cdddr,   c                  b   dt         _        d} t        ddgdgd      j                  |       sJ t        ddgdgd      j                  |       sJ t        ddgd	gd      j                  |       sJ t        ddgd	gd
      j                  |       sJ t        ddgd	gd
      j                  |       sJ t        ddgd	gd      j                  |       sJ t        ddgdgd      j                  |       sJ t        ddgdgd
      j                  |       sJ d} t        ddt        z   gdgd      j                  |       sJ t        ddt        z   gd	gd      j                  |       sJ t        ddt        z   gd	gd      j                  |       sJ t        ddt        z   gdgd      j                  |       sJ d} t        ddgdgdt        dz  z         j                  |       sJ t        ddgdgdt        dz  z         j                  |       sJ t        ddgdgdt        dz  z         j                  |       sJ t        ddgdgdt        dz  z         j                  |       sJ d} t        ddgdgd      j                  |       sJ t        ddgdgd      j                  |       sJ t        ddgdgd      j                  |       sJ d } t        ddgdgd!      j                  |       sJ t        ddgdgd!      j                  |       sJ t        ddgdgd!      j                  |       sJ y )"Nr   g[$?rU   rV   r
   333333?      ?r   g       @y333333?        r          @        y      ?        yO@z?r(,?y?      rY   r   r   皙?r   r               @        r                 y+xV?;CF )r
   r   r   r   )r   r   g?y?        y}?F"?y      @       @)r   r   rb   r   r$   re   s    r*   test_hyper_2f1r     sV   BFA%!c*--a000%S),,Q///#tseS),,Q///#tseV,//222&%3%033A666&%3%-00333#ux-00333&'"VHf588;;;8A%Q!c*--a000#d1fuc*--a000#d1fuf-00333#d1fx033A666A%QCQqS),,Q///#dQCQqS),,Q///#dTFC!G,//222&!4&#ac'255a8888A&&#.11!444#fvhs+..q111#fvhv.11!4448A&&$/221555#fvht,//222#fvht,//222r,   c                     dt         _        t        dddd      j                  d      sJ t        ddddd      j                  d      sJ t        dd	d	d      j                  d
      sJ t        dd	d	dd      j                  d      sJ t        dd	dd      dk(  sJ t        ddd	d      t        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k(  sJ t        dddd      dk(  sJ t        t        dddd            sJ t        dddd      j                  d      sJ t        ddddd      j                  ddt        z  z         sJ t        dddd      j                  d      sJ t        ddddd      j                  d      sJ t        dd	dd      dk(  sJ t        dddd      t        k(  sJ t        d	d	dd      dk(  sJ t        dd	dd      j                  d      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k(  sJ t        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(  sJ t        d!d"d#d      dk(  sJ t        d!dd	d      j                  d$      sJ t        dd"d#d      t        k(  sJ t        dd%d#d      t         k(  sJ t        t        t        z  dz        } t        dd      dz   t        t        t        z  d&z        z  t        dd      dz  z  }t        d'd(d)|       j                  |      sJ t        d'd(d)| j                               j                  |j                               sJ t        dd*dd+      j                  d,      sJ t        dd*dd-      j                  d.      sJ t        dd*dd      j                  d/      sJ t        dd*dt              j                  d0      sJ t        ddd1d2      j                  d3      sJ t        d4d"dd2      j                  d5      sJ t        ddd1d6      j                  d7      sJ t        t        dd      D cg c]#  }t        d8d9d:d;t        t        |z        z        % c}      j                  d<      sJ t        t        dd      D cg c]#  }t        d8d9d:d=t        t        |z        z        % c}      j                  d>      sJ t        t        dd      D cg c]   }t        d8d9d:t        t        |z              " c}      j                  d?      sJ t        dd@dAdB      j                  dC      sJ t        ddddD      j                  dE      sJ t        ddddF      j                  dG      sJ t        ddddH      j                  dI      sJ t        dddd      j                  dJ      sJ t        dddd      j                  dK      sJ t        dLdMdNdO      j                  dPdt        dQz  R      sJ y c c}w c c}w c c}w )SNr   r
   r   r      T)eliminate_allr   r   "   r	      r   r   r   y      ?      ?y??F)	eliminateg     `?g     @?gx&?r   g%α?g]?r   r   rR   r   g?gr   g      gr      z1/2z1/61/3rO   z0.999gQՂ?z1.001yH?1-.MVgN~?yɸa?>eV?r   z0.99gv;@rY   gV?r   yN?Q{?)r   r   rP   r   r
   ffffff?ylJ@ۢ%@g?yIK@K@J> 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   r_   r   r#   rx   r$   rc   r   nthroot	conjugatefsumr(   r   )r   wks      r*   test_hyper_2f1_hardr     sl   BF!Br!"""!Br!$/224888!Br!###!Br!$/224888!Br!"""!Br!###!Da D(((!Aa?a!Aa?a!Aa?a!Aa!!!!Br:&))(333!Br:7::8hqj;PQQQ&"b#&))'222&"b#7::;PQQQ"R!###!Abs""""R!!!!!Br!%%%!Br!!!!!Br!!!!!Aa?a!AaE*a///!Aa?c!!!!Br!###$tD#q((($r"Q""4(((!Dq!S(((!Ca SD(((AbDFA	1aQrT"W%galAo5A%eQ'**1---%eQ[[]366q{{}EEE$q'*--.ABBB$q'*--.\]]]$q"%(()?@@@$q!$''(VWWW!Aa""#8999%Qv&))*@AAA!AaMNNNU1R[QuVT#ac(];QRUU  WB  C  C  CU1R[QuVT#ac(];QRUU  WB  C  C  CaL1uVS1X6LMPPQ|}}}!Ce$''(FGGG!Aa  !MNNN!Aa	"%%&RSSS!Aa  !OPPP!Aa?OPPP!Aa5666 #w2556PZ[ehikek5lll RQLs   :(Y(Y %Yc                     t        g dddgd      j                  d      sJ t        g dg dd      j                  d      sJ t        g dd	d
gd      j                  d      sJ t        g dg dd
      j                  d      sJ t        g dg dd      j                  d      sJ t        g dg dd      j                  d      sJ t        g dg dd
      j                  d      sJ t        g dg dd
      j                  d      sJ t        g dddgd      t        k(  sJ t        g dddgd      j                  d      sJ y )N)r   r
   r   r   r[   r   gLEy?)r   r
   r   r   )r   rR   r   g_g?      ?r   r   g%<@y@CN?mr)r   r
   r   r   r   )rR   r   r[   	   g?g-?yFo?K:ZI)r   gRQ@gp=
ף@g{Gz@)g@gffffff@g333333@ys?+e)r   r   r   r
   )e   r   g	Y@)rb   r   r#   r9   r,   r*   test_hyper_3f2_etcr   B  s8   #a$''(>???7B'**+ABBB$q1%(()>???71%(()UVVVYr*--.DEEEYq),,-BCCCYq),,-[\\\#M!4778deee!Aq!S(((!Iq),,-BCCCr,   c                  B   dt         _        t        ddd      j                  d      sJ t        ddd      j                  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(  sJ t        d	dd      dk(  sJ t        ddd      j                  d      sJ t        ddd      j                  d      sJ t        ddd      j                  d      sJ t        ddd      dk(  sJ t        ddd      dk(  sJ t        ddd      j                  dt        d      z        sJ t        ddt              j                  d      sJ t        ddd       d!z  j                  d"      sJ t        d#d$d%      d&z  j                  d'      sJ y )(Nr   r
   r	   r   g?      g[R֯?r   r   r   ir   r   r   gDo7>#?r   gQ2=?r   gMb?      ?   r   y      ?      ?y            ?r   g      @   rR   g?rY   r[   y      Y@      i@r   yiMؿcf)r   r
   r   xr   y       yk9)r   r   hyperur   r#   rr   r   r9   r,   r*   test_hyper_ur   P  s   BF!Bq>T"""!Du%%%!Aa=C"Qq>T!!!"Qq>S   "R?a!Aa=5666!Bq>4555!Aa=F###!Af$$$"Qy!Z///#c$""1T"X:...!Ab>344458$U*../^___5&v-112IJJJr,   c                  0   dt         _        t        ddgg d      t        ddd      k(  sJ t        ddd      j	                  d      sJ t        ddd      dk(  sJ t        ddd      dk(  sJ t        ddd      j	                  d      sJ t        d	dd
      j	                  d      sJ t        d	dd      j	                  d      sJ t        d	dd      j	                  d      sJ t        ddd      j	                  d      sJ t        ddd      j	                  d      sJ t        ddd      j	                  d      sJ t        dddd      dk(  sJ t        dddd      dk(  sJ dD ]+  } | t         _        t        d
dd      j	                  d       r+J  y )!Nr   r   r
   r   r   yehǇ?[2222~r   r   r   r   g     @O@r0   i)g-C6?gd?r   r   gMbP?g\1 ?r   y)`?0?)r   rR   rQ   gWuJIgٍ=,?r   y      ?      ?   zeroprec)r   r0   rW   g;On?z1.006867007239309717945323585695344927904000945829843527398772456281301440034218290443367270629519483 + 1.238277162240704919639384945859073461954721356062919829456053965502443570466701567100438048602352623e-46j)r   r   rb   hyp2f0r   )ds    r*   test_hyper_2f0r   f  s   BF!Ar!q1---!Aa=PQQQ!Aa=A!Aa=A"R?a   "Qst$$$"Qr?i((("Qv!!"8999#d5!$$%:;;;#d4 ##$TUUU%5699:NOOO"Qx-222!Bx-222 @c3&))  +  @  	@  @@r,   c                  B   dt         _        t        dgddgd      t        dddd      k(  sJ d\  } }}t        | ||d      j	                  d      sJ t        | ||d	      j	                  d
      sJ t        | ||d      j	                  d      sJ t        | ||d      j	                  d      sJ t        | ||d      j	                  d      sJ t        | ||d      j	                  d      sJ t        | ||d      j	                  d      sJ t        | ||d      j	                  d      sJ t        | ||d      j	                  d      sJ t        | ||dt
        z        j	                  d      sJ t        | ||d	t
        z        j	                  d      sJ t        | ||dt
        z        j	                  d      sJ t        | ||dt
        z        j	                  d      sJ t        | ||dt
        z        j	                  d      sJ t        | ||dt
        z        j	                  d      sJ t        | ||dt
        z        j	                  d      sJ t        | ||dt
        z        j	                  d       sJ t        | ||dt
        z        j	                  d!      sJ y )"Nr   r   r
   r   r   )r   r   rP   r   r   gԢr@r   g߷Ar   guT>*Er   gcQr   ga&j۪xrl   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   rb   r^   r   r$   )a1b1b2s      r*   test_hyper_1f2r  |  s   BF!aU1!Aa000!HBr""R2!!"6777"R3""#8999"R4 ##$=>>>"R5!$$%>???"R6"%%&@AAA"R7#&&'CDDD"R5!$$%BCCC"R5!$$%BCCC"R6"%%&IJJJ"R2a4 ##$STTT"R3q5!$$%STTT"R46"%%&TUUU"R57#&&'^___"R6!8$''(`aaa"R719%(()cddd"R57#&&'deee"R57#&&'cddd"R6!8$''(qrrrr,   c            	      R   dt         _        t        ddgg dd      t        dddddd      k(  sJ d	\  } }}}}t        | ||||d
      j	                  d      sJ t        | ||||d      j	                  d      sJ t        | ||||d      j	                  d      sJ t        | ||||d      j	                  d      sJ t        | ||||d      j	                  d      sJ t        | ||||d      j	                  d      sJ t        | ||||d      j	                  d      sJ t        | ||||d      j	                  d      sJ t        | ||||d
t
        z        j	                  d      sJ t        | ||||dt
        z        j	                  d      sJ t        | ||||dt
        z        j	                  d      sJ t        | ||||dt
        z        j	                  d      sJ t        | ||||dt
        z        j	                  d      sJ t        | ||||dt
        z        j	                  d       sJ t        | ||||dt
        z        j	                  d!      sJ t        | ||||dt
        z        j	                  d"      sJ t        | ||||dt
        z        j	                  d#      sJ y )$Nr   r   r
   )r   r   r   rR   r   r   r   )r   rP   r   r
   r   r   gJo!m`@r   gb3lKEr   g)&uLQr   g>dxrl   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   rb   ra   r   r$   )r   a2r  r  b3s        r*   test_hyper_2f3r    s   BF!Awq!VAa!Aa%88882NBr"R"R2b$''(=>>>"R2b&))*BCCC"R2b'**+CDDD"R2b(++,EFFF"R2b'**+FGGG"R2b'**+GHHH"R2b'**+GHHH"R2b(++,OPPP"R2bA&))*YZZZ"R2bQ'**+YZZZ"R2ba(++,Z[[["R2bq),,-deee"R2b*--.fggg"R2b+../ijjj"R2bq),,-jkkk"R2bq),,-jkkk"R2b*--.wxxxr,   c                  n   dt         _        t        ddgddgd      t        ddddd      k(  sJ d\  } }}}t        | |||d      j	                  d	      sJ t        | |||d
      j	                  d      sJ t        | |||d      j	                  d      sJ t        | |||d      j	                  d      sJ y )Nr   r   r
   r   r   r   )r   r   rU   r   r   g(wVbAr   z1.2012553712966636711e+4358igir   z+1.1148680024303263661e+43429448190325182840)r   r   rb   r`   r   )r   r  r  r  s       r*   test_hyper_2f2r	    s    BF!A!uQ6!Aa!#4444&KBr"R"R2b!$$%9:::"R2e$''(EFFF"R2f%(()@AAA"R2f%(()VWWWr,   c                     dt         _        t        dddd      j                  d      sJ t        dddd      d	k(  sJ t        d
ddd      j                  d      sJ t        dddd      j                  d      sJ t        dddd      j                  d      sJ t	        dd      dk(  sJ t	        dd      j                  d      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(  sJ t	        dd      dk(  sJ t	        dd
      j                  d      sJ t	        t
        t
               j                  d      sJ t        dd      dk(  sJ t        dd      dk(  sJ t	        dd      t        k(  sJ t	        dd      t         k(  sJ t	        d d      t        t        t              k(  sJ t	        d!d      t        t         t               k(  sJ t        ddd      j                  d"      sJ t        ddt
        z   d      j                  d#      sJ y )$Nr   r   r
   r   r   g¹ @r   r   g     %@r   g?r   gVj+\r   r   g{GzĿr   r   g     LA@r   r   iW r   gZb`B?r[   g   `{}@y@/#,?rR   r   r         @y      @      ?y      @      ?g      yUUUUUU?UUUUUU@)r   r   jacobir   legendrer$   chebyuchebytr#   rd   laguerrer9   r,   r*   test_orthpolyr    sJ   BF"Qq  ---!Aa(((#d1Q""#9:::"aA!!%(((!Ra ##H---Aq>V###C?4555Br?aAb>QAq>QAr?b   Aq>QAr?b   Ac?o...Aqb>KLLL!A;!!A;"Cs"""Ct###F2#c#,...F2#sdC4.000Ar1  (((AqsC ##$RSSSr,   c                  z   dt         _        t        dd      j                  d      sJ t        dd      j                  d      sJ t        dd      j                  d      sJ t        dd      dk(  sJ t        dd      j                  d      sJ t        dd      j                  d      sJ t        dd      j                  d	      sJ t        dd      j                  d
      sJ t        dd      j                  d      sJ t        dd      j                  d      sJ t        dd      dk(  sJ t        d	d	      j                  d      sJ t        dd	      j                  d      sJ t        d
d	      j                  d      sJ t        dd	      j                  d      sJ t        dd      j                  d      sJ t        dd      j                  d      sJ t        dd      j                  d      sJ t        dd      j                  d      sJ t        dd      j                  d      sJ t        dd      j                  d      sJ t        d d      j                  d!      sJ t        d d      j                  d"      sJ t        d d      j                  d#dt        $      sJ t        d d      j                  d%      sJ t        d d      j                  d&dt        $      sJ t        d d      j                  d'dt        $      sJ t        d(dt
        z
        j                  d)      sJ y )*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$   r9   r,   r*   test_hermiter    s	   BF2q>S!!!2q>34441a=A1a=A1a=B1a=A1a=A1b>R   1b>R   3?45551a=A1Q<??4   1Q<??32a=56662a=45551dy)))1e
+++1c?34441d56661d56661e 78884!!"WXXX4""#XYYY4  !:As SSS4!!">???4!!"Ycdnq!rrr4""#Zdeor"sss4A!!"OPPPr,   c                  P   dt         _        t        ddd      j                  d      sJ t        ddd      j                  d      sJ t        ddd      dk(  sJ t        dd	d      dk(  sJ t        d
dd      j                  d      sJ t        ddd      j                  d      sJ t        ddd      j                  d      sJ t        ddd      j                  d      sJ t        ddd      j                  d      sJ t        ddt        z
  d      j                  d      sJ y )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$   r9   r,   r*   test_gegenbauerr    s%   BFa!###a!$$$a!!!!a1"""b#q!$$T***aq!$$R(((aq!$$R(((aq!$$R(((dD!$''(>???dAaC&))*XYYYr,   c                  R   dt         _        t        ddd      t        dd      k(  sJ t        ddd      j	                  d      sJ t        dddd	
      j	                  d      sJ t        ddd      j	                  d      sJ t        dt
        z   dt
               j	                  d      sJ t        dt
        z   dt
         d	
      j	                  d      sJ t        ddd	      j	                  d      sJ t        ddd	d	
      j	                  d      sJ t        ddd      j	                  d      sJ t        dddd	
      j	                  d      sJ t        d	dd	      j	                  d      sJ t        d	d	d	      j	                  d      sJ t        d	dd	      j	                  d      sJ t        ddd      j	                  d      sJ t        ddd      j	                  d      sJ t        ddd      j	                  d      sJ t        ddd      j	                  d      sJ y )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$   r9   r,   r*   test_legenpr    s   BF!Aa=HQqM)))"b#!!"8999"b#A&))*ABBB"a  !8999!A#taR ##$RSSS!A#taRa(++,Z[[[!Aa=A!AaQ""1%%%!Ac?4555!Acq!$$%;<<<!Aa=D!!!!Aa=K(((!Aa=A!C?NOOO"T! PQQQ"SMNNN"S!!"9:::r,   c                     dt         _        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            sJ  | dddd      j	                  d      sJ  | ddddd	
      j	                  d      sJ  | dddd      j	                  d      sJ  | dddd      j	                  t
              sJ  | ddddd	
      j	                  d      sJ  | dddd      j	                  d      sJ  | ddd      j	                  d      sJ  | ddd      j	                  d      sJ  | dddd	      j	                  d      sJ  | ddd      j	                  d      sJ  | ddd      j	                  d      sJ  | dddd      j	                  d      sJ  | dddd      j	                  d      sJ  | dddd      j	                  d      sJ  | dddd      j	                  d      sJ  | dddd      j	                  d      sJ  | ddd      j	                  d      sJ  | ddd      j	                  d      sJ  | ddd      j	                  d      sJ  | ddd      j	                  d      sJ  | ddd      j	                  d      sJ  | ddd      j	                  d      sJ  | ddd      j	                  d      sJ  | dddd	      j	                  d      sJ  | ddd      j	                  d      sJ  | ddd      j	                  d       sJ  | dddd      j	                  d!      sJ  | dddd      j	                  d"      sJ  | dddd      j	                  d#      sJ  | dddd      j	                  d$      sJ  | dddd      j	                  d!      sJ  | dddd      j	                  d%      sJ  | dddd      j	                  d#      sJ  | dddd      j	                  d$      sJ  | d&d'dd      j	                  d(      sJ  | d&d'dd      j	                  d)      sJ  | d*dd      j	                  d+      sJ  | d*dd      j	                  d,      sJ  | d*dd      j	                  d-      sJ  | d*dd      j	                  d.      sJ  | d*dd      j	                  d/      sJ  | d*ddd      j	                  d0      sJ  | d*ddd      j	                  d1      sJ  | d*ddd      j	                  d2      sJ  | d*ddd      j	                  d3      sJ  | d*ddd      j	                  d4      sJ y )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   legenqrx   r   r$   )fs    r*   test_legenqr!    s   BFA1Qq??1Qr1Qqa!!!1Qrq!"""Qq?b!!!R!C(++A...S1! 6777Qq?a   R!C(++A...S1! <===Qq;>>IJJJQq;>>1222QqC ##A&&&Qq:==/000Qq:==GHHHQq1  !8999Qq1  !PQQQQq?5666Qq! NOOOQq! 6777Qq;>>HIIIQq;>>1222Qq8;;r??Qq:==0111Qq:==GHHHQq;>>IJJJQq;>>0111QqC ##A&&&Qq:==0111Qq:==GHHHQq! 7888Qq! 6777Qq! 6777Qq! 7888Qq1  !8999Qq1  !6777Qq1  !7888Qq1  !8999T41%(()]^^^T4A&))*\]]]T!D>3444T!D>2333T!A;>>/000T!C=3444T!C=KLLLT!Da ##$;<<<T!Da ##$STTTT!A1  !OPPPT!CQ""#QRRRT!CQ""#:;;;r,   c                  R   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(  sJ dt        dt	        d            z  j                  d      sJ t        dd      j                  d      sJ t        dd      j                  d	      sJ t        dt              j                  d
      sJ t        d      t        dd      k(  sJ t        dd      j                  d      sJ y )Nr   r   r   r   r
   gDSYC?g=O?r   gN_?rn   r	   r   yk7WO?>I?)r   r   agmr$   rr   r   r9   r,   r*   test_agmr$  K  s   BFq8q==q8q==q8q==q8q==q8q==c!DGn  !5666q8;;,---q8;;,---q8;;ABBBq6S1Xr!9<<?@@@r,   c                     dt         _        t        dd      j                  dt	        d      z        sJ t        ddd      j                  ddt	        d      z  z
        sJ t        ddd      j                  d	t	        d      z  d
t	        d      z  z         sJ t        dd      j                  d      sJ t        ddd
      j                  d      sJ t        dd      j                  d      sJ t        ddt
        z   dt
        z
        j                  d      sJ t        ddt
        z
        j                  d      sJ t        dd
dd      j                  d      sJ t        ddt              j                  t        d            sJ t        dd      j                  d      sJ t        dd      j                  d      sJ t        dd      j                  d      sJ t        dd      j                  d      sJ t        ddd      t        k(  sJ t        dd       j                  d!      sJ t        ddd      dk(  sJ t        ddt
        z   dt
        z
        j                  d"      sJ t        d#d      j                  d$      sJ t        d%d%      j                  d&      sJ t        d'd%      j                  d(      sJ t        dd%      j                  d)      sJ t        d*d%      j                  d+      sJ t        t        ddd,            sJ t        d%dd,      t        k(  sJ t        ddd,      dk(  sJ t        ddd,      dk(  sJ t        dd-d,      dk(  sJ t        dd.d,      dk(  sJ t        dd/d,      dk(  sJ t        d%dd,      dk(  sJ t        d%d.d,      dk(  sJ t        d%d/d,      dk(  sJ t        d%dd,      dk(  sJ t        d%d0d,      dk(  sJ t        d%d1d,      dk(  sJ t        d%d2d,      dk(  sJ t        ddd,      j                  t	        d            sJ t        dd.d,      j                  t	        d0            sJ t        dd/d,      j                  t	        d1            sJ t        dd2d,      j                  t	        d3            sJ t        d4d      j                  d5dd6t        z  7      sJ t        d4dd,      dk(  sJ t        d4d2      j                  d8dd6t        z  7      sJ t        d4d2d,      dk(  sJ t        d-d9d,      j                  d:      sJ t        d;d;d,      j                  d<      sJ t        dd
d      t        ddd
       k(  sJ t        d
dd      j                  d=      sJ t        d
ddd,      j                  d>      sJ t        ddd      j                  d?      sJ t        dddd,      dk(  sJ t        d%dd      j                  d@      sJ t        d%ddd,      dk(  sJ t        ddd      j                  d?      sJ t        dddd,      dk(  sJ t        ddAdB      j                  dCdd6t        z  7      sJ t        dAdd      j                  dD      sJ t        ddE      dk(  sJ t        ddF      dk(  sJ t        dd%      dk(  sJ t        ddG      dk(  sJ t        dHd%      dk(  sJ y )INr   r
   r   rR   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   rm   z1.3669297209397347754e-301037r[   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   rc   r$   r#   rq   rx   r   r9   r,   r*   test_gammaincr+  Y  s   BFAa=Ac"gI&&&Aa?a#b'	k***Aa?bRj3r72333D!!"OPPPAa?5666Aa=3444Aac!A#!!"PQQQAac?LMMMAa$""#9:::C#!!%*---F3""#?@@@F3""#?@@@D% ##$QRRRD&!$$%TUUUAa?c!!!A?3444Aa?aAac!A#!!":;;;D4555Br?MNNNBr?LMMMBr?MNNNBr?NOOO!QD1222Bt,333Aqd+q000Aqd+q000At.!333At.!333Av40A555Bt,111B$/1444BD1Q666B-222B40A555BT2a777B$/1444Aqd+..s2w777At.11#e*===Av4033CLAAAAt.11#e*===HQ""#BAWXY\W\"]]]HQ40A555HT"%%&fpq{|  ~A  |A%  B  B  BHTd3q888D$D1445efffE5d3667ghhhAa?x!A....Aq! 5666Aq!.112HIIIAq! 7888Aq!.!333B1  !8999B1$/1444Aq! 7888Aq!.!333Aue$''(EqZ[\_Z_'```E1a ##$@AAAAe!!!Ae!!!Ab>QAe!!!D!!!r,   c                  (   dt         _        t        dd      j                  d      sJ t        dd      j                  d      sJ t        dd      j                  d      sJ t        d	d      j                  d
      sJ t        dd      j                  d      sJ t        dd      j                  d      sJ t        dd      j                  d      sJ t        dd      j                  d      sJ t        dd      j                  d      sJ t        dd      j                  d      sJ t        d	d      j                  d      sJ t        dd      j                  d      sJ t        dd      j                  d      sJ t        dd      j                  d      sJ t        dd      j                  dd	dt        z        sJ t        dd      j                  dd	dt        z        sJ t        dd      j                  dd	dt        z        sJ t        d	d      j                  dd	dt        z        sJ t        dd      j                  d d	dt        z        sJ t        dd      j                  d!d	dt        z        sJ t        dd      j                  d"d	dt        z        sJ t        dd#      j                  d$      sJ t        dd#      j                  d%      sJ t        dd#      j                  d&      sJ t        d	d#      j                  d'      sJ t        dd#      } | j                  d(      sJ | j
                  j                  d)      sJ t        dd#      } | j                  d*      sJ | j
                  j                  d+      sJ t        dd#      } | j                  d,      sJ | j
                  j                  d-      sJ t        dd.      j                  d/d	dt        z        sJ t        dd.      j                  d/d	dt        z        sJ t        dd.      j                  d/d	dt        z        sJ t        d	d.      j                  d/d	dt        z        sJ t        dd.      j                  d/d	dt        z        sJ t        dd.      j                  d/d	dt        z        sJ t        dd.      j                  d/d	dt        z        sJ t        dd0      j                  d1      sJ t        dd0      j                  d1      sJ t        dd0      j                  d1      sJ t        d	d0      j                  d1      sJ t        dd0      } | j                  d1      sJ | j
                  j                  d)      sJ t        dd0      } | j
                  j                  d2      sJ | j                  d1      sJ t        dd0      } | j
                  j                  d3      sJ | j                  d1      sJ t        dd      j                  d4      sJ t        dd      j                  d5      sJ t        dd      j                  d6      sJ t        d	d      j                  d      sJ t        dd      j                  d7      sJ t        dd      j                  d8      sJ t        dd      j                  d9      sJ t        dd      j                  d:      sJ t        dd      j                  d;      sJ t        dd      j                  d<      sJ t        d	d      j                  d      sJ t        dd      j                  d=      sJ t        dd      j                  d>      sJ t        dd      j                  d?      sJ t        dd      j                  d@d	dt        z        sJ t        dd      j                  dAd	dt        z        sJ t        dd      j                  dBd	dt        z        sJ t        d	d      j                  d d	dt        z        sJ t        dd      j                  dCd	dt        z        sJ t        dd      j                  dDd	dt        z        sJ t        dd      j                  dEd	dt        z        sJ t        dd#      } | j                  dF      sJ | j
                  j                  dG      sJ t        dd#      } | j                  dH      sJ | j
                  j                  dI      sJ t        dd#      } | j                  dJ      sJ | j
                  j                  dK      sJ t        d	d#      } | j                  d(      sJ | j
                  j                  d)      sJ t        dd#      } | j                  dL      sJ | j
                  d	k(  sJ t        dd#      } | j                  dM      sJ | j
                  d	k(  sJ t        dd#      } | j                  dN      sJ | j
                  d	k(  sJ t        dd.      j                  dOd	dt        z        sJ t        dd.      j                  dPd	dt        z        sJ t        dd.      j                  dQd	dt        z        sJ t        d	d.      j                  d/d	dt        z        sJ t        dd.      j                  dRd	dt        z        sJ t        dd.      j                  dSd	dt        z        sJ t        dd.      j                  dTd	dt        z        sJ t        dd0      } | j                  dU      sJ | j
                  j                  dG      sJ t        dd0      } | j                  dV      sJ | j
                  j                  dI      sJ t        dd0      } | j                  dW      sJ | j
                  j                  dK      sJ t        d	d0      } | j                  d1      sJ | j
                  j                  d)      sJ t        dd0      j                  dX      sJ t        dd0      j                  dY      sJ t        dd0      j                  dZ      sJ y )[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r[   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   rw   r*  )r   s    r*   test_gammainc_expint_nr-    s`    BF"S>4555"S>4555"S>4555!C=4555!C=4555!C=4555!C=4555"T?4555"T?4555"T?4555!D>3444!D>LMMM!D>KLLL!D>LMMM"S>7AcERRR"S>7AcERRR"S>7AcERRR!C=61S5QQQ!C=61S5QQQ!C=61S5QQQ!C=61S5QQQ"T?9:::"T?9:::"T?9:::!D>8999qA44+,,,6699+,,,qA44+,,,6699+,,,qA44+,,,6699+,,,"-.112cmnxyz}x}1~~~"-.112cmnxyz}x}1~~~"-.112cmnxyz}x}1~~~!,-001blmwxy|w|0}}}!,-001blmwxy|w|0}}}!,-001blmwxy|w|0}}}!,-001blmwxy|w|0}}}"./223efff"./223efff"./223efff!-.112deeeq*+A44BCCC6699+,,,q*+A6699/00044BCCCq*+A6699/00044BCCCBs8999Bs8999Bs7888Ac?6777Ac?4555Ac?4555Ac?4555Bt PQQQBt PQQQBt NOOOAdNOOOAd4555Ad5666Ad4555Bs91aPSeTTTBs8!QsUSSSBs8!QsUSSSAc?8!QsUSSSAc?8!QsUSSSAc?7AcERRRAc?8!QsUSSSDA44*+++6699+,,,DA44+,,,6699+,,,DA44*+++6699*+++4A44+,,,6699+,,,4A44*+++66Q;;4A44+,,,66Q;;4A44*+++66Q;;B/0334eopz{|z3  A  A  AB/0334eopz{|z3  A  A  AB/0334eopz{|z3  A  A  AA./223dnoyz{~y~2A./223aklvwx{v{2|||A./223cmnxyz}x}2~~~A./223dnoyz{~y~2-.A44ABBB6699+,,,-.A44BCCC6699+,,,-.A44ABBB6699*+++,-A44BCCC6699+,,,A/0334efffA/0334fgggA/0334efffr,   c                      dt         _        t        dddd      j                  d      sJ t        ddd	d
      j                  d      sJ t        dddd
      j                  d      sJ y )Nr   r   r	   r   r   gO@r  y      ?       @r   rR   y	?f,?r   r   r   gX|W'@)r   r   betaincr   r9   r,   r*   test_incomplete_betar0  $  si    BF2bT"%%&?@@@3vc!$''(bccc1Qq9:::r,   c                     dt         _        t        d      dk(  sJ t        d      j                  d      sJ t        d      j                  d      sJ t        d      j                  d      sJ t        t              j                  d	      sJ t        d
      j                  d      sJ t        d      j                  d      sJ t        t        d      t              sJ t        t        d      t              sJ t        t        d      t              sJ t        t        d      t              sJ t        t              dk(  sJ t        t               dk(  sJ t        d      dk(  sJ t        dt        z        j                  d      sJ t        t              t        k(  sJ t        t               t         k(  sJ t        d      t        d      k(  sJ t        d      t        d      k(  sJ t        d      j                  dt        d      z
        sJ t        d      dk(  sJ t        d      j                  dt        d      z
        sJ t        d      j                  dt        d      z
        sJ t        dt        z        j                  dt        dt        z        z
        sJ t        d      dk(  sJ t        d      dk(  sJ t        t               dk(  sJ t        t              dk(  sJ t        t        t                    sJ t        d      t        d      dz  z  j                  d      sJ t        d      j                  d      sJ t        d      j                  d      sJ t        d      j                  d      sJ dt         _        t        d      dd z  z  j                  d!      sJ t        d      dd"z  z  j                  d#      sJ dt         _        t        t        ddz              d$k(  sJ t        d      dk(  sJ t        d%      j                  d&      sJ t        d'      j                  d(      sJ t        d      t        k(  sJ t        d      t         k(  sJ t        t        d)            j                  d)      sJ t        t        d*            j                  d*      sJ t        t        d+            j                  d+      sJ dt         _        t        t        d,            j                  d,      sJ t        t        d-            j                  d-      sJ t        t        d.            j                  d.      sJ dt         _        t        d/      } | j                  dk(  sJ | j                   j                  d0      sJ t        d1      j                  d      sJ t        d2      dd3z  z  j                  d4      sJ t        d5      j                  d6      sJ y )7Nr   r   r   gAg?r   y^u;y            yxGDY$W
?g|b?r   y        .($h?             y       .($hr                   gL:?ri   y?      ?ro   r
   r)  r   r   iMz3.63998738656420y       @      "@y%?@[09Ay%?@[0A9y             "y%?@[09Ar0   -   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   rs   r&   rd   r#   erfierfcrx   ry   r   erfinvrv   rw   re   s    r*   test_erfr9  *  s   BFq6Q;;q699+,,,t9<<HIIIu:==JKKKr7::,---r7::,---s8;;.///c!fc"""c"gs###c!fc"""c"gs###s8q==t9??7a<<":==-...9:#t9A:a   x=AX.///7a<<7::aAh8;;qRy!!!":==3qt9%%%9>>>Q:??9>>cKB))--.@AAAt9<<GHHH:==GHHH;>>IJJJBFHRVO UVVVHRX!!"WXXXBFtBF|  !Y  Y  Y  Y!9>>#;>>0111$<??2333!9":#vd|%%%vn%&)).999vo&'**?;;;BFv:;<??@deeev;<=@@Afgggv<=>AABhiiiBFS	A66Q;;66993444=ALT!%%&TUUU>RSSSr,   c                     dt         _        t        t               dk(  sJ t        t              dk(  sJ t        ddd      j	                  t        ddd            sJ t        d t         t        g      dk(  sJ t        d      d	k(  sJ t        d
d
      d	k(  sJ t        t               dk(  sJ t        t              dk(  sJ t        d      dk(  sJ t        d      dz  j	                  d      sJ y )Nr   r   r   r
   r   r   c                     t        | dd      S )Nr   g?)npdfr   s    r*   <lambda>ztest_pdf.<locals>.<lambda>n  s    D4, r,   r   r   r   r   ro         B3v^!< gwbLz@)r   r   r<  r#   r   quadtsncdfr9   r,   r*   test_pdfrB  i  s    BF:??9>>!A;>>$s1Q-(((,tSk:a???7c>>!9:??9>>8q==If  !2333r,   c                     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                  j                  dt        z        sJ t        t         d      j                  t        k(  sJ t        t         d      j                  j                  dt        z        sJ t        dd      t         k(  sJ t        dd      t         k(  sJ t        dd      t         k(  sJ t        t              j                  d      sJ t        d      j                  d      sJ t        t         dz        j                  t        t        z  dz        sJ t        t        d       dz        j                  t        d             sJ t        d	      j                  d
      sJ t        d      j                  d      sJ t        dd      j                  d      sJ t        dd      j                  d      sJ t        d	d      j                  d      sJ t        dd      j                  d      sJ t        d	d      j                  d      sJ t        dd      j                  d      sJ t        d      j                  d      sJ t        dd      j                  d      sJ t        dd      j                  d      sJ t        d      j                  d      sJ t        dd      j                  d      sJ t        dd      j                  d      sJ t        dd      j                  d      sJ t        d      j                  d      sJ t        d      j                  d       sJ t        dd      j                  d!      sJ t        dd      j                  d"      sJ t        d#d      j                  d$      sJ t        dd      j                  d%      sJ t        dd      j                  d&      sJ t        dd'      j                  d(      sJ t        d)d*      j                  d+      sJ t        d)d      j                  d,      sJ t        dt        z   d-z        j                  d.      sJ t        dt        z   d-z  d      j                  d/      sJ t        dt        z   d-z  d      j                  d0      sJ t        dt        z   d-z  d*      j                  d1      sJ t        dt        z    d-z        j                  d2      sJ t        dt        z    d-z  d      j                  d3      sJ t        dt        z    d-z  d      j                  d4      sJ t        dt        z    d-z  d*      j                  d5      sJ d6t         _        t        t              j                  d7      sJ dt         _        t        d8      j                  d9      sJ t        d:      j                  d;      sJ t        d<      j                  d=      sJ t        d>      j                  d?      sJ t        d@      j                  dA      sJ t        ddB      } | j                  j                  dC      sJ | j                  j                  dD      sJ y )ENr   r   r3  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@r0   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#   rx   ry   rv   rw   r   r   r   r$   log)r   s    r*   test_lambertwrF  w  s>   BFA;!D>QC=C#C?3&&&C?""1R4(((SD  C'''SD  ##AbD)))Ab>cT!!!Aa=SD   Aa=SD   A;>>!A;>>.///RCE?ad1f%%%SVGAI!!3q6'***D>1222E?3444Ia ##$<===E"  !5666D IJJJE"  !5666DHIIIE! IJJJB<??CDDDBq>FGGGBr?FGGGD>0111DGHHHD HIIIDFGGGD>GHHHI!!"KLLLDHIIID HIIID KLLLIa ##$NOOOIb!$$%9:::Ib!$$%OPPPJq!$$%NOOOJq!$$%TUUUQqS"H  !KLLLQqS"HQ""#LMMMQqS"HR ##$MNNNQqS"HQ""#KLLLacF2I!!"MNNNacF2Ia ##$MNNNacF2Ib!$$%NOOOacF2Ia ##$LMMMBFB<??UVVVBFK ##$UVVVK ##$UVVVK ##$UVVVK ##$UVVV$%(()Z[[[6A6699+,,,6699.///r,   c                     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      sJ  | 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      sJ  | t        dd      d      sJ  | t        d	d      d      sJ d }d }d }d }dt         _        dt        z  dt        z  z   }t        d      }t        d      }t        d      }t        d      }	t        d      }
t        d       }t        d!      }dt         _         | t         |||            d"      sJ  | t         |||            d#      sJ  | t         |||            d$      sJ t         |||	            dk(  sJ t         |||
            dk(  sJ t         |||            dk(  sJ t         |||            dk(  sJ  | t         |||            d%      sJ  | t         |||            d&      sJ  | t         |||            d'      sJ  | t         |||	            d(      sJ  | t         |||
            d)      sJ  | t         |||            d*      sJ  | t         |||            t        dd+            sJ  | t         |||            d,      sJ  | t         |||            d-      sJ  | t         |||            d.      sJ  | t         |||	            d/      sJ  | t         |||
            d0      sJ  | t         |||            d1      sJ  | t         |||            t        d2d3            sJ  | t         |||            d4      sJ  | t         |||            d5      sJ  | t         |||            d6      sJ  | t         |||	            d7      sJ  | t         |||
            d8      sJ  | t         |||            d9      sJ  | t         |||            t        d2d:            sJ  | t         |||      d      d;      sJ  | t         |||
      d      d<      sJ  | t         |||      d      d<      sJ  | t         |||      d      d<      sJ  | t         |||      d      d=      sJ  | t         |||      d      d>      sJ  | t         |||      d      d?      sJ  | t         |||	      d      d/      sJ  | t         |||
      d      d0      sJ  | t         |||      d      d1      sJ  | t         |||      d      t        d2d3            sJ  | t         |||      d      d@      sJ  | t         |||      d      dA      sJ  | t         |||      d      dB      sJ t         |||	      d      dk(  sJ t         |||
      d      dk(  sJ t         |||      d      dk(  sJ t         |||      d      dk(  sJ  | t         |||      d      dC      sJ  | t         |||      d      dD      sJ  | t         |||      d      dE      sJ  | t         |||	      d      dF      sJ  | t         |||
      d      dG      sJ  | t         |||      d      dH      sJ  | t         |||      d      t        ddI            sJ  | t         |||      d      dJ      sJ  | t         |||      d      dK      sJ  | t         |||      d      dL      sJ  | t         |||	      d      d7      sJ  | t         |||
      d      d8      sJ  | t         |||      d      d9      sJ  | t         |||      d      t        d2d:            sJ  | t         |||      d      dM      sJ  | t         |||      d      dN      sJ  | t         |||      d      dO      sJ  | t         |||	      d      dO      sJ  | t         |||
      d      dO      sJ  | t         |||      d      dO      sJ  | t         |||      d      dO      sJ dPt         _        dt        z  t        dQ      z   }dR}dt         _        t        |      j                  |      sJ dSt         _        t        |      j                  |      sJ dTt         _        t        |      j                  |      sJ y )UNc                 p   t        |      }d}t        |t              rt        | t              }t        | j                  |j                  z
        t        |j                        dz  t
        z  k  }t        | j                  |j                  z
        t        |j                        dz  t
        z  k  }|xr |S )NTr[   )convertrs   r&   r   rv   r   rw   )r   r   type_okreal_okimag_oks        r*   checkz!test_lambertw_hard.<locals>.check  s    AJa C(GaffQVVm$AFFAc(99affQVVm$AFFAc(99"7"r,   r   绽|=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                     t        | |d      S NTr   )faddr   r   s     r*   r>  z$test_lambertw_hard.<locals>.<lambda>      tAad+ r,   c                     t        | |d      S rP  )fsubrR  s     r*   r>  z$test_lambertw_hard.<locals>.<lambda>  rS  r,   c                 6    t        | t        |dd      d      S )Nr   Tr   rQ  r   rR  s     r*   r>  z$test_lambertw_hard.<locals>.<lambda>  s    QtAbt44@ r,   c                 6    t        | t        |dd      d      S )Nr2  Tr   rW  rR  s     r*   r>  z$test_lambertw_hard.<locals>.<lambda>  s    QtAc5DA 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.99999926266961377166355784455394913638782494543377383744978844374498153493943725364881490261187530235150668593869563168276697689459394902153960200361935311512317183678882r0      )r   r   rD  r   r   r&   rd   r   )rM  addsubaddjsubjad3d10d20d40d80d300d1000r   anss                  r*   test_lambertw_hardrh    s	   # BF%":;;;&!#<===&!#\]]]'"$]^^^%"$RSSS&#%STTT&#%STTT'!$&TUUU%#%STTT&$&<===&$&UVVV'"%'UVVV ,C
+C@DADBF
1r#vA	VB
g,C
g,C
g,C
g,Cx=D	NEBF #a)$&=>>>#a*%'>???#a*%'>???C#J2%%%C#J2%%%C$K B&&&C%L!R'''#a)$&UVVV#a*%'`aaa#a*%'^___#a*%'GHHH#a*%'GHHH#a+&(IJJJ#a,'R0M)NOOO$q*%'VWWW$q+&(abbb$q+&(_```$q+&(_```$q+&(MNNN$q,')OPPP$q-(#d3S*TUUU$q*%'VWWW$q+&(abbb$q+&(_```$q+&(_```$q+&(MNNN$q,')OPPP$q-(#d3T*UVVV$q*Q')bccc$q+a(*cddd$q,q)+deee$q-*,efff$q*Q')deee$q+a(*jkkk$q+a(*ghhh$q+a(*fggg$q+a(*OPPP$q,q)+QRRR$q-*C6V,WXXX #a)B')DEEE#a*R(*EFFF#a*R(*EFFFC#Jr"b(((C#Jr"b(((C$K#r)))C%L$***#a)B')XYYY#a*R(*cddd#a*R(*abbb#a*R(*JKKK#a*R(*JKKK#a+b)+LMMM#a,r*C3Q,RSSS$q*R(*efff$q+b)+fggg$q+b)+efff$q+b)+hiii$q+b)+PQQQ$q,r*,RSSS$q-+S6W-XYYY$q*R(*abbb$q+b)+bccc$q+b)+bccc$q+b)+bccc$q+b)+deee$q,r*,efff$q-+-fgggBF
1s7|A=C BFA;>>#BFA;>>#BFA;>>#r,   c                     dt         _        t        ddgdggddgddggd      j                  d      sJ t        g dt        z   ggdgdggd	      j                  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      j                  d      sJ t        dgdggdgdggd      j                  d      sJ t        dgdggdgdggd      j                  d      sJ t        dgdggdgdggd      j                  t
        dz    dt
        z  z        sJ d} d}t        d      t        d      fD ]  }t        | ||      }t        |      t        |       z  t        d| z
  gg gdgd|z
  gg|       z  }t        |      t        |       z  t        dgdd|z
  z
  ggdd| z
  z
  gg gd|z        z  }|j                  |      sJ |j                  |      rJ  y )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&   r]   rq   )r_  r'  r   x1x2x3s         r*   test_meijergrn  :  s%   BFQqE1#;Q14778MNNNB!u:sA3i.112`aaaTFA3<#sA.!333QC8.3V<??@UVVVRD$=B4-699:UVVVVHhZ(F8XJ*?FIIJefffRD$=B4-477"Q$2GGGAA$iQ  Aa]1XeAhw1bzA3!u+qbAA1XeAhwq!A#wi'81ac7)B1MMuuRyyuuRyyr,   c                  d   dt         _        t        dddddd      j                  d      sJ t        dddddd      j                  d      sJ t        dddddd	      j                  d
      sJ t        dddddd      j                  d      sJ t        dddddd      j                  d      sJ y )Nr   r
   r   r   r   g      ir   r   r      r   g      ?gk?)r   r   appellf1r   r9   r,   r*   test_appellf1rr  M  s    BFAb1Qq!$$U+++Aa1Qq!$$R(((Aa1S&))#...Bq1Qq!$$R(((Aa!C&))+ABBBr,   c                  j    dt         _        t        t        dd      dd      j	                  d      sJ y )Nr   r   r   r
   r   gpu4@)r   r   coulombgrd   r   r9   r,   r*   test_coulombru  U  s/     BFC1Ia"%%&;<<<r,   c                     dt         _        t        dd      D  cg c]  } | dz   	 }} t        dd      D  cg c]  } | dz   	 }} t        ||d      j	                  d      sJ t        dd	d
      j	                  d      sJ t        ddd      dz  j	                  d      sJ t        dddd      dz  j	                  d      sJ t        dddd      ddz  z  j	                  d      sJ t        ddddd      dk(  sJ t        ddd	      ddz  z  j	                  d       sJ t        dddd!d"#      dd$z  z  j	                  d%      sJ t        d&dd
      dk(  sJ t        j                  t        d'        t        d( dgd)*      t        k(  sJ t        g g gg d+g gd,      j	                  d-      sJ t        d.d.      dd/z  z  j	                  d0      sJ d1t         _        t        d2d3d	      dd4z  z  j	                  d5       t        d6d3d	      dd4z  z  j	                  d7       dt         _        t        d2d3d	      dd4z  z  j	                  d5       t        d6d3d	      dd4z  z  j	                  d7       t        t!        d8d9d:;      d
      j	                  d<      sJ t        d8dd	z  z  dz   dd	z  fd
      j	                  d<      sJ y c c} w c c} w )=Nr   r   r   rN  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                      t        d dg      S )Nc                     g g g g | g|  gdfgS Nr   r9   r_  s    r*   r>  z=test_hyper_param_accuracy.<locals>.<lambda>.<locals>.<lambda>h  s    Br"RaRDQT;U:V r,   r   )	hypercombr9   r,   r*   r>  z+test_hyper_param_accuracy.<locals>.<lambda>h  s    i0VYZX[&\ r,   c                     g g g g | g|  gdfgS r}  r9   r~  s    r*   r>  z+test_hyper_param_accuracy.<locals>.<lambda>i  s    Br"aS1"c :; r,   r   )infprec)r   r   r   r   r   giաe?i  ^   gL?r   g    rY  r   g{	!@r   gL`L"@r   z1e-100Tr   g;.ɂQ)J)r   r   r(   rb   r   r  r]   r_   pytestraises
ValueErrorr  r#   rj  r'   r\   rQ  )r)   AsBss      r*   test_hyper_param_accuracyr  [  s   BF B<	(a!E'	(B	( R=	)a!E'	)B	)Br?5666#sD!$$%@AAA4$&**+@AAA2tT4(/334IJJJ4D&r3w.223IJJJ"b!S3/144464%b#g-112HIII4D7C?CCDZ[[[!Q"""
MM*\];aS#NRUUUUBr7Ib>#.112GHHHCRV#''(=>>>BFGT3C'++,ABE4b#g%))*?@BFGT3C'++,ABE4b#g%))*?@$s8$/699:QRRR3r3w;q="c'*D1445LMMM- 
)	)s
   KKc                  t    t        d dg      dk(  sJ t        dgg gdgdggd      j                  d      sJ y )Nc                     dg| gg g g g dffS )Nr   r9   r~  s    r*   r>  z)test_hypercomb_zero_pow.<locals>.<lambda>w  s    !aSBr"Q 79 r,   r   r   r   rx  g2}$?)r  rj  r   r9   r,   r*   test_hypercomb_zero_powr  u  sF    9A3?1DDDTF2;UG}Q/223HIIIr,   c                  "   dt         _        d} d}t        dd| |      j                  d      sJ t        dd| |      j                  d      sJ t        dd| |      j                  d	      sJ t        dd| |      j                  d
      sJ t        dd| |      j                  d      sJ t        dd| |      j                  d      sJ t        dd| |      j                  d      sJ t        dd| |      j                  d      sJ t        dd| |      j                  d      sJ t        dd| |      j                  d      sJ t        dd| |      j                  d      sJ t        dd| |      j                  d      sJ t        dd| |      j                  d      sJ t        dd| |      j                  d      sJ t        dd| |      j                  d      sJ t        dd| |      j                  d      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(  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(  sJ t        dd| |      dk(  sJ t        dd| |      dk(  sJ t        dddd      j                  d      sJ t        ddt        z
  dt        z   d       j                  d!      sJ t        d"d#| |      j                  d$      sJ t        d%ddd      j                  d&      sJ t        dddd      dk(  sJ t        d"ddd      j                  d'      sJ t        d"d(dd      j                  d)      sJ t        dddd      j                  d*      sJ t        dddd      dk(  sJ t        dddd      j                  d+      sJ y ),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   s     r*   test_spherharmr  z  sx   BFAQQq1  !7888Qr!A!!"RSSSQq1  !7888Qq1  !RSSSQr!A!!"TUUUQr!A!!"RSSSQq1  !7888Qq1  !RSSSQq1  !STTTQr!A!!"TUUUQr!A!!"RSSSQr!A!!"RSSSQq1  !7888Qq1  !RSSSQq1  !QRRRQq1  !TUUUQr!A!###Qr!A!###Qq1"""Qq1"""Qq1"""Qq1"""Qr!A!###Qr!A!###Qq1"""Qq1"""Qr!A!###Qr!A!###Qs3t$''(WXXXT1Q3!T*--.]^^^RAa ##$TUUUT1c4(++,^___RC&!+++RC&))*[\\\Rc4(++,^___Qq1  !7888Qr!A!###Qr!A!!"STTTr,   c                  V    dt         _        t        ddd      j                  d      sJ y )Nr   r
   r   r   z2.7291482267247332183e2391)r   r   qpr   r9   r,   r*   test_qfunctionsr    s$    BFa#;>>6777r,   c                      dt         _        t        dd      } t        ddddd      j	                  d	      sJ d
t         _        t        j                  t        d        y )NrZ  l   L33F i   rw  r   g?r   z40.99999999999999999999996570910644857895771110649954r   c                      t        dddd      S )Nr   r   r   )r_   r9   r,   r*   r>  z test_issue_239.<locals>.<lambda>  s    fR#c&: r,   )	r   precldexpr/  r   r   r  r  r  r=  s    r*   test_issue_239r    sN    BGs#A3Qa(++,bcccBF
MM*:;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@)	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@)r1   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@)r~   r  r  r  r  r  r  r  r  r  r  r  r  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@)r2   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@)r3   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@)r4   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@)r5   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@)r6   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            	      P   dt         _        t        t              D ]  } t        dt        dz         D ]n  }t        | |dt        t               t        | |      j                  t        |    |dz
           sJ t        | |      j                  t        |    |dz
           sJ t        | |d      j                  t        |    |dz
           sJ t        | |d      j                  t        |    |dz
           sJ t        | |      j                  t        |    |dz
           sJ t        | |      j                  t        |    |dz
           sJ t        | |d      j                  t        |    |dz
           sJ t        | |d      j                  t        |    |dz
           roJ   y )Nr   r   of)r   r   r(   VMprintr7   r   jn_small_zerosjnp_small_zerosr8   yn_small_zerosynp_small_zeros)rf   ms     r*   test_bessel_zeros_extrar  B	  s   BF1X Bq1 
	BA!Qa#q#&&~a'81'=>>>q#&&~a'81'=>>>q1%(();AaC)@AAAq1%(();AaC)@AAAq#&&~a'81'=>>>q#&&~a'81'=>>>q1%(();AaC)@AAAq1%(();AaC)@AAA
	BBr,   )9mathr  mpmathr+   r:   r>   rC   rG   rM   rg   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-  r0  r9  rB  rF  rh  rn  rr  ru  r  r  r  r  r  r  r  r  r  r  r  markslowr  r9   r,   r*   <module>r     s     IiV8M52
2,:x-^%.N
A!@bJH	Y	^e,3<8mt
DK,@,s.y.XT6Q>Z;(:<xAF"PAgF;=T~4>0@AF&C=N4J
(UT8< e` He` He` He` F B Br,   