
    e!h[                        d Z ddlZddlZddlmZmZ ddlZddlm	Z
 ddlmZmZmZ ddlmZmZmZmZmZ 	 ddlZ G d d      Z G d	 d
      Z G d d      Zd Zd Zd Zd/dZd Zd/dZd Z ejB                  jD                   eed       G d d                    Z#g dZ$ejB                  jK                  de$e$D  cg c]  } | d   	 c}       d        Z&d Z'd Z(d Z)d Z*ejB                  jK                  dg d g d!g d"g d#g d$g d%g d&g d'g d(g d)g d*g d+g      d,        Z+ G d- d.      Z,y# e$ r  ed      ZY 
w xY wc c} w )0z
Test cdflib functions versus mpmath, if available.

The following functions still need tests:

- ncfdtri
- ncfdtridfn
- ncfdtridfd
- ncfdtrinc
- nbdtrik
- nbdtrin
- pdtrik
- nctdtrit
- nctdtridf
- nctdtrinc

    N)assert_equalassert_allclose)MissingModulecheck_versionFuncData)ArgIntArgget_args	mpf2floatassert_mpmath_equalmpmathc                       e Zd ZdZd Zd Zy)ProbArgz*Generate a set of probabilities on [0, 1].c                      d| _         d| _        y )Nr      )abselfs    g/var/www/html/diagnosisapp-backend/venv/lib/python3.12/site-packages/scipy/special/tests/test_cdflib.py__init__zProbArg.__init__'   s        c                 b   t        d|dz        }t        j                  dt        j                  d      |      }t        j                  dd|dz   d      dd }dt        j                  t        j                  d      d	|      z
  }t        j
                  |||f   }t        j                  |      S )
z3Return an array containing approximately n numbers.r      i333333?gffffff?F)endpointNi)maxnplogspacelog10linspacer_unique)r   nmv1v2v3vs          r   valueszProbArg.values,   s    1a4L[[bhhsmQ/[[c1q559!"=RXXc]C33EE"b"*yy|r   N)__name__
__module____qualname____doc__r   r*    r   r   r   r   $   s    4
r   r   c                       e Zd Zd Zd Zy)EndpointFilterc                 <    || _         || _        || _        || _        y N)r   r   rtolatol)r   r   r   r4   r5   s        r   r   zEndpointFilter.__init__7   s    		r   c                    t        j                  || j                  z
        | j                  t        j                  | j                        z  | j                  z   k  }t        j                  || j
                  z
        | j                  t        j                  | j
                        z  | j                  z   k  }t        j                  ||z  dd      S )NFT)r   absr   r4   r5   r   where)r   xmask1mask2s       r   __call__zEndpointFilter.__call__=   s    q466z"TYYrvvdff~%=		%IIq466z"TYYrvvdff~%=		%IIxxud33r   N)r+   r,   r-   r   r<   r/   r   r   r1   r1   6   s    4r   r1   c                   ,    e Zd Z	 	 	 ddZd Zd Zd Zy)_CDFDataNc                    || _         || _        || _        || _        || _        || _        || _        || _        |	| _        t        |t              sd | _        d | _        y |
|mt        |
t              r|
| _        n|
gt        | j                        z  | _        t        |t              r|| _        y |gt        | j                        z  | _        y d | _        d | _        y r3   )spfuncmpfuncindexargspecspfunc_firstdpsr$   r4   r5   
isinstancelist
endpt_rtol
endpt_atollen)r   r@   rA   rB   rC   rD   rE   r$   r4   r5   rH   rI   s               r   r   z_CDFData.__init__D   s     
(		'4("DO"DO#z'=*d+",#-,s4<</@"@*d+",#-,s4<</@"@"DO"DOr   c                    | j                   r | j                  | }t        j                  |      rt        j                  S t        |      }||| j                  <   t        j                  | j                        5   | j                  t        |       }t        |j                        }d d d        |S t        j                  | j                        5   | j                  | }t        |j                        }d d d        t        |      }|| j                  <    | j                  t        |       }|S # 1 sw Y   |S xY w# 1 sw Y   JxY wr3   )rD   r@   r   isnannanrG   rB   r   workdpsrE   rA   tupler   real)r   argsress      r   idmapz_CDFData.idmapa   s   $++t$Cxx}vv:D"D) *!dkk5;/)* 
 ) *!dkk4()* :D"D$++uT{+C
* 
* *s   :.D2%D?2D<?Ec           	      D   | j                   | j                  y g }t        | j                   | j                  | j                        D ]V  \  }}}|||j	                  d        |d}n|d}|j	                  t        |j                  |j                  ||             X |S )N        )rH   rI   ziprC   appendr1   r   r   )r   filtersr4   r5   specs        r   get_param_filterz_CDFData.get_param_filteru   s    ??"t'> #DOOT__dll S 		GD$|t$NN>$&&$&&$EF		G r   c           
         t        | j                  | j                        }| j                         }t	        t        |j                  d               }|j                  d   }t        j                  ||d d | j                  f   j                  |j                  d   d      f      }t        | j                  |||| j                  | j                  d|      j                          y )Nr   r   F)param_columnsresult_columnsr4   r5   
vectorizedparam_filter)r
   rC   r$   rZ   rO   rangeshaper   hstackrB   reshaper   rS   r4   r5   check)r   rQ   r_   r\   r]   s        r   rd   z_CDFData.check   s    dff-,,.eDJJqM23Ayy$Q

] 3 ; ;DJJqM1 MNOT,^iidiiE*	, -2EGr   )T   i  NNNN)r+   r,   r-   r   rS   rZ   rd   r/   r   r   r>   r>   C   s    DH15-1#:("
4r   r>   c                  :    t        | i |}|j                          y r3   )r>   rd   )r   kwds      r   _assert_invertsri      s    !rAGGIr   c                 V   t        j                  |       t        j                  |      t        j                  |      }}} | dk  rt        j                  d      S | |k\  rt        j                  d      S t        j                  d|d      }t        j                  || z
  | dz   |d      S )Nr   r   T)exactx2regularized)r   mpffsubbetainc)kr$   ponemps       r   _binomial_cdfru      s    jjmVZZ]FJJqM!qAAvzz!}	
azz!}KK1D)E>>!a%Q5dCCr   c                    |dk  rt        j                  d      S t        j                  |       t        j                  |      t        j                  |      }}} | |z  | |z  |z   z  }t        j                  | dz  |dz  |d      }|S )Nr      Trl   )r   ro   rq   )dfndfdr9   ubrR   s        r   _f_cdfr{      ss    1uzz!}**S/6::c?FJJqMaC	QA	B
..QA"$
?CJr   c                    |t         j                  j                  }t        j                  |      5  t        j                  |       t        j                  |      }} t        j
                  dd| dz   z  d|dz   | z        }||t        j                  d| dz   z        z  z  }|t        j                  t         j                  | z        t        j                  d| z        z  z  }d|z   cd d d        S # 1 sw Y   y xY w)N      ?r         ?rw   )	r   mprE   rN   ro   hyp2f1gammasqrtpi)dftrE   facs       r   _student_t_cdfr      s    
{iimm		 

2

1AmmCb1fsQTE"H=qc26l+++v{{699R<(c"f)===Sy  s   B7C33C<c                     t        j                  |dz  dz
  t        j                  || z              }|t        j                  | |z    dz        | |z  |dz  dz
  z  z  dz  z  }|S )Nrw   r      r}   )r   besselir   exp)r   r   ncrR   s       r   _noncentral_chi_pdfr      sd    
..A6;;r!t#4
5C6::Bik"AbDBqD3J#7799CJr   c                 P   |t         j                  j                  }t        j                  |       t        j                        t        j                        c} t        j                  |      5  t        j
                  fdd| g      }|cd d d        S # 1 sw Y   y xY w)Nc                     t        |       S r3   )r   )r   r   r   s    r   <lambda>z%_noncentral_chi_cdf.<locals>.<lambda>   s    $72r$B r   r   )r   r   rE   ro   rN   quad)r9   r   r   rE   rR   s    ``  r   _noncentral_chi_cdfr      su    
{iimm

1vzz"~vzz"~IAr2		 kkBQFK  s   4BB%c                 $    | |z  d| z
  |z  z
  |z  S )Nr   r/   )rs   lmbdas     r   _tukey_lmbda_quantiler      s    uHA~%u,,r   z0.19c                   @   e Zd Zej                  j                  d      d        Zd Zd Zd Z	ej                  j                  d      d        Z
d Zd	 Zd
 Zd Zd Zd Zej                  j                  d      d        Zd Zd Zej                  j                  d      d        Zej                  j                  d      d        Zd Zd Zd Zej                  j                  d      d        Zej                  j5                  dg d      d        Zy)
TestCDFlibF)runc           
          t        t        j                  t        dt	               t        dd      t	               gd       y )Nr   r     -C6?r4   )ri   spbdtrikru   r   r	   r   s    r   test_bdtrikzTestCDFlib.test_bdtrik   s-    II	6!T?GI6		r   c           	          t        t        j                  t        dt	        dd      t               t               gdg d       y )Nr   r   r   )NNư>r4   rI   )ri   r   bdtrinru   r	   r   r   s    r   test_bdtrinzTestCDFlib.test_bdtrin   s0    IIq$GI6"4		6r   c                     t        t        j                  d dt               t	        ddd      t	        dddd      gd	       y )
Nc                 4    t        j                  | ||d      S NTrl   r   rq   r   r   r9   s      r   r   z)TestCDFlib.test_btdtria.<locals>.<lambda>       FNN1aA4H r   r         Y@Finclusive_ar   r   inclusive_br   r   )ri   r   btdtriar   r   r   s    r   test_btdtriazTestCDFlib.test_btdtria   s=    JJH	3q#59Aqe?A	r   c                     t        t        j                  d dt        ddd      t	               t        dddd      gdg d	
       y )Nc                 4    t        j                  | ||d      S r   r   r   s      r   r   z)TestCDFlib.test_btdtrib.<locals>.<lambda>   r   r   r   r   r   Fr   r   Hz>)NgC]r2<V瞯<r   )ri   r   btdtribr   r   r   s    r   test_btdtribzTestCDFlib.test_btdtrib   s@    JJHCU+WYA5e<>+	-r   c                     t        t        j                  t        dt	        dd      t               t        ddd      gd       y )Nr   d   r   Fr   r   r   )ri   r   fdtridfdr{   r	   r   r   r   s    r   test_fdtridfdzTestCDFlib.test_fdtridfd   s5    KKAs^WYAs(FG	r   c                     t        t        j                  d dt               t	        ddd      t	        ddd      gdg d	       y )
Nc                 8    t        j                  || |z  d      S NTr   rn   r   gammaincr   s      r   r   z(TestCDFlib.test_gdtria.<locals>.<lambda>       FOOA1$G r   r        @@Fr   g     @r   Nr   绽|=r   )ri   r   gdtriar   r   r   s    r   test_gdtriazTestCDFlib.test_gdtria   s>    IIGYAs6CU+-*	,r   c                     t        t        j                  d dt        ddd      t	               t        ddd      gd	       y )
Nc                 8    t        j                  || |z  d      S r   r   r   s      r   r   z(TestCDFlib.test_gdtrib.<locals>.<lambda>  r   r   r   r   r   Fr   r   h㈵>r   )ri   r   gdtribr   r   r   s    r   test_gdtribzTestCDFlib.test_gdtrib  s;    IIGCU+WYCU+-	r   c                     t        t        j                  d dt        ddd      t        ddd      t	               gdg d	       y )
Nc                 8    t        j                  || |z  d      S r   r   r   s      r   r   z(TestCDFlib.test_gdtrix.<locals>.<lambda>  r   r   rw   r   r   Fr   r   r   r   )ri   r   gdtrixr   r   r   s    r   test_gdtrixzTestCDFlib.test_gdtrix  s>    IIGCU+SCU-KY*	,r   c                     t        t        j                  d dt               t	        dt
        j                  dd      t	        dd      gd	       y )
Nc                 0    t        j                  || |      S r3   r   ncdfr9   yzs      r   r   z*TestCDFlib.test_nrdtrimn.<locals>.<lambda>!      FKK1a0 r   r   皙?Fr   g    _g    _Br   r   )ri   r   nrdtrimnr   r   r   infr   s    r   test_nrdtrimnzTestCDFlib.test_nrdtrimn  sB    KK0Ybff%UC 	r   c                     t        t        j                  d dt        t        j
                   ddd      t               t        dd      gd       y )	Nc                 0    t        j                  || |      S r3   r   r   s      r   r   z*TestCDFlib.test_nrdtrisd.<locals>.<lambda>+  r   r   r   
   Fr   g}Ô%ITr   r   )ri   r   nrdtrisdr   r   r   r   r   s    r   test_nrdtrisdzTestCDFlib.test_nrdtrisd(  sC    KK0"&&"%UCYU^ 	r   c           	          t        t        j                  t        t	        dd      t        dt        j                        gd       y )Nr   r   r   r   r   )r   r   stdtrr   r	   r   r   r   r   s    r   
test_stdtrzTestCDFlib.test_stdtr2  s/    HHAs^S/0t	=r   c                 l    t        t        j                  t        dt	               t               gd       y )Nr   r   r   )ri   r   stdtridfr   r   r   r   s    r   test_stdtridfzTestCDFlib.test_stdtridf9  s$    KK	35!	.r   c           	      v    t        t        j                  t        dt	        dd      t               gdd dg       y )Nr   r   r   r   r   )ri   r   stdtritr   r	   r   r   s    r   test_stdtritzTestCDFlib.test_stdtrit@  s/    JJq#	*e}		&r   c           
      j    t        t        j                  d dt               t	        dd      gd       y )Nc                 >    t        j                  | dz  |dz  d      S )Nrw   Tr   r   )r)   r9   s     r   r   z)TestCDFlib.test_chdtriv.<locals>.<lambda>J  s    1!F r   r   r   r   r   r   )ri   r   chdtrivr   r	   r   s    r   test_chdtrivzTestCDFlib.test_chdtrivG  s(    JJF	6!S>*	7r   c                     t        t        j                  t        dt	        ddd      t               t	        ddd      gddd	       y )
Nr   r   r   Fr   r   r   r   r$   r4   r5   )ri   r   	chndtridfr   r   r   r   s    r   test_chndtridfzTestCDFlib.test_chndtridfM  s@     	LLAs.	As.0E	+r   c           
          t        t        j                  t        dt	        ddd      t        dd      t               gddd	
       y )Nrw   r   r   Fr   r   r   r   r   r   )ri   r   	chndtrincr   r   r	   r   r   s    r   test_chndtrinczTestCDFlib.test_chndtrincW  s:     	LLAs.q#	JE		+r   c                     t        t        j                  t        dt	               t        dd      t        ddd      gdddg d	
       y )Nr   r   r   Fr   r   r   r   )r   NN)r$   r4   r5   rI   )ri   r   chndtrixr   r   r	   r   r   s    r   test_chndtrixzTestCDFlib.test_chndtrix`  s;    KK	6!S>3q#5+IJE)	+r   c                 h    t        j                  d      t        d fdt               gd       y )Nr   c                 .    t        j                  | d      S )Nr   )r   tklmbdar9   s    r   r   z4TestCDFlib.test_tklmbda_zero_shape.<locals>.<lambda>m  s    bjjA& r   c                 <    t        j                  |        z   z  S r3   )r   r   )r9   ones    r   r   z4TestCDFlib.test_tklmbda_zero_shape.<locals>.<lambda>n  s    c6::qb>C/0 r   r   r   )r   ro   r   r   )r   r   s    @r   test_tklmbda_zero_shapez"TestCDFlib.test_tklmbda_zero_shapei  s'    jjm&0UG$	 r   c                 |    t        t        j                  t        dt	               t        ddd      gddddg       y )Nr   iF)r   r   g&.>)rD   r4   rI   ri   r   r   r   r   r   r   s    r   test_tklmbda_neg_shapez!TestCDFlib.test_tklmbda_neg_shapeq  s5    JJ!	3sA59:Td|	%r   c                 v    t        t        j                  t        dt	               t        ddd      gdd       y )Nr   r   Fr   r   )rD   r4   r  r   s    r   test_tklmbda_pos_shapez!TestCDFlib.test_tklmbda_pos_shapey  s.    JJ!	3q#59:T		+r   r   )r}         ?g       @c                 X    d|z  }t        t        j                  | |g|      ddg       y )Nr   rU   r  )r   r   r   )r   r   bounds      r   test_tklmbda_lmbda1zTestCDFlib.test_tklmbda_lmbda1  s*    %RZZ%7#sDr   N)r+   r,   r-   pytestmarkxfailr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  parametrizer  r/   r   r   r   r      sS    [[5! "6	- [[5! ",, = [[5!. ".&7 [[5!+ "+ [[5!+ "++ % [[5!+ "+ [[Wo6E 7Er   r   ))r   r   )r   r   )r   r   )r   r   )r   rw   )chndtrr   )r   r   )r   r   )r   r   )r   r   )ncfdtrr   )ncfdtrir   )
ncfdtridfnr   )
ncfdtridfdr   )	ncfdtrincr   )r   r   )r   r   )r   r   )nbdtrikr   )nbdtrinr   )r   r   )r   r   )pdtrikrw   )r   rw   )r   rw   )r   rw   )nctdtrr   )nctdtritr   )	nctdtridfr   )	nctdtrincr   )r   rw   zfunc,numargs)idsc                    t         j                  j                  d      }t        t        |       } |j                  |      D cg c]<  }t        |      t         j                  t         j                  t         j                   f> }}t        j                  | D ]4  } | | }t        d |D              rt        |t         j                         56 y c c}w )Nl   7'}?J-0 c              3   F   K   | ]  }t        j                  |        y wr3   )r   rL   ).0r9   s     r   	<genexpr>z!test_nonfinite.<locals>.<genexpr>  s     )qrxx{)s   !)r   randomdefault_rnggetattrr   floatrM   r   	itertoolsproductanyr   )funcnumargsrngr9   args_choicesrQ   rR   s          r   test_nonfiniter*    s     ))

 0
1C2tDADGATUAU1Xrvvrvvw7ULU!!<0 	Dk)D))bff% 	 Vs   ACc                  ~    t        j                  ddt        j                  d      dz         } g d}t	        | |       y )Ng!?rw         4@r   )gyY;@gA@gʾC@g-E@g-oG@gNCEI@g0_{J@gY-L@gjrM@gZǧ9N@g-]fP@gmj#P@ggAQ@gl@Q@gndhR@g$܂R@g@FTxS@gēT@g]gϖT@gc$U@)r   r   r   aranger   )rR   res_exps     r   test_chndtrix_gh2158r/    s4    
++h299S>$#6
7C5G C!r   c                  p    g d} g d}g d}g d}t        j                  | ||      }t        ||dd       y )N)
MbP?\(\?皙#@b     i'  r4  r3  r2  r1  )
r1  r   r   皙?+?r1  r   r   r6  r7  )
~jtX?333333?r~      ,  r8  r9  r~   r:  r;  )
K ˸@gtI?x9" @g.$Bt+@gO,oq@r<  gZc^?r=  g@gjgdy=rU   r4   r5   )r   r  r   )dfarrparrtarrdesiredactuals        r   test_nctdtrinc_gh19896rD    s=     EEEDCD#G \\%t,FFG%c:r   c                     t        j                  t        j                  t        j                  t         j
                   t         j
                   dddt         j
                  g                  sJ t        j                  t        j                  t        j                  t         j
                   g d                  sJ y )N      rU   r  )rU   g      ?r}   g      ?r  )r   allrL   r   r   r   r   r/   r   r   test_stdtr_stdtrit_neg_infrH    sp    66"((288RVVGrvvgtS#rvv-NOPQQQ66"((2::rvvg/JKLMMMr   c                  r   t        j                  t         j                  t         j                   ddddddddt         j                  g      } | d d d f   } t        j                  t         j                  t         j                   ddddddt         j                  g	      }t        j
                  t        j                  t        j                  | t         j                  |                  sJ t        j
                  t        j                  t        j                  | t         j                  |                  sJ y )	Ng      $rF  rU   r   r}   gH.?r        $@)
r   arrayrM   r   
atleast_2drG  rL   r   r   r  )r   rs   s     r   test_bdtrik_nbdtrik_infrM    s    
	tS&"fc4P	RA	!D&	A
	"&&%sFBRVVD	FA66"((299Q2344466"((2::a34555r   zdfn,dfd,nc,f,expected)r   r   r   r   g,]?)r   r   {Gz?r   gsCr:)r   rN  r   rN  gnhUg?)rJ  rN  r  r   g%g{E?)r   r   rN  rN  g 	
1)r  r   r   r   gڞ^)k;)r  rN  r   rJ  glB?)r  rN  rJ  rN  g)Dt^\,?)rJ  r  r   r   g|?)r   r   r  r  g?)r   r   r   rJ  r  )r  r   r   rJ  g*}?c                 N    t        t        j                  | |||      |dd       y )NvIh%<=r   r>  )r   r   r  )rx   ry   r   fexpecteds        r   test_ncfdtrrS    s"    t BIIc3A.u1Mr   c                   R   e Zd Zej                  j                  dg dddddddd	d
dddddddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d? ej                  d@dAdBdCej                  j                  dDE      F      dG      dH        ZdI Z	ej                  j                  dJg dKg dLg dMg dNdOdOe
j                  dOdPgdOdOe
j                   dPdPgg      dQ        ZyR)S
TestNctdtrzdf, nc, x, expected)r2  ffffffr8  gD i?)r2  rV  r9  g?)r2  rV  r~   g7?)r2  rV  r:  gU?)r2  RQ?r8  g?)r2  rW  r9  gx$p?)r2  rW  r~   g7?)r2  rW  r:  g]ŧe?)r2  ffffff@r8  g樼?)r2  rX  r9  g:GF ?)r2  rX  r~   gpa?)r2  rX  r:  gfO!t?)r2  &   r8  g    )r2  rY  r9  gQb] )r2  rY  r~   gy+)r2  rY  r:  guQRm?)r3  rV  r8  g/C*i?)r3  rV  r9  g.b?)r3  rV  r~   gI'v?)r3  rV  r:  g?)r3  rW  r8  g?)r3  rW  r9  gD-?)r3  rW  r~   gy0 ?)r3  rW  r:  gC?)r3  rX  r8  g?)r3  rX  r9  g:e!?)r3  rX  r~   gh?)r3  rX  r:  g?)r3  rY  r8  g+    )r3  rY  r9  gPDp   )r3  rY  r~   gM)r3  rY  r:  ggS>^X#>)r4  rV  r8  gNG0i?)r4  rV  r9  g%Wح?)r4  rV  r~   g?)r4  rV  r:  r  )r4  rW  r8  g aYҏ?)r4  rW  r9  gpku+?)r4  rW  r~   gZVq?)r4  rW  r:  r  )r4  rX  r8  g_a?)r4  rX  r9  g+,!?)r4  rX  r~   gqgb?)r4  rX  r:  g?)r4  rY  r8  gQ    )r4  rY  r9  g%Q   )r4  rY  r~   gTh-1)r4  rY  r:  g¤5)r5  rV  r8  geK0i?)r5  rV  r9  g?)r5  rV  r~   gjS?)r5  rV  r:  r  )r5  rW  r8  g|S׏?)r5  rW  r9  gfG-?)r5  rW  r~   g^"?)r5  rW  r:  r  )r5  rX  r8  gm?)r5  rX  r9  g|q]/!?)r5  rX  r~   g+%αs?)r5  rX  r:  r  )r5  rY  r8  gn    )r5  rY  r9  gm   r5  rY  r~   gDdz+Bug in underlying Boost math implementation)reason)marks)r5  rY  r:  g>H*c                 P    t        j                  |||      }t        ||dd       y )NrP  gr>  )r   r  r   )r   r   r   r9   rR  results         r   test_gh19896zTestNctdtr.test_gh19896S  s%    R 2r1%u6Br   c                 Z    d\  }}}d}t        t        j                  |||      |d       y )N)i  r   r   g-^?g+=r   r   r   r  )r   r   r   r9   rR  s        r   test_nctdtr_gh8344zTestNctdtr.test_nctdtr_gh8344  s+     	B(		"b!,hUCr   zdf, nc, x, expected, rtol)g      @g      @g       gG>g:0y5>)r   rJ  r  g'$ <rP  )r   g      g       @gjx?rP  )rJ  r,  r9  ge*mt-rP  r  rU   c                 J    t        t        j                  |||      ||       y )Nr   r`  )r   r   r   r9   rR  r4   s         r   test_accuracyzTestNctdtr.test_accuracy  s     			"b!,hTBr   N)r+   r,   r-   r	  r
  r  paramr  r^  ra  r   r   rc  r/   r   r   rU  rU  +  s   P [[2 C50C5.C5 	.C5 	-	C5
 	/C5 	0C5 	-C5 	-C5 	2C5 	2C5 	/C5 	,C5 	,C5 	1C5 	/C5  	-!C5" 	0#C5$ 	.%C5& 	-'C5( 	,)C5* 	0+C5, 	/-C5. 	-/C50 	,1C52 	23C54 	15C56 	.7C58 	*9C5: 	+;C5< 	,=C5> 	0?C5@ 	-AC5B 	/CC5D 	-EC5F 	,GC5H 	IC5J 	0KC5L 	.MC5N 	,OC5P 	QC5R 	1SC5T 	/UC5V 	-WC5X 	*YC5Z 	*[C5\ 	*]C5^ 	/_C5` 	-aC5b 	0cC5d 	.eC5f 	-gC5h 	iC5j 	0kC5l 	.mC5n 	-oC5p 	qC5r 	2sC5t 	1uC5v 	.wC5x 	yC5z 	*{C5| 	+}C5~ 	S"c#:!;;,,L - N	OC5D 	.EC5 CHCICHCD [[#	4	8	3	7
b"&&#s	#
b266'3	$	
	C	Cr   rU  r3   )-r.   r#  numpyr   numpy.testingr   r   r	  scipy.specialspecialr   scipy.special._testutilsr   r   r   scipy.special._mptestutilsr   r	   r
   r   r   r   ImportErrorr   r1   r>   ri   ru   r{   r   r   r   r   r
  slowr   funcsr  r*  r/  rD  rH  rM  rS  rU  r   s   0r   <module>rn     s  "   7  , ,; ;%
 $
4 
4M4 M4`
D-
 vvxE xE  xEv 	F 54IaQqT4IJ K$"$;N6 263175310-#13+N+N\EC ECW  %8$F%V 5Js   D4 =E4EE