
    doi                       S r SSKrSSKJrJr  SSKJr  SSKrSSKrSSK	J
r
  SSKJr  SSKJrJrJrJr  SSKJrJrJrJrJrJrJrJrJrJr  SSKJrJ r J!r!J"r"J#r#J$r$   SSK%r%\RN                  RQ                  S
S9r)\" \%S5      S 5       r*\" \%S5      S 5       r+\" \%S5      S 5       r,\" \%S5      S 5       r-\" \%S5      S 5       r.\" \%S5      S 5       r/\" \%S5      S 5       r0\" \%S5      S 5       r1\" \%S5      S 5       r2\" \%S5      \RN                  Rf                  S 5       5       r4\" \%S5      S 5       r5\" \%S5      S 5       r6\RN                  Rf                  \" \%S5      S  5       5       r7S!r8\" \%S5      S" 5       r9\" \%S5      S# 5       r:\" \%S5      \RN                  Rf                  S$ 5       5       r;\" \%S5      \RN                  Rf                  S% 5       5       r<\" \%S5      S& 5       r=\" \%S5      S' 5       r>\" \%S5      \RN                  Rf                  S( 5       5       r?\" \%S5      \RN                  Rf                  S) 5       5       r@\" \%S5      S* 5       rA\" \%S5      S+ 5       rB\" \%S5      S, 5       rCS- rD\RN                  Rf                  \" \%S5      S. 5       5       rE\RN                  Rf                  \" \%S5      S/ 5       5       rF\RN                  Rf                  \" \%S5      S0 5       5       rG\RN                  Rf                  \" \%S5      S1 5       5       rH\I" S2S2S39rJ\RN                  Rf                  \" \%S45       " S5 S65      5       5       rKg! \& a    \" S	5      r% GNf = f)7z4
Test SciPy functions versus mpmath, if available.

    N)assert_assert_allclose)pi)_pep440)MissingModulecheck_versionFuncDataassert_func_equal)
ArgFixedArg
ComplexArgIntArgassert_mpmath_equalnonfunctional_tooslow
trace_argstime_limitedexception_to_nan
inf_to_nan)_sinpi_cospi_lgam1p_lanczos_sum_expg_scaled_log1pmx	_igam_facmpmathzXmpmath gmpy2 backend is not thread-safe, see https://github.com/mpmath/mpmath/issues/974reasonz0.10c            
         / n [         R                  " SSS5       H  n[         R                  " SS[         R                  -  S5       HO  nU[         R                  " SU-  5      -  nU R                  U[        [        R                  " U5      5      45        MQ     M     [         R                  " U [         R                  S9n [        [        R                  U SS5      R                  5         g )	Ni   
   r                    ?dtype   )nplogspacelinspacer   expappendcomplexr   eiarraycdoubler	   scexpicheck)datasetrpzs       [/var/www/html/land-ocr/venv/lib/python3.13/site-packages/scipy/special/tests/test_mpmath.pytest_expi_complexr7   &   s    G[[a$Q"%%,A"&&A,ANNAwvyy|456 - % hhwbjj1GRWWgq!$**,    z0.19c                     / n S Hq  n[         R                  " SSS5       HR  n[        R                  " S5         U R	                  X[        [        R                  " X5      5      45        S S S 5        MT     Ms     [         R                  " U 5      n [        [        R                  U SSSS	9R                  5         g ! , (       d  f       M  = f)
N)2   3   r         d   r   r%   r   vIh%<=rtol)r&   r'   r   workdpsr*   floatexpintasarrayr	   r/   expnr1   )r2   nxs      r6   test_expn_large_nrJ   6   s     GQ3'A$eFMM!,?&@AB %$ (  jj!GRWWgvqu5;;=	 %$s   1B::
C	c            
      ~   / n / SQnU Hn  nU He  nU H\  nUSU-  -   n[         R                  " S5         [        [         R                  " X%5      5      nS S S 5        U R	                  X%W45        M^     Mg     Mp     [
        R                  " U 5      n [        S U SSSS9R                  5         g ! , (       d  f       N`= f)	N)g     Xg      #            ?g      #@g     X@r"   x   c                 D    [         R                  " U R                  U5      $ Nr/   hyp0f1realvr5   s     r6   <lambda>$test_hyp0f1_gh5764.<locals>.<lambda>X   s    "))AFFA.r8   r?   r   r@   rA   )	r   rC   r+   rR   r*   r&   r-   r	   r1   )r2   axisrU   rI   yr5   ress          r6   test_hyp0f1_gh5764r[   G   s     G.DA1H ^^C(!&--"56C )c{+    hhwG. )(s    B.	.
B<c            	         [         R                  " SSS5      n [        R                  " U S5      n[         R                  " U  Vs/ s H  n[
        R                  " US5      PM     sn5      n[        XR                  [        5      SS9  g s  snf )N         rM   -q=rA   )	r&   r(   r/   rR   r-   r   r   astyperD   )vvafrU   mfs       r6   test_hyp0f1_gh_1609re   \   sf     
S#r	"B	2s	B	"5"Q6==C("5	6BB		%(u5 6s   !B
z1.1.0c                  j   / n [         R                  " SS5       H  n[         R                  " SSS5       Hs  nU* nU R                  X2S[	        [
        R                  " X2S5      5      45        U* U-   S-
  nU R                  X2S[	        [
        R                  " X2S5      5      45        Mu     M     S H>  nS H5  nU R                  X2S[	        [
        R                  " X2S5      5      45        M7     M@     [         R                  " U 5      n [        [        R                  U SS	S
SS9R                  5         g )N      r   r%   )      %      rL   r   rM   r%   r    )      rL   r   rM   r%         ?r         @r   r%   r      V瞯<-a=rB   atol)r&   aranger(   r*   rD   r   hyperur-   r	   r/   r1   )r2   rH   bas       r6   test_hyperu_around_0ry   i   s    GYYr1RB'AANNA!U6==q+A%BCDQ
ANNA!U6==q+A%BCD	 (  05ANNA!U6==q+A%BCD 6 0 hhwGRYYAEFLLNr8   1.0.0c                     SS/n U [        [        R                  " / SQSS95      -  n U  VVVVs/ s H2  u  pp4X#:X  d  M  [        U5      U:X  d  M  US:  d  M&  US:w  d  M.  XX44PM4     n nnnn[	        SS	9nU  Vs/ s H%  of[        [        R                  " U0 UD65      4-   PM'     nn[        R                  " U[        R                  S
9n[        [        R                  USSSS9R                  5         g s  snnnnf s  snf )N)r   r|   ffffff?)r   r~   r}   )r   r%   gffffffr<   )repeatr   r   T)	eliminater#   r   r%   r   rp   绽|=rA   )list	itertoolsproductrounddictrD   r   hyp2f1r&   r-   float64r	   r/   r1   )ptsrx   rw   crI   kwr4   r2   s           r6   test_hyp2f1_strange_pointsr      s     	C 4	!!"5a@AAC'*'*q6 	Ah!m 	()A 	23u* 	qs   
	B>ABcE&--1b1244cGBhhwbjj1GRYYAE:@@B
 Cs"   C5
C5
C5
C5
 C5
:,C=z0.13c            	      h   / SQn U  Vs/ s H"  o[        [        R                  " U6 5      4-   PM$     nn[        R                  " U[        R
                  S9n[        R                  " SS9   [        [        R                  USSSS9R                  5         S S S 5        g s  snf ! , (       d  f       g = f)	N)r%   r   rp   r   )UUUUUU?gUUUUUU?g?g      ?)      ?rM   g      ?gX<ݚ?)r   r~   rp   )r   r   r~   rp   )r   rk   rk   rp   r   )gx&?r|   rg   g333333?)r   r   r   +?)r   r   r   r|   )r   rp   rh   Gz?)rm   rL   rp   r   )r   rn   g      
r   )g*4]92@g|O%@gCu?)  rj   r   )r   r         %@r   )r|   r   r%         ?)r|   r   r%   rl   )r      rh   r   )r   r   rh   rl   )rM   g     prm   gm˟?r#   ignoreinvalidr   r<   r   rA   )
rD   r   r   r&   r-   r   errstater	   r/   r1   )r   r4   r2   s      r6   test_hyp2f1_real_some_pointsr      s    C. 9<<1E&--+,..G<hhwbjj1G	X	&GY>DDF 
'	& = 
'	&s   )B+*B##
B10.14c            	      8   / SQn S nU  Vs/ s H5  n[        [        X5      5      [        [        R                  " U6 5      4-   PM7     nn[
        R                  " U[
        R                  S9n[        [        R                  USSSS9R                  5         g s  snf )N))p   )r;   r    )r    gwJ)r    |r   r   )r    r   rj   r   c                 X    [        U [        5      (       a  [        U S   5      U S   -  $ U $ )Nr   r%   )
isinstancetuplerD   rI   s    r6   fev&test_hyp2f1_some_points_2.<locals>.fev   s+    a1;1%%Hr8   r#   r   r<   r   rA   )r   maprD   r   r   r&   r-   r   r	   r/   r1   )r   r   r4   r2   s       r6   test_hyp2f1_some_points_2r      s|    C JMMAuS[!U6==!+<%=$??GMhhwbjj1GRYYAE:@@B Ns   <Bc                     / n S HS  nS HJ  nS HA  nS H8  n [        [        R                  " XX45      5      nU R	                  XX4U45        M:     MC     ML     MU     [
        R                  " U [
        R                  S9n [
        R                  " SS9   [        [        R                  U SS	S
SS9R                  5         S S S 5        g ! [         a     M  f = f! , (       d  f       g = f)N)r   rg   g?rh   r    )g      r|   r%   g@)r   r   rh   gffffff4@)r   g)\(Gzr   g333333?gffffff?rm   r    r#   r   r   r   r<   &.>TrB   ignore_inf_sign)rD   r   r   	Exceptionr*   r&   r-   r   r   r	   r/   r1   )r2   rx   rw   r   r5   rU   s         r6   test_hyp2f1_real_somer      s    G(#A(CA!!&--a";< NNA!?3 D ) $ ) hhwbjj1G	X	&GY!%	'',uw 
'	& % ! !
 
'	&s    C+C
CC
C&z0.12c            
      z   Sn [         R                  " U S4[         R                  5      n[         R                  R	                  S5        [         R                  R                  SU 5      US S 2S4'   [         R                  R                  SU 5      US S 2S4'   [         R                  R                  SU 5      US S 2S4'   S[         R                  R                  U 5      -  S-
  US S 2S4'   US S 2S4==   S	[         R                  R                  SU 5      -  -  ss'   US S 2S4==   S	[         R                  R                  SU 5      -  -  ss'   US S 2S4==   S	[         R                  R                  SU 5      -  -  ss'   U H  n[        R                  S
:  aK  [        US S 5      R                  5       [        US   5      :  a  [        US S 5      R                  5       US'   [        [        R                  " [        US S 5      6 5      US'   M     [        [         R                  USSSS9R#                  5         g )N  rh     rm   r   r%   r   rp   r|   r   r<   r   r   rA   )r&   zerosr   randomseedparetorandrandintr   __version__absmaxrD   r   r   r	   r/   r1   )npointsr2   dss      r6   test_hyp2f1_real_randomr      s    Ghh|RZZ0GIINN4II$$S'2GAqDMII$$S'2GAqDMII$$S'2GAqDMbiinnW--1GAqDMAqDMb299,,Q888MAqDMb299,,Q888MAqDMb299,,Q888M&2bq6{ 3r!u:-BrF)1fmmU2bq6]341  RYYqt<BBDr8   c                     [         R                  R                  [         R                  R                  p S[         R                  l        [        R
                  " [        R                  " SSS5      [        R                  " SSS5      5      u  p#[        R
                  " [        R                  " SSS5      [        R                  " SSS5      5      u  pE[        R                  UR                  5       UR                  5       4   S[        R                  UR                  5       UR                  5       4   -  -   n[        [        R                  S	 US
SS9  [        [        R                  S US
SS9  Xs[         R                  l        [         R                  l        g ! Xs[         R                  l        [         R                  l        f = f)NF   r   r%         ig?r"   c                 @    [        [        R                  " U 5      5      $ rP   )r+   r   erfr   s    r6   rV   "test_erf_complex.<locals>.<lambda>  s    GFJJqM,Br8   Fr@   
vectorizedrB   c                 @    [        [        R                  " U 5      5      $ rP   )r+   r   erfcr   s    r6   rV   r     s    WV[[^-Dr8   )r   mpdpsprecr&   meshgridr(   r'   r_ravelr
   r/   r   r   )old_dpsold_precx1y1x2y2pointss          r6   test_erf_complexr      s%    		vyy~~X:		R[[a4bkk#q"6MNR[[b"5r{{3B7OPrxxz"((*,-255RXXZ9O3P0PP"&&"BF%*	8"''#Df%*	8 )0%		vyy~%		vyy~s   D=F ,G	z0.15c                  F   / n S H|  nU R                  SSU4SSU4SSU4SSU4SSU4SSU4SSU4SSU4SSU4SS	U4S
SU4SS	U4SSU4SS	U4S
SU4SSU4SSU4SSU4S
SU4SSU4SSU4SSU4S
SU4SSU4SSU4SSU4/5        M~     S nU  Vs/ s H  o3U" US   US   US   5      4-   PM     nn[        R                  " U[        R                  S9nS n[        R                  " SS9   [        XTSS
SSS9R                  5         S S S 5        g s  snf ! , (       d  f       g = f) N)r   gmư>gL7A`?r%   r%   r|   r~   g333333?g333333gr    r   rp      rh   r   rg   r   ig @g&@g g&c                 j    U[        U5      :X  a  US:X  a  US:X  a  gg[        R                  " XU5      $ Nr%   r   )intr   legenp)numurI   s      r6   mplegenptest_lpmv.<locals>.mplegenp0  s1    R=Q!VQw}}RQ''r8   r   r   r#   c                 V    [         R                  " U R                  [        5      X5      $ rP   )r/   lpmvra   r   )r   r   rI   s      r6   evftest_lpmv.<locals>.evf<  s    wwryy~r--r8   r   r   ro   r   +=rs   )extendr&   r-   r   r   r	   r1   )r   rI   r   r4   r2   r   s         r6   	test_lpmvr     s   
C,

1IAJAJQKQKaLaLqMAJAJ1IAJAJQKAJQKQKaLQKaLaLqMaLqMqMN5
 	 -<( ;>>#QHQqT1Q41.00#G>hhwbjj1G. 
X	&wEBHHJ 
'	& ? 
'	&s    D(D
D c                     [         R                  R                  S5        [         R                  [         R                  " SSS5      [         R                  " SSS5      [         R                  " SSS5      [         R
                  " SS	S5      [         R
                  " SS	S5      S
-   SSSSS4
   n U n[         R                  " [         R                  " US S 2S 4   U S S S 24   5      5      R                  SS5      R                  n[        R                  R                  [        R                  R                  pC S[        R                  l        [        [        R                   S USSSS9  [        [        R"                  S USSS9  X4s[        R                  l        [        R                  l        g ! X4s[        R                  l        [        R                  l        f = f)Nr   8r=   r<   r   r    r|   r%   r   rM   gffffffr   g33333Yg3333r     c                 @    [        [        R                  " X5      5      $ rP   )rD   r   betarx   rw   s     r6   rV   test_beta.<locals>.<lambda>[  s    uV[[->'?r8   Fr   T)r   rB   r   c           
      z    [        [        R                  " [        [        R                  " X5      5      5      5      $ rP   )rD   r   logr   r   r   s     r6   rV   r   c  s     vzz#fkk!.?*@ABr8   r   )r&   r   r   r   r'   ru   r-   broadcast_arraysreshapeTr   r   r   r   r
   r/   r   betaln)rw   rx   abr   r   s        r6   	test_betar   G  s[    IINN4
bkk$Q'kk#r1%kk"a#iiR#iiR#c)$FH- 	.A 	
A	"%%a$i46;	<	D	DQ	K	M	MB		vyy~~X:		"''?%*$*.	0 	IIB	 )0%		vyy~%		vyy~s   7AF0 0,Gg?c            	      6   [         [        R                  " / SQ5      -   n [        R                  " SS[        R                  -  S5      n[        R
                  " X5      u  pU [        R                  " SU-  5      -  n[        R                  SU-   SU-   4   R                  5       nU Vs/ s H#  oD[        [        R                  " U5      5      4PM%     nn[        R                  " U5      n[        [        R                  USSSS9R                  5         g s  snf )	N)gg{Gzr   g{Gz?g?r   r   ri   r"   r%   vIh%,=rA   )LOGGAMMA_TAYLOR_RADIUSr&   r-   r(   r   r   r)   r   flattenr+   r   loggammar	   r/   r1   r3   thetadzr5   z0r2   s         r6   test_loggamma_taylor_transitionr  r  s    
 	*E!FFAKK1RUU7B'E{{1$HA	
266"U(	B
a"fa"fn%%'A<=>AbGFOOB/01AG>hhwGR[['1ae4::< ?s   **Dc            	      X   [         R                  " S[         R                  " [        5      S5      n [         R                  " SS[         R
                  -  S5      n[         R                  " X5      u  pU [         R                  " SU-  5      -  n[         R                  SU-   SU-   4   R                  5       nU Vs/ s H#  oD[        [        R                  " U5      5      4PM%     nn[         R                  " U5      n[        [        R                  USSSS	9R!                  5         g s  snf )
Nir    r   r   ri   r"   r%   r   rA   )r&   r'   log10r  r(   r   r   r)   r   r  r+   r   r  r-   r	   r/   r1   r  s         r6   test_loggamma_taylorr    s     	C"892>AKK1RUU7B'E{{1$HA	
266"U(	B
a"fa"fn%%'A<=>AbGFOOB/01AG>hhwGR[['1ae4::< ?s   ;*D'c            
         [         R                  [         R                  " SSS5      * S[         R                  " SSS5      4   n U R                  5       n[         R                  " X5      u  pU SU-  -   n[         R
                  " SSS5      R                  SSS5      nU[         R                  " U4UR                  -  5      -   R                  5       n[        R                  " S5         U Vs/ s H#  oU[        [        R                  " U5      5      4PM%     nnS S S 5        [         R                  " W5      n[        [         R                  USSS	S
9R#                  5         g s  snf ! , (       d  f       NS= f)Nr|   rp   r   r"   iVr%   r>   r`   rA   )r&   r   r'   copyr   ru   r   dstacksizer  r   rC   r+   rgammar-   r	   r/   r1   )dxdyr  r   r5   r  r2   s          r6   test_rgamma_zerosr    s    
BQ''BKKR,CC	DB	B[[ FB	beBIIar"**1a4E	B5+,	,557A		>?@ab 123a@ 
 hhwGRYYAE288: A 
	s   (E&-*E!E&!E&&
E4c            
         [         R                  " [         R                  S5      n [        U 5      /n[         R                  " [         R                  S5      n UR	                  [        U 5      5        [
        R                  " U5      n[
        R                  S[
        R                  " SSS5      * S[
        R                  " SSS5      S4   nUR                  5       n[
        R                  " X#5      u  p#US	U-  -   nU[
        R                  " U4UR                  -  5      -   R                  5       n[         R                  " S
5         U Vs/ s H#  of[        [         R                  " U5      5      4PM%     nnS S S 5        [
        R                  " W5      n[!        ["        R                  USSSS9R%                  5         g s  snf ! , (       d  f       NS= f)Nrm   rL   gQοr|   r    r   gQ?r"   r!   r%   r   rA   )r   findrootdigammarD   r*   r&   r-   r   r'   r  r   r  r  r  rC   r+   r	   r/   r1   )rootrootsr  r  r  r5   r  r2   s           r6   test_digamma_rootsr    sM    ??6>>3/D4[ME??6>>40D	LLtHHUOE 
ur{{2sB//BKKR4LdR	SB	B[[ FB	beB	B5+,	,557A		?@Aqr 234qA 
 hhwGRZZ!QU399; B 
	s   G*G 6G G
Gc            
      v   [        [        R                  5      n [        R                  " SSS5      * n[        R
                  [        R                  " SSS5      * S[        R                  " SSS5      4   n[        R                  " X5      u  pUSU-  -   R                  5       n[        R                  " S5         U Vs/ s H  oD[        U " U5      5      4PM     nnS S S 5        [        R                  " W5      n[        [        R                  USS	S
S9R                  5         g s  snf ! , (       d  f       NS= f)N,  r>   r   r   rh   r"   (   r%   r@   rA   )r   r   r  r&   r'   r   r   r  rC   r+   rF   r	   r/   r1   )r  rI   rY   r5   r  r2   s         r6   test_digamma_negrealr     s     v~~.G	S#s	##A
r{{1b!$$aRA)>>?A;;qDA	
RTA		89:",-: 
jj!GRZZ!QU399; ; 
	s   :D*?D%D*%D**
D8c            
      
   [         R                  " SSS5      * n [         R                  " / SQ5      n[         R                  " X5      u  pU SU-  -   R	                  5       n[
        R                  " S5         U Vs/ s H#  o3[        [
        R                  " U5      5      4PM%     nnS S S 5        [         R                  " W5      n[        [        R                  USSS	S
9R                  5         g s  snf ! , (       d  f       NS= f)Nr  r  r>   )gffffffgg@gffffff@r"   r!   r   r%   r@   rA   )r&   r'   r-   r   r  r   rC   r+   r  rF   r	   r/   r1   rI   rY   r5   r  r2   s        r6   test_digamma_boundaryr#    s    
 
S#s	##A
'(A;;qDA	
RTA		?@Aqr 234qA 
jj!GRZZ!QU399; B 
	s   6C4;*C/%C4/C44
Dc                  6   Sn [         R                  " SU -  SU -  S5      nUR                  5       n[         R                  " X5      u  pUR	                  5       UR	                  5       p![
        R                  " S5         [        X5       VVs/ s H%  u  p4X4[        [
        R                  " X4SS95      4PM'     nnnS S S 5        [         R                  " W5      n[        [        R                  USSS	S
9R                  5         g s  snnf ! , (       d  f       NT= f)Nri   rM   r   r:   r>   Trw   regularizedr?   r`   rA   )r&   r(   r  r   r  r   rC   ziprD   gammaincr-   r	   r/   r1   )smallrx   rI   a0x0r2   s         r6   test_gammainc_boundaryr,    s     E
CIqw+A	A;;qDA99;		q		!$Q,!*vr E&//""MNO!* 	 , 
 hhwGR[['6159??A	, 
	s   >D
,D9D
D


Dc            	         S n [         R                  " SS5      n[         R                  " SS[        -  5      nS[         R                  " U[         R                  " SU-  5      5      -   R                  5       n[         R                  " U Vs/ s H  oDU " U5      4PM     sn5      n[        [        R                  USSSS	9R                  5         g s  snf )
Nc                 H    [        [        R                  " SSU -
  5      5      $ Nr   r%   )r+   r   polylogr5   s    r6   spence"test_spence_circle.<locals>.spence  s    v~~aQ/00r8   rM   rm   r   r   r%   r"   r   rA   )r&   r(   r   outerr)   r  rF   r	   r/   r2  r1   )r2  r3   r  r5   r  r2   s         r6   test_spence_circler5    s    1 	CAKK1R4 E	
RXXa5)*	*335AjjQ7Qrvbz*Q78GRYYAE288: 8s   Cc                     [         R                  " [        5      R                  n [         R                  [         R
                  " SSS5      * S[         R
                  " SSS5      4   nUR                  5       n[         R                  " X5      u  pUSU-  -   n[         R                  " SSS5      R                  SSS5      nU[         R                  " U4UR                  -  5      -   R                  5       n[         R                  " U Vs/ s H$  nU[        [        R                   " U5      5      4PM&     sn5      n[#        [$        USSS	U -  S
9R'                  5         g s  snf )Nr   r  rp   r"   r>   r%   r|   r   rA   )r&   finforD   epsr   r'   r  r   ru   r   r  r  r  rF   r+   r   sinpir	   r   r1   r9  r  r  r  r   r5   r  r2   s           r6   test_sinpi_zerosr<    s   
((5/

C	AsA&&2;;sAq+AA	BB	B[[ FB	beBIIdC#++Aq"5E	B5+,	,557Ajj$%'$%b wv||B'789$%' (GVWa3/557's   
+Ec                     [         R                  " [        5      R                  n [         R                  [         R
                  " SSS5      * S[         R
                  " SSS5      4   nUR                  5       n[         R                  " X5      u  pUSU-  -   n[         R                  " SSS5      S-   R                  SSS	5      nU[         R                  " U4UR                  -  5      -   R                  5       n[         R                  " U Vs/ s H$  nU[        [        R                   " U5      5      4PM&     sn5      n[#        [$        USSS
U -  S9R'                  5         g s  snf )Nr   r  rp   r"   r7  r>   r%   rM   r|   r   rA   )r&   r8  rD   r9  r   r'   r  r   ru   r   r  r  r  rF   r+   r   cospir	   r   r1   r;  s           r6   test_cospi_zerosr?  (  s   
((5/

C	AsA&&2;;sAq+AA	BB	B[[ FB	beBYYtS!$s*33Aq"=E	B5+,	,557Ajj$%'$%b wv||B'789$%' (G VWa3/557's   +E"c            
         S n S n[         R                  " SSS5      n[         R                  [         R                  " SSS5      * S[         R                  " SSS5      4   n/ nU HH  n[	        [
        R                  " U5      5      nU H   nXg-   nUR                  XU" X5      45        M"     MJ     [         R                  " U5      n[        XS	S
SS9R                  5         g )Nc                 4    [         R                  " X5      S   $ Nr   r/   ellipjums     r6   dn"test_dn_quarter_period.<locals>.dn=  s    yyq!!r8   c                 >    [        [        R                  " SXS95      $ NrH  rE  )rD   r   ellipfunrE  s     r6   	mpmath_dn)test_dn_quarter_period.<locals>.mpmath_dn@  s    V__TQ455r8   r   r%   ri   r|   r  r    r?   r   r   rA   )r&   r(   r   r'   rD   r   ellipkr*   rF   r	   r1   )	rH  rM  rG  dur2   m0u0du0r4   s	            r6   test_dn_quarter_periodrT  ;  s    "6 	Aq"A	BR((!R[[b"-EE	FBG6==$%CANNA9Q#345  
 jj!GR&!%0668r8   c                 t   [         R                  " U5         [         R                  " U 5      n [         R                  " U R                  [         R
                  -
  S[         R
                  -  -  5      n[         R                  " [         R                  " U 5      U5      nS S S 5        U$ ! , (       d  f       W$ = frB  )r   rC   mpcceilimagr   lambertwr)   )r5   r   unwindrZ   s       r6   _mpmath_wrightomegar[  T  sw    		JJqMaffvyy01VYY;?@oofjjmV4 
 J	 
	 Js   BB((
B7c                     [         R                  " SSS5      * n [         R                  " [         R                  [         R                  5      /n[         R                  " [         R                  [         R                  * 5      /n[         R                  " [         R                  * [         R                  5      /n[         R                  " [         R                  * [         R                  * 5      /n[        S5       H  nUR                  [         R                  " US   [         R                  5      5        UR                  [         R                  " US   [         R                  * 5      5        UR                  [         R                  " US   [         R                  5      5        UR                  [         R                  " US   [         R                  * 5      5        M     [         R                  " XX445      n[         R                  " X5      u  pU SU-  -   R                  5       n[         R                  " U Vs/ s H  nU[        [        US5      5      4PM     sn5      n	[        [        R                  U	SSSS	9R!                  5         g s  snf )
Nr    r      r:   r|   r"   r%   :0yE>rA   )r&   r'   	nextafterr   infranger*   hstackr   r  rF   r+   r[  r	   r/   wrightomegar1   )
rI   picut_abovepicut_belownpicut_abovenpicut_belowirY   r5   r  r2   s
             r6   test_wrightomega_branchri  \  s    
RB	A<<rvv./K<<w/0KLL"%%01LLL"%%"&&12L2Y2<<B@A2<<B"&&ABBLLb)9266BCBLLb)9BFF7CD	 
 			;\HIA;;qDA	
RTAjj$%'$%b w':2r'BCD$%' (G R^^Wa6<<>'s   8!J
c                     [         R                  " SS5      n [         R                  " SS[         R                  -  5      n[         R                  " X5      u  pU SU-  -   R	                  5       n[         R
                  " U Vs/ s H  nU[        [        US5      5      4PM     sn5      n[        [        R                  USSSS9R                  5         g s  snf )	Nr~   r%   r   r"   r]  r   rq   rA   r&   r(   r   r   r  rF   r+   r[  r	   r/   rc  r1   r"  s        r6   test_wrightomega_region1rl  s  s     	BA
AqwA;;qDA	
RTAjj$%'$%b w':2r'BCD$%' (G R^^Wa7==?'   !Cc                     [         R                  " SS5      n [         R                  " S[         R                  -  S5      n[         R                  " X5      u  pU SU-  -   R	                  5       n[         R
                  " U Vs/ s H  nU[        [        US5      5      4PM     sn5      n[        [        R                  USSSS9R                  5         g s  snf )	Nr~   r%   r|   r"   r]  r   rq   rA   rk  r"  s        r6   test_wrightomega_region2ro    s     	BA
BruuHb!A;;qDA	
RTAjj$%'$%b w':2r'BCD$%' (G R^^Wa7==?'rm  c                     [         R                  " SSS5      [         R                  " SSS5      p[         R                  " X5      u  pU SU-  -   R                  5       n[         R                  " U Vs/ s H$  nU[        [        R                  " U5      5      4PM&     sn5      n[        [        R                  USSSS9R                  5         g s  snf )Nr|   r%   r]  r"   r   r@   rA   )r&   r(   r   r  rF   r+   r   rY  r	   r/   r1   r"  s        r6   test_lambertw_smallzrq    s     ;;r1b!2;;r1b#9q;;qDA	
RTAjj$%'$%b wvr':;<$%' (G R[['1ae4::<'s   2+Cr=   maxprecmaxtermsz0.17c                      \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS r\R>                  RA                  SSS9S 5       r!S  r"\R>                  RA                  SSS9S! 5       r#S" r$S# r%S$ r&S% r'S& r(S' r)S( r*S) r+S* r,S+ r-S, r.S- r/S. r0S/ r1S0 r2S1 r3S2 r4S3 r5S4 r6S5 r7S6 r8S7 r9S8 r:S9 r;S: r<S; r=S< r>S= r?S> r@S? rAS@ rBSA rCSB rDSC rESD rFSE rGSF rHSG rISH rJSI rKSJ rLSK rMSL rNSM rOSN rPSO rQ\R>                  RA                  SSP9SQ 5       rRSR rS\R>                  RA                  SSP9SS 5       rT\UST 5       rVSU rWSV rX\R>                  RA                  SSWS9SX 5       rYSY rZSZ r[S[ r\\R>                  RA                  SSP9S\ 5       r]\US] 5       r^\R>                  RA                  SSP9S^ 5       r_\R>                  R                  S_5      S` 5       raSa rbSb rc\R>                  RA                  SSP9Sc 5       rdSd reSe rfSf rg\USg 5       rhSh ri\R>                  R                  Si5      Sj 5       rjSk rk\USl 5       rlSm rm\R>                  RA                  SSnS9So 5       rn\USp 5       roSq rpSr rq\R>                  RA                  SSP9Ss 5       rr\R>                  RA                  SStS9Su 5       rsSv rt\R>                  RA                  SSwS9Sx 5       ruSy rvSz rw\R>                  RA                  S{S|9S} 5       rxS~ ryS rzS r{S r|S r}S r~S rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS r\R>                  RA                  SSS9S 5       rSrg)TestSystematici  c                     [        S [        R                  [        SS5      /SS9  [        S [        R                  [        SS5      /5        g )	Nc                 4    [         R                  " U 5      S   $ Nr   r/   airyr1  s    r6   rV   ,TestSystematic.test_airyai.<locals>.<lambda>      bggajmr8       ח    חAh㈵>rA   c                 4    [         R                  " U 5      S   $ ry  rz  r1  s    r6   rV   r|    r}  r8        @     @@)r   r   airyair   selfs    r6   test_airyaiTestSystematic.test_airyai  sC    3"MM s^,!%	' 	3"MM s^,	.r8   c                 N    [        S [        R                  [        5       /5        g )Nc                 4    [         R                  " U 5      S   $ ry  rz  r1  s    r6   rV   4TestSystematic.test_airyai_complex.<locals>.<lambda>  r}  r8   )r   r   r  r   r  s    r6   test_airyai_complex"TestSystematic.test_airyai_complex  s    3"MM'\N	,r8   c                 j    [        S S [        SS5      /SS9  [        S S [        S	S
5      /5        g )Nc                 4    [         R                  " U 5      S   $ Nr%   rz  r1  s    r6   rV   2TestSystematic.test_airyai_prime.<locals>.<lambda>  r}  r8   c                 ,    [         R                  " U SS9$ Nr%   )
derivativer   r  r1  s    r6   rV   r        "MM!:r8   r~  r  r  rA   c                 4    [         R                  " U 5      S   $ r  rz  r1  s    r6   rV   r    r}  r8   c                 ,    [         R                  " U SS9$ r  r  r1  s    r6   rV   r    r  r8   r  r  r   r   r  s    r6   test_airyai_prime TestSystematic.test_airyai_prime  ?    3 6; s^,!%	' 	3 6; s^,	.r8   c                 4    [        S S [        5       /5        g )Nc                 4    [         R                  " U 5      S   $ r  rz  r1  s    r6   rV   :TestSystematic.test_airyai_prime_complex.<locals>.<lambda>  r}  r8   c                 ,    [         R                  " U SS9$ r  r  r1  s    r6   rV   r    r  r8   r   r   r  s    r6   test_airyai_prime_complex(TestSystematic.test_airyai_prime_complex      3 6;'\N	,r8   c                 j    [        S S [        SS5      /SS9  [        S S [        S	S
5      /5        g )Nc                 4    [         R                  " U 5      S   $ rB  rz  r1  s    r6   rV   ,TestSystematic.test_airybi.<locals>.<lambda>  r}  r8   c                 .    [         R                  " U 5      $ rP   r   airybir1  s    r6   rV   r        "MM!,r8   r~  r  r  rA   c                 4    [         R                  " U 5      S   $ rB  rz  r1  s    r6   rV   r    r}  r8   c                 .    [         R                  " U 5      $ rP   r  r1  s    r6   rV   r    r  r8   r  r  r  r  s    r6   test_airybiTestSystematic.test_airybi  s?    3 6- s^,!%	' 	3 6- s^,	.r8   c                 4    [        S S [        5       /5        g )Nc                 4    [         R                  " U 5      S   $ rB  rz  r1  s    r6   rV   4TestSystematic.test_airybi_complex.<locals>.<lambda>  r}  r8   c                 .    [         R                  " U 5      $ rP   r  r1  s    r6   rV   r    r  r8   r  r  s    r6   test_airybi_complex"TestSystematic.test_airybi_complex  s    3 6-'\N	,r8   c                 j    [        S S [        SS5      /SS9  [        S S [        S	S
5      /5        g )Nc                 4    [         R                  " U 5      S   $ Nrp   rz  r1  s    r6   rV   2TestSystematic.test_airybi_prime.<locals>.<lambda>  r}  r8   c                 ,    [         R                  " U SS9$ r  r  r1  s    r6   rV   r    r  r8   r~  r  r  rA   c                 4    [         R                  " U 5      S   $ r  rz  r1  s    r6   rV   r    r}  r8   c                 ,    [         R                  " U SS9$ r  r  r1  s    r6   rV   r    r  r8   r  r  r  r  s    r6   test_airybi_prime TestSystematic.test_airybi_prime  r  r8   c                 4    [        S S [        5       /5        g )Nc                 4    [         R                  " U 5      S   $ r  rz  r1  s    r6   rV   :TestSystematic.test_airybi_prime_complex.<locals>.<lambda>  r}  r8   c                 ,    [         R                  " U SS9$ r  r  r1  s    r6   rV   r    r  r8   r  r  s    r6   test_airybi_prime_complex(TestSystematic.test_airybi_prime_complex  r  r8   c                 d    [        [        R                  [        S 5      [	        SS5      /5        g )Nc                 :    [         R                  " SU 40 [        D6$ ry  )r   beiHYPERKWr1  s    r6   rV   )TestSystematic.test_bei.<locals>.<lambda>      vzz!Q7R'7Rr8   r  r  )r   r/   r  r   r   r  s    r6   test_beiTestSystematic.test_bei  %    BFF,-RS s^,	.r8   c                 d    [        [        R                  [        S 5      [	        SS5      /5        g )Nc                 :    [         R                  " SU 40 [        D6$ ry  )r   berr  r1  s    r6   rV   )TestSystematic.test_ber.<locals>.<lambda>  r  r8   r  r  )r   r/   r  r   r   r  s    r6   test_berTestSystematic.test_ber  r  r8   c                 8    [        S S [        SS5      /SSS9  g )Nc                 X    [         R                  " [        U 5      5      [        U 5         $ rP   )r/   	bernoullir   rH   s    r6   rV   /TestSystematic.test_bernoulli.<locals>.<lambda>  s    bll3q6&:3q6&Br8   c                 R    [        [        R                  " [        U 5      5      5      $ rP   )rD   r   r  r   r  s    r6   rV   r    s    eF,<,<SV,D&Er8   r   i2  r   rB   rH   )r   r   r  s    r6   test_bernoulliTestSystematic.test_bernoulli  s"    BE#Au-.!%	0r8   c                 t    [        [        R                  [        S 5      [	        SS5      [	        5       /SS9  g )Nc                 8    [         R                  " X40 [        D6$ rP   r   besselir  rT   s     r6   rV   -TestSystematic.test_besseli.<locals>.<lambda>      &..*I*Ir8   }Ô%I}Ô%ITgJD)rt   )r   r/   ivr   r   r  s    r6   test_besseliTestSystematic.test_besseli  s.    EEIJ'		
r8   c                 \    [        S [        S 5      [        SS5      [        5       /5        g )Nc                 D    [         R                  " U R                  U5      $ rP   )r/   r  rS   rT   s     r6   rV   5TestSystematic.test_besseli_complex.<locals>.<lambda>      qvvq)r8   c                 8    [         R                  " X40 [        D6$ rP   r  rT   s     r6   rV   r    r  r8   r  r  r   r   r   r   r  s    r6   test_besseli_complex#TestSystematic.test_besseli_complex  '    )IJ.	
r8   c           	          [        [        R                  [        S 5      [	        SS5      [	        SS5      /SS9  [        [        R                  [        S 5      [	        SS5      [	        S	S
5      /SSS9  g )Nc                 8    [         R                  " X40 [        D6$ rP   r   besseljr  rT   s     r6   rV   -TestSystematic.test_besselj.<locals>.<lambda>  r  r8   r  r  r  r  Tr   c                 8    [         R                  " X40 [        D6$ rP   r  rT   s     r6   rV   r    r  r8   r~  r  r  )r   rB   )r   r/   jvr   r   r  s    r6   test_besseljTestSystematic.test_besselj  sg    EEIJT30 		
 	EEIJT30 	
r8   c                 X    [        S [        S 5      [        5       [        5       /5        g )Nc                 D    [         R                  " U R                  U5      $ rP   )r/   r  rS   rT   s     r6   rV   5TestSystematic.test_besselj_complex.<locals>.<lambda>  r  r8   c                 8    [         R                  " X40 [        D6$ rP   r  rT   s     r6   rV   r    r  r8   r  r  s    r6   test_besselj_complex#TestSystematic.test_besselj_complex  s"    )IJUJL!	
r8   c           	          [        [        R                  [        R                  [        SS5      [        S[        R                  5      /SSS9  g Nr   r=   r   Fr`   nan_okrB   )r   r/   kvr   besselkr   r&   r`  r  s    r6   test_besselkTestSystematic.test_besselk   s6    EENNs^SBFF^,	
r8   c           	          [        [        R                  [        R                  [        SS5      [        S[        R                  5      /SSS9  g r  )	r   r/   knr   r  r   r   r&   r`  r  s    r6   test_besselk_intTestSystematic.test_besselk_int)  s7    EENND#Arvv/	
r8   c                 \    [        S [        S 5      [        SS5      [        5       /5        g )Nc                 D    [         R                  " U R                  U5      $ rP   )r/   r  rS   rT   s     r6   rV   5TestSystematic.test_besselk_complex.<locals>.<lambda>4  r  r8   c                 8    [         R                  " X40 [        D6$ rP   )r   r  r  rT   s     r6   rV   r  5  r  r8   r  r  r  r  s    r6   test_besselk_complex#TestSystematic.test_besselk_complex2  r  r8   c           	      |    S n[        [        R                  [        U5      [	        SS5      [	        SS5      /SS9  g )Nc                    [        [        R                  " X40 [        D65      n[	        U5      S:  a'  [
        R                  [
        R                  " U5      -  n[	        U5      S:X  a  US:X  a  [
        R                  $ U$ )NقnQ:Br   )	rD   r   besselyr  r   r&   r`  signnanrU   rI   r3   s      r6   	mpbessely.TestSystematic.test_bessely.<locals>.mpbessely:  sZ    fnnQ5W56A1v~FFRWWQZ'1v{qAvvvHr8   r  r  r~  r    r  )r   r/   yvr   r   r  r  s     r6   test_besselyTestSystematic.test_bessely9  s8    	 	EEY'T30		
r8   c                 Z    S n[        S [        U5      [        5       [        5       /SS9  g )Nc                    [        [        R                  " X40 [        D65      n[	        U5      S:  aF  [
        R                  " SS9   [
        R                  [
        R                  " U5      -  nS S S 5        U$ U$ ! , (       d  f       U$ = f)Nr  r   r   )	r+   r   r  r  r   r&   r   r`  r  r  s      r6   r  6TestSystematic.test_bessely_complex.<locals>.mpbesselyK  sc    q7w78A1v~[[2+A 3H1H 32Hs   (A<<
Bc                 D    [         R                  " U R                  U5      $ rP   )r/   r  rS   rT   s     r6   rV   5TestSystematic.test_bessely_complex.<locals>.<lambda>S  r  r8   i:  r  r  r  s     r6   test_bessely_complex#TestSystematic.test_bessely_complexJ  s+    	 	)Y'UJL!		
r8   c           	      d    S n[        S [        U5      [        SS5      [        SS5      /5        g )Nc                     [        [        R                  " X5      5      n[        U5      S:X  a  US:X  a  [        R
                  $ U$ ry  )rD   r   r  r   r&   r  r  s      r6   r  2TestSystematic.test_bessely_int.<locals>.mpbesselyZ  s4    fnnQ*+A1v{qAvvvHr8   c                 B    [         R                  " [        U 5      U5      $ rP   )r/   ynr   rT   s     r6   rV   1TestSystematic.test_bessely_int.<locals>.<lambda>a  s    s1vq)r8   r     r~  r  r   r   r   r   r  s     r6   test_bessely_intTestSystematic.test_bessely_intY  s1    	 	)Y'E4 #dC.1	
r8   c           	         ^^ / mSU4S jjm[        [        R                  U4S j[        5       [        5       /SSS9  [        [        R                  T[        R
                  " T5      SSSS9  g )	Nc                 2  > U S:  d  US:  a  [         R                  $ U S:  d  US:  aY  [        [        X-   5      5      S-  S:X  a<  U(       a5  TR	                  [        U 5      [        U5      45        [         R                  $ [
        R                  " X5      $ )Ng   mr   r%   )r&   r  r   rD   r*   r   r   )rx   rw   nonzero
bad_pointss      r6   r   &TestSystematic.test_beta.<locals>.betai  sw    5yAI vvAQSqu%6%:q$@ %%uQxq&:;66M;;q$$r8   c                    > T" XSS9$ NT)r4   )rx   rw   r   s     r6   rV   *TestSystematic.test_beta.<locals>.<lambda>z  s    aD1r8   r   Tr   r   dy=)r   r   rt   F)r   r/   r   r   r&   r-   )r  r5  r   s    @@r6   r   TestSystematic.test_betaf  s[    
	% 	GG1UCEN 	
 	GGHHZ  	
r8   c                     [        [        R                  [        5       " [	        S 5      5      [        5       [        5       [        5       /5        g )Nc                 0    [         R                  " XSUSS9$ )Nr   Tr&  r   betaincrx   rw   rI   s      r6   rV   -TestSystematic.test_betainc.<locals>.<lambda>      FNN1A4$Pr8   )r   r/   rC  r   r   r   r  s    r6   test_betaincTestSystematic.test_betainc  s8    JJN P
 UCE35!	
r8   c                     [        [        R                  [        5       " [	        S 5      5      [        5       [        5       [        5       /SS9  g )Nc                 0    [         R                  " XUSSS9$ )Nr%   TrA  rB  rD  s      r6   rV   .TestSystematic.test_betaincc.<locals>.<lambda>  rF  r8   r   r   )r   r/   betainccr   r   r   r  s    r6   test_betainccTestSystematic.test_betaincc  s;    KKN P
 UCE35!		
r8   c                    ^^ / mSU4S jjm[        [        R                  U4S j[        5       [        5       /SS9  [        [        R                  T[        R
                  " T5      SSS9  g )Nc           	        > [        U5      S[        U 5      S-   -  :  a  [        R                  $ X:  ax  [        [        X-
  5      [        R                  " [        X-
  5      5      -
  5      S:  a<  U(       a5  TR                  [        U 5      [        U5      45        [        R                  $ [        R                  " X5      $ )Nr  r%   rq   )r   r&   r  rD   r   r*   r   binomial)rH   kr4  r5  s      r6   rR  +TestSystematic.test_binom.<locals>.binomial  s    1vSVaZ(( vvuU13Z"((5:*>>?%G %%uQxq&:;66M??1((r8   c                    > T" XSS9$ r8  r9  )rH   rS  rR  s     r6   rV   +TestSystematic.test_binom.<locals>.<lambda>  s    !5r8   r   rL  r   r   rt   r=  )r   r/   binomr   r&   r-   )r  r5  rR  s    @@r6   
test_binomTestSystematic.test_binom  sU    
	) 	HH5UCEN		
 	HHHHZ 	
r8   c                 V    [        S [        S 5      [        5       [        5       /SS9  g )Nc                 B    [         R                  " [        U 5      U5      $ rP   )r/   eval_chebytr   rH   rI   s     r6   rV   0TestSystematic.test_chebyt_int.<locals>.<lambda>      A2r8   c                 8    [         R                  " X40 [        D6$ rP   )r   chebytr  r^  s     r6   rV   r_        &--*H*Hr8   r:   rL  r/  r  s    r6   test_chebyt_intTestSystematic.test_chebyt_int  %    2HIXsu		
r8   Fz'some cases in hyp2f1 not fully accurate)runr   c                 b    [        [        R                  S [        SS5      [        5       /SS9  g )Nc                 f    [        5       " [        [        R                  5      5      " X40 [        D6$ rP   )r   r   r   rb  r  r^  s     r6   rV   ,TestSystematic.test_chebyt.<locals>.<lambda>  '     /r8   e   '  r  )r   r/   r]  r   r  s    r6   test_chebytTestSystematic.test_chebyt  s+    NN s^SU#	
r8   c                 V    [        S [        S 5      [        5       [        5       /SS9  g )Nc                 B    [         R                  " [        U 5      U5      $ rP   )r/   eval_chebyur   r^  s     r6   rV   0TestSystematic.test_chebyu_int.<locals>.<lambda>  r`  r8   c                 8    [         R                  " X40 [        D6$ rP   )r   chebyur  r^  s     r6   rV   rt    rc  r8   r:   rL  r/  r  s    r6   test_chebyu_intTestSystematic.test_chebyu_int  rf  r8   c                 d    [        [        R                  S [        SS5      [        5       /5        g )Nc                 f    [        5       " [        [        R                  5      5      " X40 [        D6$ rP   )r   r   r   rv  r  r^  s     r6   rV   ,TestSystematic.test_chebyu.<locals>.<lambda>  rk  r8   rl  rm  )r   r/   rs  r   r  s    r6   test_chebyuTestSystematic.test_chebyu  s(    NN s^SU#	
r8   c                     S n[        U[        R                  [        5       /5        [        U[        R                  [	        / SQ5      /5        g )Nc                 4    [         R                  " U 5      S   $ r  r/   shichir   s    r6   chi$TestSystematic.test_chi.<locals>.chi      99Q<?"r8   gU@X   g   V@)r   r   r  r   r   r  r  s     r6   test_chiTestSystematic.test_chi  4    	#CceW5Ch7Q.R-STr8   c                     S n[        U[        R                  [        [	        [
        R                  * S5      [	        [
        R                  S5      5      /SS9  g )Nc                 4    [         R                  " U 5      S   $ r  r  r1  s    r6   r  ,TestSystematic.test_chi_complex.<locals>.chi  r  r8   r~  r  r`   rA   )r   r   r  r   r+   r&   r`  r  s     r6   test_chi_complexTestSystematic.test_chi_complex  C    	# 	JJ.0DEF		
r8   c                 V    S n[        U[        R                  [        SS5      /5        g )Nc                 4    [         R                  " U 5      S   $ r  r/   sicir   s    r6   ci"TestSystematic.test_ci.<locals>.ci      771:a= r8   r~  r  )r   r   r  r   r  r  s     r6   test_ciTestSystematic.test_ci  s"    	! 	B		CcN+;<r8   c                     S n[        U[        R                  [        [	        S[
        R                  * 5      [	        S[
        R                  5      5      /SS9  g )Nc                 4    [         R                  " U 5      S   $ r  r  r1  s    r6   r  *TestSystematic.test_ci_complex.<locals>.ci  r  r8   r~  r  r^  rA   )r   r   r  r   r+   r&   r`  r  s     r6   test_ci_complexTestSystematic.test_ci_complex  sC    	! 	IIrvvg.RVV0DEF		
r8   c                     [         R                  " [        5      R                  n[	        [
        [        R                  [        5       /SSU-  S9  g NFr   r  )	r&   r8  rD   r9  r   r   r   r>  r   r  r9  s     r6   
test_cospiTestSystematic.test_cospi	  s2    hhuo!!FFLL35'%aPSeTr8   c                 T    [        [        [        R                  [	        5       /SSS9  g )NFr@   r  )r   r   r   r>  r   r  s    r6   test_cospi_complex!TestSystematic.test_cospi_complex  !    LL\N	
r8   c                 z    [        [        R                  [        [        R                  5      [        5       /SSS9  g )Nr`   r:   rB   r   )r   r/   r  r   r   r   r  s    r6   test_digammaTestSystematic.test_digamma  s*    JJV^^,UG	
r8   c           	          S n[        [        R                  [        [        R                  5      [        5       /SSUS9  g )Nc                     [         R                  " U R                  S:  [         R                  " U R                  5      S:  -  SS5      $ )Nr   gQ?FT)r&   whererS   r   rX  r1  s    r6   param_filter9TestSystematic.test_digamma_complex.<locals>.param_filter"  s3    88QVVaZBFF166NT,ABE4PPr8   r@   r  rB   r   r  )r   r/   r  r   r   r   )r  r  s     r6   test_digamma_complex#TestSystematic.test_digamma_complex  s5    	Q 	JJV^^,\N%	
r8   c                 f    [        [        R                  [        R                  [        5       /SS9  g )Nr   rA   )r   r/   exp1r   e1r   r  s    r6   test_e1TestSystematic.test_e1.  s"    GGIIUG		
r8   c                    [        [        R                  [        R                  [        [        [        R                  * S5      [        [        R                  S5      5      /SS9  [        [        R                  [        R                  [        R                  " SSS5      S S 2S 4   [        R                  S[        R                  " S	S
S5      [        R                  " S	S
S5      * 4   S-  -   R                  5       SS9  [        [        R                  [        R                  [        R                  " SSS5      S-   SS9  g )Nr~  r  r<  rA   r:      r   r   r   =   r   r"   irn  y                )r   r/   r  r   r  r   r+   r&   r`  r(   r   r'   r   r  s    r6   test_e1_complexTestSystematic.test_e1_complex6  s    GGII.0DEF		
 	GGII[[b#&q$w/uuQB2.RB1G0GGHKLMRUW	
 	GGII[[c5)B.		
r8   c                    [        [        R                  S [        [        R
                  " [        R                  " [        R                  5      R                  5      * [        R
                  " [        R                  " [        R                  5      R                  5      S9/5        [        [        R                  S [        R                  " SSSSS[        R                  /5      S	S
9  [        [        R                  " [        R                  " [        R                  5      5      5        [        [        R                  " [        R                  * 5      S:H  5        g )Nc                 l    U S:w  a  [         R                  " U 5      U -  $ [         R                  " S5      $ Nr   z1.0r   expm1mpfr   s    r6   rV   ,TestSystematic.test_exprel.<locals>.<lambda>Q  (    16fll1oa'Hvzz%7HHr8   r   c                 l    U S:w  a  [         R                  " U 5      U -  $ [         R                  " S5      $ r  r  r   s    r6   rV   r  W  r  r8   r`   gW:r   g   mBgyCxDr<  rA   )r   r/   exprelr   r&   r   r8  r   r   r-   r`  r   isinfr  s    r6   test_exprelTestSystematic.test_exprelN  s    IIHBFF288BJJ/334466"((2::.2235 6	
 	IIHHHeUAtT266:;		
 	266*+,		266'"a'(r8   c                     [        [        R                  [        R                  [	        [        [        R                  * S5      [        [        R                  S5      5      /5        g )N    c    cA)r   r/   r  r   r   r+   r&   r`  r  s    r6   test_expm1_complex!TestSystematic.test_expm1_complex^  s=    HHLL.0DEF	
r8   c                 L    [        [        R                  S [        5       /SS9  g )Nc                 4    [         R                  " U S-   5      $ r  r   r   r   s    r6   rV   3TestSystematic.test_log1p_complex.<locals>.<lambda>i  s    fjj1or8   <   rL  )r   r/   log1pr   r  s    r6   test_log1p_complex!TestSystematic.test_log1p_complexf  s    HH%\N		
r8   c                 :    [        [        S [        5       /SSS9  g )Nc                 :    [         R                  " U S-   5      U -
  $ r  r  r   s    r6   rV   -TestSystematic.test_log1pmx.<locals>.<lambda>q  s    fjjQ'!+r8   r  r   )r   rB   )r   r   r   r  s    r6   test_log1pmxTestSystematic.test_log1pmxn  s    +UG	
r8   c                 f    [        [        R                  [        R                  [        5       /SS9  g )Nr<  rA   )r   r/   r0   r   r,   r   r  s    r6   test_eiTestSystematic.test_eiw  s    BGGVYYeDr8   c                     [        [        R                  [        R                  [        [        [        R                  * S5      [        [        R                  S5      5      /SS9  g )Nr~  r  r   rA   )	r   r/   r0   r   r,   r   r+   r&   r`  r  s    r6   test_ei_complexTestSystematic.test_ei_complexz  s@    GGII.0DEF		
r8   c                 f    [        [        R                  [        R                  [	        SS9/5        g )Nr   rw   )r   r/   elliper   r   r  s    r6   test_ellipeTestSystematic.test_ellipe  s    BIIv}}sSzlCr8   c           	      |    [        [        R                  [        R                  [        SS5      [        SS9/5        g )Nr  r  r   r  r   r/   	ellipeincr   r  r   r  s    r6   test_ellipeincTestSystematic.test_ellipeinc  s&    BLL&--#dC.#PS*9UVr8   c                 z    [        [        R                  [        R                  [        5       [        5       /5        g rP   r  r  s    r6   test_ellipeinc_largephi&TestSystematic.test_ellipeinc_largephi      BLL&--#%Hr8   c                 ~    [        [        R                  [        R                  [        SS5      [        5       /5        g Nr  r  r   r/   	ellipkincr   ellipfr   r  s    r6   test_ellipfTestSystematic.test_ellipf  s#    BLL&--#dC.#%9PQr8   c                 z    [        [        R                  [        R                  [        5       [        5       /5        g rP   r  r  s    r6   test_ellipf_largephi#TestSystematic.test_ellipf_largephi  r  r8   c                     [        [        R                  [        R                  [	        SS9/5        [        [        R
                  S [	        SS9/SS9  g )Nr   r  c                 4    [         R                  " SU -
  5      $ r  )r   rO  )rG  s    r6   rV   ,TestSystematic.test_ellipk.<locals>.<lambda>  s    fmmAE*r8   g        )rx   r   rL  )r   r/   rO  r   r   ellipkm1r  s    r6   test_ellipkTestSystematic.test_ellipk  s:    BIIv}}sSzlCKK*3ZL		
r8   c           	      d    S n[        [        R                  U[        SS5      [        SS9/SS9  g )Nc                 0    [         R                  " SX5      $ ry  r   ellippiphirG  s     r6   r  0TestSystematic.test_ellipkinc.<locals>.ellipkinc      >>!S,,r8   r  r  r   r  Tr  r   r/   r  r   r  r  s     r6   test_ellipkincTestSystematic.test_ellipkinc  s.    	-LLs^S3Z( 		
r8   c           	      `    S n[        [        R                  U[        5       [        SS9/SS9  g )Nc                 0    [         R                  " SX5      $ ry  r  r  s     r6   r  9TestSystematic.test_ellipkinc_largephi.<locals>.ellipkinc  r
  r8   r   r  Tr  r  r  s     r6   test_ellipkinc_largephi&TestSystematic.test_ellipkinc_largephi  s*    	-LLUC#J 		
r8   c           
      L    S n[        S U[        SS5      [        SSS9/SS	9  g )
Nc                 :    U S:X  a  g[         R                  " SXS9$ )Nr   snrE  r   rL  rE  s     r6   r  +TestSystematic.test_ellipfun_sn.<locals>.sn  s    Avtq66r8   c                 4    [         R                  " X5      S   $ ry  rC  rE  s     r6   rV   1TestSystematic.test_ellipfun_sn.<locals>.<lambda>      1+r8       .    .Ar   r%   r   r^  rA   r  )r  r  s     r6   test_ellipfun_snTestSystematic.test_ellipfun_sn  s.    	7 	+s^S1]+		
r8   c           
      H    [        S S [        SS5      [        SSS9/SS	9  g )
Nc                 4    [         R                  " X5      S   $ r  rC  rE  s     r6   rV   1TestSystematic.test_ellipfun_cn.<locals>.<lambda>  r  r8   c                 ,    [         R                  " SXS9$ )NcnrE  r  rE  s     r6   rV   r"        8r8   r  r  r   r%   r   r^  rA   r  r  s    r6   test_ellipfun_cnTestSystematic.test_ellipfun_cn  '    +8s^S1]+		
r8   c           
      H    [        S S [        SS5      [        SSS9/SS	9  g )
Nc                 4    [         R                  " X5      S   $ rB  rC  rE  s     r6   rV   1TestSystematic.test_ellipfun_dn.<locals>.<lambda>  r  r8   c                 ,    [         R                  " SXS9$ rK  r  rE  s     r6   rV   r+    r%  r8   r  r  r   r%   r   r^  rA   r  r  s    r6   test_ellipfun_dnTestSystematic.test_ellipfun_dn  r(  r8   c                 N    [        [        R                  S [        5       /5        g )Nc                 .    [         R                  " U 5      $ rP   r   r   r1  s    r6   rV   )TestSystematic.test_erf.<locals>.<lambda>      fjjmr8   )r   r/   r   r   r  s    r6   test_erfTestSystematic.test_erf  s    BFF$;ceWEr8   c                 L    [        [        R                  S [        5       /SS9  g )Nc                 .    [         R                  " U 5      $ rP   r1  r1  s    r6   rV   1TestSystematic.test_erf_complex.<locals>.<lambda>  r3  r8   r=   r  )r   r/   r   r   r  s    r6   r   TestSystematic.test_erf_complex  s    BFF$;jl^sSr8   c                 ^    [        [        R                  [        S 5      [	        5       /SS9  g )Nc                 .    [         R                  " U 5      $ rP   r   r   r1  s    r6   rV   *TestSystematic.test_erfc.<locals>.<lambda>      v{{1~r8   r@   rA   )r   r/   r   r   r   r  s    r6   	test_erfcTestSystematic.test_erfc  s$    GG56UG		
r8   c                 ^    [        [        R                  [        S 5      [	        5       /SS9  g )Nc                 .    [         R                  " U 5      $ rP   r<  r1  s    r6   rV   2TestSystematic.test_erfc_complex.<locals>.<lambda>  r>  r8   r=   r  )r   r/   r   r   r   r  s    r6   test_erfc_complex TestSystematic.test_erfc_complex  s$    GG56\N		
r8   c                 f    [        [        R                  [        R                  [	        5       /SS9  g Nr=   r  )r   r/   erfir   r   r  s    r6   	test_erfiTestSystematic.test_erfi  s    BGGV[[35'SAr8   c                 f    [        [        R                  [        R                  [	        5       /SS9  g rG  )r   r/   rH  r   r   r  s    r6   test_erfi_complex TestSystematic.test_erfi_complex  s    BGGV[[:<.CHr8   c                 ^    [        [        R                  [        S 5      [	        5       /SS9  g )Nc                 .    [         R                  " U 5      $ rP   )r   ncdfr1  s    r6   rV   *TestSystematic.test_ndtr.<locals>.<lambda>  r>  r8   r=   r  )r   r/   ndtrr   r   r  s    r6   	test_ndtrTestSystematic.test_ndtr  s$    GG56UG		
r8   c                 t    [        [        R                  S [        [	        SS5      [	        SS5      S9/SS9  g )Nc                 d    [         R                  " U * [        R                  " S5      -  5      S-  $ Ng       @)r   r   r&   sqrtr1  s    r6   rV   2TestSystematic.test_ndtr_complex.<locals>.<lambda>  s     fkk1"RWWR[.1"4r8   rn  r   r   r  )r   r/   rR  r   r+   r  s    r6   test_ndtr_complex TestSystematic.test_ndtr_complex  s2    GG4'&&1WUE5JKL		
r8   c           	      b    [        [        R                  [        S 5      [	        5       /SSSS9  g )Nc                 V    [         R                  " [         R                  " U 5      5      $ rP   )r   r   rP  r1  s    r6   rV   .TestSystematic.test_log_ndtr.<locals>.<lambda>  s    vzz&++a.'Ar8   iX  r  r@   rH   r   rB   )r   r/   log_ndtrr   r   r  s    r6   test_log_ndtrTestSystematic.test_log_ndtr  s'    KKABUGs%	
r8   c                     [        [        R                  [        S 5      [	        [        SS5      [        SS5      S9/SSS	9  g )
Nc                     [         R                  " [         R                  " U * [        R                  " S5      -  5      S-  5      $ rW  )r   r   r   r&   rX  r1  s    r6   rV   6TestSystematic.test_log_ndtr_complex.<locals>.<lambda>	  s)    vzz&++qbn2Mb2P'Qr8   rZ  r7  rn  r>   r   r=   r  rH   r   )r   r/   ra  r   r   r+   r  s    r6   test_log_ndtr_complex$TestSystematic.test_log_ndtr_complex  s:    KKQR'&$/75#3FGHs		
r8   c                 P    [        S [        R                  [        SS5      /SS9  g )Nc                 4    [         R                  " U 5      S   $ )Nr|   )r/   eulerr  s    r6   rV   .TestSystematic.test_eulernum.<locals>.<lambda>  s    bhhqk"or8   r%   rn  r  )r   r   eulernumr   r  s    r6   test_eulernumTestSystematic.test_eulernum  s$    %OOAu		
r8   c           	          [        [        R                  [        R                  [        SS5      [        S[        R                  5      /SSS9  g )Nr   r=   r@      r  )	r   r/   rG   r   rE   r   r   r&   r`  r  s    r6   test_expintTestSystematic.test_expint  s6    GGMMAs^SBFF^,	
r8   c                 R    S n[        U[        R                  [        5       /5        g )Nc                 4    [         R                  " U 5      S   $ ry  r/   fresnelr   s    r6   fresnels.TestSystematic.test_fresnels.<locals>.fresnels       ::a=##r8   )r   r   ry  r   )r  ry  s     r6   test_fresnelsTestSystematic.test_fresnels      	$Hfoow?r8   c                 R    S n[        U[        R                  [        5       /5        g )Nc                 4    [         R                  " U 5      S   $ r  rw  r   s    r6   fresnelc.TestSystematic.test_fresnelc.<locals>.fresnelc%  r{  r8   )r   r   r  r   )r  r  s     r6   test_fresnelcTestSystematic.test_fresnelc$  r~  r8   c                 z    [        [        R                  [        [        R                  5      [        5       /5        g rP   )r   r/   gammar   r   r   r  s    r6   
test_gammaTestSystematic.test_gamma)  s     BHH&6v||&DsugNr8   c                 x    [        [        R                  [        [        R                  5      [        5       /SS9  g Nrr   rA   )r   r/   r  r   r   r   r  s    r6   test_gamma_complex!TestSystematic.test_gamma_complex,  s'    HHV\\*\N		
r8   c           
      f    [        [        R                  S [        SSSS9[        SS5      /SSS9  g )Nc                 ,    [         R                  " XSS9$ )NTr%  r   r(  )r5   rw   s     r6   rV   .TestSystematic.test_gammainc.<locals>.<lambda>8      TBr8   r        @Finclusive_ar<  r  )r   r/   r(  r   r  s    r6   test_gammaincTestSystematic.test_gammainc4  s1    KKBCU+SC[9	
r8   c           
      f    [        [        R                  S [        SSSS9[        SS5      /SSS9  g )Nc                 ,    [         R                  " XSS9$ )NT)rx   r&  r  )r5   rx   s     r6   rV   /TestSystematic.test_gammaincc.<locals>.<lambda>B  r  r8   r   r  Fr  r<  r  )r   r/   	gammainccr   r  s    r6   test_gammainccTestSystematic.test_gammaincc>  s1    LLBCU+SC[9	
r8   c                 d    S n[        [        R                  [        U5      [	        5       /5        g )Nc                 B    [         R                  " U 5      R                  $ rP   r   r  rS   r1  s    r6   f&TestSystematic.test_gammaln.<locals>.fJ  s    ??1%***r8   )r   r/   gammalnr   r   )r  r  s     r6   test_gammalnTestSystematic.test_gammalnH  s#    	+ 	BJJ(8(;ceWEr8   )rg  c                     [        [        R                  [        [        R
                  5      [        SS5      [        5       [        5       /5        g r  )r   r/   eval_gegenbauerr   r   
gegenbauerr   r  s    r6   test_gegenbauerTestSystematic.test_gegenbauerO  s5    V../s^SUCE*	
r8   c                    S nS n[        U[        U5      [        SS5      [        SS5      [        5       /SSSS	S
9  [        U[        U5      [        SS5      [        5       [	        [
        R                  " SSS5      5      /SSS9  g )Nc                    [        U5      S:  a  [        R                  $ U S:X  a  SnO&U S:X  a	  SU-  U-  nO[        R                  " XU5      n[        U5      S:X  a  US:  a  [        U5      [        [        U5      5      :X  ag  [        R                  " X[        R                  " S5      -   U5      n[        U5      [        R                  " S5      :  a  [        R                  " S5      n[        U5      S	:  a  [        R                  $ U$ )
Nr  r   r   r%   r   r|   z1e-50z0.0\4@Iw)	r   r&   r  r   r  rD   r   r  r`  rH   rx   rI   r3   s       r6   r  6TestSystematic.test_gegenbauer_int.<locals>.gegenbauerY  s     1v~vv AvaaCE%%aA. Qx1}RE!HE!H,E%%aVZZ-@)@!Dq6FJJw//

5)A 1v~vvHr8   c                     [         R                  " [        U 5      X5      n[        U5      S:  a  [        R
                  $ U$ )Nr  )r/   r  r   r   r&   r`  r  s       r6   sc_gegenbauer9TestSystematic.test_gegenbauer_int.<locals>.sc_gegenbauert  s1    ""3q610A1v~vvHr8   r   r>   g    eg    eAi@  Tr   )rH   r   r   rB   r  r!   r;  )r   r   r   r   r   r&   r'   )r  r  r  s      r6   test_gegenbauer_int"TestSystematic.test_gegenbauer_intW  s    	6	 	Z(As^Ss^SU3d		
 	Z(As^SUHR[[b"-E$FGT		
r8   c                     [        S [        [        R                  5      [	        SS5      [        5       [        5       /5        g )Nc                 X    [         R                  " [        U 5      UR                  U5      $ rP   )r/   r  r   rS   rH   rx   rI   s      r6   rV   8TestSystematic.test_gegenbauer_complex.<locals>.<lambda>  s    B..s1vqvvqAr8   r   r>   )r   r   r   r  r   r   r   r  s    r6   test_gegenbauer_complex&TestSystematic.test_gegenbauer_complex  s/    AV../As^SUJL1	
r8   c                     [        S [        [        R                  5      [	        SS5      [	        5       [        5       /5        g )Nc                 Z    [         R                  " U R                  UR                  U5      $ rP   )r/   r  rS   r  s      r6   rV   @TestSystematic.test_gegenbauer_complex_general.<locals>.<lambda>  s    B..qvvqvvqAr8   r  r  )r   r   r   r  r   r   r  s    r6   test_gegenbauer_complex_general.TestSystematic.test_gegenbauer_complex_general  s/    AV../s^SUJL1	
r8   c                 v    [        [        R                  [        S 5      [	        SS5      [	        5       /5        g )Nc                 8    [         R                  " X40 [        D6$ rP   )r   hankel1r  rU   rI   s     r6   rV   -TestSystematic.test_hankel1.<locals>.<lambda>  r  r8   @x@xD)r   r/   r  r   r   r  s    r6   test_hankel1TestSystematic.test_hankel1  +    JJIJsu%	
r8   c                 v    [        [        R                  [        S 5      [	        SS5      [	        5       /5        g )Nc                 8    [         R                  " X40 [        D6$ rP   )r   hankel2r  r  s     r6   rV   -TestSystematic.test_hankel2.<locals>.<lambda>  r  r8   r  r  )r   r/   r  r   r   r  s    r6   test_hankel2TestSystematic.test_hankel2  r  r8   z%issues at intermediately large ordersc                 v    [        S [        [        R                  5      [	        SS5      [        5       /5        g )Nc                 B    [         R                  " [        U 5      U5      $ rP   )r/   eval_hermiter   r^  s     r6   rV   -TestSystematic.test_hermite.<locals>.<lambda>      Q3r8   r   rn  )r   r   r   hermiter   r   r  s    r6   test_hermiteTestSystematic.test_hermite  s*    3V^^,Ausu%	
r8   c           	         ^ [        SSS9m[        [        R                  U4S j[	        SS5      [	        SS5      /S	S
9  g )Nr   i  rr  c                 2   > [         R                  " X40 TD6$ rP   )r   rR   )rx   rI   KWs     r6   rV   ,TestSystematic.test_hyp0f1.<locals>.<lambda>  s    q2r2r8   r  r  r   g     j@r  r  )r   r   r/   rR   r   )r  r  s    @r6   test_hyp0f1TestSystematic.test_hyp0f1  s8    #-II2s^SC[)		
r8   c                     [        S [        S 5      [        SS5      [        [	        SS5      [	        SS5      5      /5        g )Nc                 D    [         R                  " U R                  U5      $ rP   rQ   )rx   r5   s     r6   rV   4TestSystematic.test_hyp0f1_complex.<locals>.<lambda>  s    1661-r8   c                 8    [         R                  " X40 [        D6$ rP   )r   rR   r  rx   rI   s     r6   rV   r    rc  r8   r   r    irN   )r   r   r   r   r+   r  s    r6   test_hyp0f1_complex"TestSystematic.test_hyp0f1_complex  s9    -HIb\:gdD&973;LMN	
r8   c                     S n[        [        R                  U[        SS5      [        SSSS9[        SS5      /SSS9  g )	Nc                 r     [         R                  " XU5      $ ! [         a    [        R                  s $ f = frP   )r   hyp1f1ZeroDivisionErrorr&   r`  rD  s      r6   mpmath_hyp1f11TestSystematic.test_hyp1f1.<locals>.mpmath_hyp1f1  s0    }}Q1--$ vvs    66r  r:   r%   Fr  r   )rH   r  )r   r/   r  r   )r  r  s     r6   test_hyp1f1TestSystematic.test_hyp1f1  s@    	 	IIb\3q"%8#c2,G	
r8   c           	          [        [        S 5      [        S 5      [        SS5      [        SS5      [	        5       /SS9  g )Nc                 Z    [         R                  " U R                  UR                  U5      $ rP   )r/   r  rS   rD  s      r6   rV   4TestSystematic.test_hyp1f1_complex.<locals>.<lambda>  s    ryy'Cr8   c                 :    [         R                  " XU40 [        D6$ rP   )r   r  r  rD  s      r6   rV   r        V]]1-Ng-Nr8   r  r  i  r  )r   r   r   r   r   r  s    r6   test_hyp1f1_complex"TestSystematic.test_hyp1f1_complex  s7    CDNOs^Ss^Z\:		
r8   c           
          [        S [        S 5      [        SS5      [        SS5      [        SS5      [        5       /SS9  g )Nc                 p    [         R                  " U R                  UR                  UR                  U5      $ rP   )r/   r   rS   rx   rw   r   rI   s       r6   rV   4TestSystematic.test_hyp2f1_complex.<locals>.<lambda>  s    ryyCr8   c                 :    [         R                  " XX#40 [        D6$ rP   )r   r   r  r  s       r6   rV   r        aA0TG0Tr8   g      Yg      Y@r    r  r  r  s    r6   test_hyp2f1_complex"TestSystematic.test_hyp2f1_complex  s;     	CTUs^Ss^Ss^Z\J		
r8   c                     [        [        R                  [        S 5      [	        5       [	        5       [	        5       /5        g )Nc                 :    [         R                  " XU40 [        D6$ rP   )r   rv   r  rD  s      r6   rV   ,TestSystematic.test_hyperu.<locals>.<lambda>  r  r8   )r   r/   rv   r   r   r  s    r6   test_hyperuTestSystematic.test_hyperu  s*    IINOUCE35!	
r8   z:mpmath issue gh-342: unsupported operand mpz, long for powc           
      V    S n[        [        U[        SSSS9[        SS5      /SSS9  g )	Nc                     [         R                  " X5      [         R                  " U* 5      -  [         R                  " U 5      -  $ rP   )r   powerr)   r  r  s     r6   mp_igam_fac1TestSystematic.test_igam_fac.<locals>.mp_igam_fac  s-    <<%fjj!n4V\\!_DDr8   r   g  ļBFr  r      r  )r   r   r   )r  r  s     r6   test_igam_facTestSystematic.test_igam_fac  s5    	E 	De,c!Tl;	
r8   c                     [        [        R                  [        R                  [	        SS5      /5        [        [        R                  [        R                  [	        SS5      /SS9  g Nr  r  r~  r  r  rA   )r   r/   j0r   r   r  s    r6   test_j0TestSystematic.test_j0  s@     	BEE699s4~.>?BEE699s4~.>TJr8   c                     [        [        R                  [        R                  [	        SS5      /5        [        [        R                  [        R                  [	        SS5      /SS9  g r
  )r   r/   j1r   r   r  s    r6   test_j1TestSystematic.test_j1  s>    BEE699s4~.>?BEE699s4~.>TJr8   c           	         [        [        R                  [        S 5      [	        5       [	        5       [	        5       [	        5       /5        [        S [        S 5      [        5       [	        5       [	        5       [	        5       /5        g )Nc                 :    [         R                  " XX#40 [        D6$ rP   r   jacobir  r  s       r6   rV   ,TestSystematic.test_jacobi.<locals>.<lambda>  r  r8   c                 D    [         R                  " [        U 5      XU5      $ rP   r/   eval_jacobir   )rH   rw   r   rI   s       r6   rV   r        r~~c!faA>r8   c                 :    [         R                  " XX#40 [        D6$ rP   r  r  s       r6   rV   r    r  r8   )r   r/   r  r   r   r   r  s    r6   test_jacobiTestSystematic.test_jacobi  sX    NNTUUCE35#%(	

 	>TUXsuceSU+	
r8   c           	      x   ^ S m[        S U4S j[        5       [        5       [        5       [        5       /SSS9  g )Nc                 >    U S:X  a  g[         R                  " XX#5      $ )Nr   r   )r   r  rH   rx   rw   rI   s       r6   r  .TestSystematic.test_jacobi_int.<locals>.jacobi  s    Av==q,,r8   c                 D    [         R                  " [        U 5      XU5      $ rP   r  r   s       r6   rV   0TestSystematic.test_jacobi_int.<locals>.<lambda>%  r  r8   c                 2   > [        T5      " XX#40 [        D6$ rP   )r   r  )rH   rx   rw   rI   r  s       r6   rV   r#  &  s    /7aNgNr8   i  r:   rg  r   r   r   )r  r  s    @r6   test_jacobi_intTestSystematic.test_jacobi_int  s2    	-
 	>NXsuceSU+	
r8   c                 T    S n[        [        R                  U[        SS5      /SS9  g )Nc                 l    U S:X  a
  [         * S-  $ [        [        R                  5      " SU 40 [        D6$ )Nr   r<   )r   r   r   keir  r   s    r6   r*  $TestSystematic.test_kei.<locals>.kei-  s/    Avs1u#FJJ/1@@@r8   ꌠ9Y>)ꌠ9Y>)Fr.  r  )r   r/   r*  r   )r  r*  s     r6   test_keiTestSystematic.test_kei,  s&    	A
 	BFFC#eT*:);tDr8   c                 b    [        [        R                  [        S 5      [	        SS5      /SS9  g )Nc                 :    [         R                  " SU 40 [        D6$ ry  )r   kerr  r   s    r6   rV   )TestSystematic.test_ker.<locals>.<lambda>7  s    vzz!Q'B''Br8   r,  r-  r.  r  )r   r/   r2  r   r   r  s    r6   test_kerTestSystematic.test_ker4  s*    FFBC		
r8   c                 r    [        [        [        R                  5      S [	        5       [	        5       /5        g )Nc                 J    [        [        R                  5      " X40 [        D6$ rP   r   r   laguerrer  r^  s     r6   rV   .TestSystematic.test_laguerre.<locals>.<lambda>@      )&//:1K7Kr8   )r   r   r/   eval_laguerrer   r  s    r6   test_laguerreTestSystematic.test_laguerre<  s&    r''(KUCEN	
r8   c                 D    [        S S [        5       [        5       /SS9  g )Nc                 B    [         R                  " [        U 5      U5      $ rP   )r/   r<  r   r^  s     r6   rV   2TestSystematic.test_laguerre_int.<locals>.<lambda>F      ))#a&!4r8   c                 J    [        [        R                  5      " X40 [        D6$ rP   r8  r^  s     r6   rV   rA  G  r;  r8    N  r  r%  r  s    r6   test_laguerre_int TestSystematic.test_laguerre_intD  s    4KXsu		
r8   zsee gh-3551 for bad pointsc           	          [        S S [        [        R                  * [        R                  5      [	        SS5      /SSS9  g )Nc                 V    [         R                  " U [        UR                  5      5      $ rP   )r/   rY  r   rS   rI   rS  s     r6   rV   3TestSystematic.test_lambertw_real.<locals>.<lambda>O  s    QAFF4r8   c                 V    [         R                  " U [        UR                  5      5      $ rP   )r   rY  r   rS   rI  s     r6   rV   rJ  P  s    CK8r8   r   r    r@   FrB   r  )r   r   r&   r`  r   r  s    r6   test_lambertw_real!TestSystematic.test_lambertw_realL  s4    48(&B-8u		
r8   c           
         ^^ Sn[         R                  " S5      mSmUU4S jn[        U[        R                  [        SUSS9/SS	9  g )
NgGase@r%   g  E@c                   > [         R                  " SS9   U T-   S-
  T-  U S-
  -  nU[         R                  :w  a  U[        U 5      -  nO&U T-   S-
  T-  SU S-
  -  -  nU[        U 5      -  nX!-  nS S S 5        U$ ! , (       d  f       W$ = f)Nr   )overrM   )r&   r   r`  r   )rI   facrZ   egs      r6   r  :TestSystematic.test_lanczos_sum_expg_scaled.<locals>.gammaZ  s    (+AQ!c'2"&&=6q99CECK?c1s7m<C6q99CJC , J ,+ Js   AA;;
B
r   Fr  r@   rA   )r&   r)   r   r   r  r   )r  maxgammar  rS  rT  s      @@r6   test_lanczos_sum_expg_scaled+TestSystematic.test_lanczos_sum_expg_scaledU  sE    &FF1I)		 	LLH%01		
r8   c                 z    [        [        R                  [        R                  [        5       [        5       /5        g rP   )r   r/   eval_legendrer   legendrer   r  s    r6   test_legendreTestSystematic.test_legendrel  s     B,,foosu~Nr8   c                     [        S S [        5       [        5       /SS9  [        S S [        5       [        [        R
                  " SSS	5      5      /5        g )
Nc                 B    [         R                  " [        U 5      U5      $ rP   r/   rZ  r   r^  s     r6   rV   2TestSystematic.test_legendre_int.<locals>.<lambda>r  rB  r8   c                 J    [        [        R                  5      " X40 [        D6$ rP   r   r   r[  r  r^  s     r6   rV   ra  s  r;  r8   rD  r  c                 B    [         R                  " [        U 5      U5      $ rP   r`  r^  s     r6   rV   ra  z  rB  r8   c                 J    [        [        R                  5      " X40 [        D6$ rP   rc  r^  s     r6   rV   ra  {  r;  r8   r  r  ri   )r   r   r   r   r&   r'   r  s    r6   test_legendre_int TestSystematic.test_legendre_intp  sK    4KXsu		
 	4KXxCR 89:	
r8   z*apparently picks wrong function at |z| > 1c           	      h    S nS n[        UU[        SS5      [        SS5      [        5       /5        g )Nc                 <    [         R                  " XU5      S   S   $ Nr   )r|   r|   )r/   lqmnrH   rG  r5   s      r6   lqnm(TestSystematic.test_legenq.<locals>.lqnm  s    771#A&u--r8   c                 ~    [        U5      S:  a  [        R                  $ [        [        R
                  5      " XUSS9$ Nrq   r   )type)r   r&   r  r   r   legenqrl  s      r6   rr  *TestSystematic.test_legenq.<locals>.legenq  s.    1v~vv#FMM21CCr8   r   r>   r%  r  rm  rr  s      r6   test_legenqTestSystematic.test_legenq  s5    	.	D 	As^VAs^SU3	
r8   c           	      f    S nS n[        UU[        SS5      [        SS5      [        5       /SS9  g )Nc                     [         R                  " [        UR                  5      [        U R                  5      U5      S   S   $ rj  )r/   rk  r   rS   rl  s      r6   rm  0TestSystematic.test_legenq_complex.<locals>.lqnm  s/    773qvv;AFFQ7:5AAr8   c                     [        U5      S:  a  [        R                  $ [        [        R
                  5      " [        U R                  5      [        UR                  5      USS9$ rp  )r   r&   r  r   r   rr  r   rS   rl  s      r6   rr  2TestSystematic.test_legenq_complex.<locals>.legenq  sA    1v~vv#FMM23qvv;AFFQUVWWr8   r   r>   r  )r   r   r   rt  s      r6   test_legenq_complex"TestSystematic.test_legenq_complex  s9    	B	X 	As^VAs^Z\:		
r8   c           	      F    S nS n[        [        U[        5       /SSUS9  g )Nc                 l    [         R                  " [         R                  " U 5      U :H  U S:*  -  SS5      $ )Nr   FT)r&   r  floorr   s    r6   r  0TestSystematic.test_lgam1p.<locals>.param_filter  s+    88RXXa[A-!q&95$GGr8   c                 H    [         R                  " SU -   5      R                  $ r  r  r1  s    r6   	mp_lgam1p-TestSystematic.test_lgam1p.<locals>.mp_lgam1p  s    ??1q5)...r8   r@   r>   r  )r   r   r   )r  r  r  s      r6   test_lgam1pTestSystematic.test_lgam1p  s-    	H	/ 	UG%	
r8   c           	      T    S n[        [        R                  U[        5       /SSSS9  g )Nc                      [         R                  " U 5      nU$ ! [         a,    [        [        R
                  [        R
                  5      n U$ f = frP   )r   r  
ValueErrorr+   r&   r  )r5   rZ   s     r6   mpmath_loggamma5TestSystematic.test_loggamma.<locals>.mpmath_loggamma  sF    .ooa( J  .bffbff-J.s    2AAFr   )r  distinguish_nan_and_infrB   )r   r/   r  r   )r  r  s     r6   test_loggammaTestSystematic.test_loggamma  s+    	 	KK\N$)	
r8   c                 \    S n[        U[        S 5      [        5       [        5       /5        g )Nc                 4    [         R                  " X5      S   $ ry  )r/   pbdvr  s     r6   pcfd&TestSystematic.test_pcfd.<locals>.pcfd      771=##r8   c                 8    [         R                  " X40 [        D6$ rP   )r   r  r  r  s     r6   rV   *TestSystematic.test_pcfd.<locals>.<lambda>  s    &++a*Fg*Fr8   )r   r   r   )r  r  s     r6   	test_pcfdTestSystematic.test_pcfd  s&    	$FGUCEN	
r8   zHit's not the same as the mpmath function --- maybe different definition?c                 H    S n[        US [        5       [        5       /SS9  g )Nc                 4    [         R                  " X5      S   $ ry  )r/   pbvvr  s     r6   pcfv&TestSystematic.test_pcfv.<locals>.pcfv  r  r8   c                 f    [        5       " [        [        R                  5      5      " X40 [        D6$ rP   )r   r   r   r  r  r  s     r6   rV   *TestSystematic.test_pcfv.<locals>.<lambda>  s    (8(EFqWwWr8   r.  r  r  )r  r  s     r6   	test_pcfvTestSystematic.test_pcfv  s#    	$WUCEN		
r8   c           	          S nS nS n[        U[        R                  [        SS5      [        SS5      /SSS9  [        UU[        SS5      [        SS5      /S	SS9  g )
Nc                 4    [         R                  " X5      S   $ ry  r/   pbwar  s     r6   pcfw&TestSystematic.test_pcfw.<locals>.pcfw  r  r8   c                 4    [         R                  " X5      S   $ r  r  r  s     r6   dpcfw'TestSystematic.test_pcfw.<locals>.dpcfw  r  r8   c                 P    [         R                  " [         R                  X4S5      $ )Nr?   )r   diffr  r  s     r6   mpmath_dpcfw.TestSystematic.test_pcfw.<locals>.mpmath_dpcfw  s    ;;v{{QFF;;r8   rg   rh   g:0yU>r>   r  g&.!>)r   r   r  r   )r  r  r  r  s       r6   	test_pcfwTestSystematic.test_pcfw  si    	$	$	<
 	KKQZR$	
 	QZR$	
r8   zCissues at large arguments (atol OK, rtol not) and <eps-close to z=0c                     [        [        R                  [        5       " [	        [
        R                  5      5      [        SS5      [        5       /5        g )Nr   r.  )r   r/   	polygammar   r   r   r   r   r  s    r6   test_polygammaTestSystematic.test_polygamma  s9     	LLN+F,<,<=>At_ce$	
r8   c           	          [        [        R                  [        R                  [	        S[
        R                  5      /SSSS9  g )Nir  FT)rH   r  r   )r   r/   r  r   r   r&   r`  r  s    r6   test_rgammaTestSystematic.test_rgamma  s2    IIMM  	
r8   c                 x    [        [        R                  [        [        R                  5      [        5       /SS9  g r  )r   r/   r  r   r   r   r  s    r6   test_rgamma_complex"TestSystematic.test_rgamma_complex  s'    IIV]]+\N		
r8   zNsee gh-3551 for bad points on 32 bit systems and gh-8095 for another bad pointr   c                     [         R                  " [        R                  5      [         R                  " S5      :  a  [        R
                  nOS n[        [        R                  U[        5       [        5       /SS9  g )Nrz   c                     [        X-   5      [        X-   5      :X  a7  [        X-   5      S::  a&  [        R                  " U 5      n [        X-   5      U -
  n[        R                  " X5      $ ry  )rD   r   r   r  rf)rx   rG  s     r6   mppoch&TestSystematic.test_rf.<locals>.mppoch  sO     <3qu:-%,!2C

1AAE
QAyy&r8   r   rL  )
r   parser   r   Versionr  r   r/   pochr   )r  r  s     r6   test_rfTestSystematic.test_rf  sN     ==++,0HHYYF' 	BGGVceSU^Er8   c                     [         R                  " [        5      R                  n[	        [
        [        R                  [        5       /SSU-  S9  g r  )	r&   r8  rD   r9  r   r   r   r:  r   r  s     r6   
test_sinpiTestSystematic.test_sinpi&  s8    hhuo!!LLUG3	
r8   c                 T    [        [        [        R                  [	        5       /SSS9  g )NFg+=r  )r   r   r   r:  r   r  s    r6   test_sinpi_complex!TestSystematic.test_sinpi_complex0  r  r8   c                     S n[        U[        R                  [        5       /5        [        U[        R                  [	        / SQ5      /5        g )Nc                 4    [         R                  " U 5      S   $ ry  r  r   s    r6   shi$TestSystematic.test_shi.<locals>.shi:  r  r8   r  )r   r   r  r   r   r  r  s     r6   test_shiTestSystematic.test_shi9  r  r8   c                     S n[        U[        R                  [        [	        [
        R                  * S5      [	        [
        R                  S5      5      /SS9  g )Nc                 4    [         R                  " U 5      S   $ ry  r  r1  s    r6   r  ,TestSystematic.test_shi_complex.<locals>.shiA  r  r8   r~  r  r`   rA   )r   r   r  r   r+   r&   r`  r  s     r6   test_shi_complexTestSystematic.test_shi_complex@  r  r8   c                 R    S n[        U[        R                  [        5       /5        g )Nc                 4    [         R                  " U 5      S   $ ry  r  r   s    r6   si"TestSystematic.test_si.<locals>.siL  r  r8   )r   r   r  r   r  r  s     r6   test_siTestSystematic.test_siK  s    	!B		CE73r8   c                     S n[        U[        R                  [        [	        S[
        R                  * 5      [	        S[
        R                  5      5      /SS9  g )Nc                 4    [         R                  " U 5      S   $ ry  r  r1  s    r6   r  *TestSystematic.test_si_complex.<locals>.siQ  r  r8   r~  r  r`   rA   )r   r   r  r   r+   r&   r`  r  s     r6   test_si_complexTestSystematic.test_si_complexP  sC    	! 	IIrvvg.RVV0DEF		
r8   c                     S n[        [        R                  [        U5      [	        S[
        R                  5      /SS9  g )Nc                 6    [         R                  " SSU -
  5      $ r/  r   r0  r   s    r6   dilog)TestSystematic.test_spence.<locals>.dilog]      >>!QU++r8   r   r   rA   )r   r/   r2  r   r   r&   r`  r  r  s     r6   test_spenceTestSystematic.test_spence[  s3    	, 	IIU#BFF^		
r8   c                 b    S n[        [        R                  [        U5      [	        5       /SS9  g )Nc                 6    [         R                  " SSU -
  5      $ r/  r  r1  s    r6   r  1TestSystematic.test_spence_complex.<locals>.dilogh  r  r8   r   rA   )r   r/   r2  r   r   r  s     r6   test_spence_complex"TestSystematic.test_spence_complexg  s(    	,IIU#\N		
r8   c           	          [        [        R                  [        [        R
                  5      [        SS5      [        SS5      /SS9  g )N     r  r   &.>rA   )r   r/   struver   r   struvehr   r  s    r6   test_struvehTestSystematic.test_struvehq  s4    IIV^^,s^SC[)		
r8   c           	      ~    S n[        [        R                  [        U5      [	        SS5      [	        SS5      /SSS9  g )Nc                 N   U S:  ap  X* :  aj  [        U 5      S:  a[  [        R                  R                  n S[        R                  l        [        R                  " X5      U[        R                  l        $ [        R                  " X5      $ ! U[        R                  l        f = f)Nr   r.  r   )r   r   r   r   struvel)rU   r5   r   s      r6   
mp_struvel/TestSystematic.test_struvel.<locals>.mp_struvelz  sk    1uRCFTM ))--,$'FIIM!>>!/$+FIIM>>!'' %,FIIMs   *B B$r  r  r   r  Tr   )r   r/   	modstruver   r   )r  r  s     r6   test_struvelTestSystematic.test_struvely  s:    		( 	LLZ(s^SC[) 	
r8   c           	      X    S n[        [        R                  U[        SS5      /SSSS9  g )Nc                     [         R                  " [         R                  " U 5      [         R                  " S5      5      $ )Nz-0.5)r   rY  r)   r  r   s    r6   mpmath_wrightomega_realETestSystematic.test_wrightomega_real.<locals>.mpmath_wrightomega_real  s$    ??6::a=&**V2DEEr8   r   gPKDg+<r   F)rB   rt   r  )r   r/   rc  r   )r  r  s     r6   test_wrightomega_real$TestSystematic.test_wrightomega_real  s2    	F 	NN#	
r8   c                 N    [        [        R                  S [        5       /SSS9  g )Nc                     [        U S5      $ )Nr]  )r[  r1  s    r6   rV   1TestSystematic.test_wrightomega.<locals>.<lambda>  s    )!R0r8   r   FrL  )r   r/   rc  r   r  s    r6   test_wrightomegaTestSystematic.test_wrightomega  s!    NN0\N	
r8   c           
          [        [        R                  [        [        R                  5      [        SSSS9[        SSS9/5        g )Nr%       _BF)rx   rw   r  r   rx   r  )r   r/   zetar   r   r   r  s    r6   test_hurwitz_zeta TestSystematic.test_hurwitz_zeta  s5    GGV[[)1%0#u2MN	
r8   c                 R    [        [        R                  S [        SS5      /SSS9  g )Nc                 Z    U S:w  a  [         R                  " U 5      $ [         R                  $ r  r   r  r`  r   s    r6   rV   2TestSystematic.test_riemann_zeta.<locals>.<lambda>  s    Qfkk!n>FJJ>r8   r7  r>   Frr   r  )r   r/   r  r   r  s    r6   test_riemann_zeta TestSystematic.test_riemann_zeta  s&    GG>s^	
r8   c           	      T    [        [        R                  S [        SS5      /SSSS9  g )Nc                 `    U S:w  a  [         R                  " U 5      S-
  $ [         R                  $ r  r  r   s    r6   rV   +TestSystematic.test_zetac.<locals>.<lambda>  s#    AFfkk!nq(B

Br8   r7  r>   F-   rr   )r  r   rB   )r   r/   zetacr   r  s    r6   
test_zetacTestSystematic.test_zetac  s)    HHBs^	
r8   c           	      x    S n[        [        R                  [        U5      [	        SSS9[	        5       /SSSS9  g )	Nc                    [         R                  R                  U 5      n [         R                  R                  U5      nUS:X  a  [         R                  R                  U 5      $ [         R                  R	                  X5      U-  $ ry  r   r   r  r   powm1)rI   lmbdas     r6   	mp_boxcox-TestSystematic.test_boxcox.<locals>.mp_boxcox  sX    		a AIIMM%(Ezyy}}Q''yyq0588r8   r   Fr  r=   r  r@   r`  )r   r/   boxcoxr   r   )r  r#  s     r6   test_boxcoxTestSystematic.test_boxcox  s:    	9 	IIY'1%(#%0	
r8   c           	      x    S n[        [        R                  [        U5      [	        SSS9[	        5       /SSSS9  g )	Nc                 T   [         R                  R                  U 5      n [         R                  R                  U5      n[         R                  R                  S5      nUS:X  a!  [         R                  R                  X -   5      $ [         R                  R	                  X -   U5      U-  $ r   r   )rI   r"  ones      r6   mp_boxcox1p1TestSystematic.test_boxcox1p.<locals>.mp_boxcox1p  sp    		a AIIMM%(E))--"Czyy}}SW--yysw6>>r8   r|   Fr  r=   r  r@   r`  )r   r/   boxcox1pr   r   )r  r+  s     r6   test_boxcox1pTestSystematic.test_boxcox1p  s:    	? 	KK[)25)351	
r8   c           	      j    S n[        S [        U5      [        SS5      [        SS5      /SS S 4S	9  g )
Nc                 "   [         R                  " U5      n[         R                  " U [         R                  " S5      S-  -   U5      [         R                  " SU-  [         R
                  -  5      -  nUR                  S:X  a  UR                  $ U$ Nr%   r   r   r   	mpmathifyr  r  rX  r   rX  rS   rH   r5   argouts       r6   mp_spherical_jn9TestSystematic.test_spherical_jn.<locals>.mp_spherical_jn  i    ""1%C>>!fjjmAo"5s;;;quVYY/0Cxx1}xx
r8   c                 B    [         R                  " [        U 5      U5      $ rP   )r/   spherical_jnr   rH   r5   s     r6   rV   2TestSystematic.test_spherical_jn.<locals>.<lambda>  r  r8   r   r=   r~  r  r  c                 4    [         R                  " U 5      S:  $ )Ng#B;)r&   r   r1  s    r6   rV   r>    s    "&&)e*;r8   )r   r  r/  r  r8  s     r6   test_spherical_jn TestSystematic.test_spherical_jn  s<    	 	3_-As^Ss^, ;<	
r8   c                 `    S n[        S [        U5      [        SS5      [        5       /5        g )Nc                 "   [         R                  " U5      n[         R                  " U [         R                  " S5      S-  -   U5      [         R                  " SU-  [         R
                  -  5      -  nUR                  S:X  a  UR                  $ U$ r2  r3  r5  s       r6   r8  ATestSystematic.test_spherical_jn_complex.<locals>.mp_spherical_jn  r:  r8   c                 V    [         R                  " [        U R                  5      U5      $ rP   )r/   r<  r   rS   r=  s     r6   rV   :TestSystematic.test_spherical_jn_complex.<locals>.<lambda>      QVVa8r8   r   r=   r   r   r   r   r@  s     r6   test_spherical_jn_complex(TestSystematic.test_spherical_jn_complex  ,    	 	8_-As^Z\*	
r8   c           	      b    S n[        S [        U5      [        SS5      [        SS5      /SS9  g )	Nc                 "   [         R                  " U5      n[         R                  " U [         R                  " S5      S-  -   U5      [         R                  " SU-  [         R
                  -  5      -  nUR                  S:X  a  UR                  $ U$ r2  r   r4  r  r  rX  r   rX  rS   r5  s       r6   mp_spherical_yn9TestSystematic.test_spherical_yn.<locals>.mp_spherical_yn  r:  r8   c                 B    [         R                  " [        U 5      U5      $ rP   )r/   spherical_ynr   r=  s     r6   rV   2TestSystematic.test_spherical_yn.<locals>.<lambda>  r  r8   r   r=   g    _r  r>   rL  r/  r  rP  s     r6   test_spherical_yn TestSystematic.test_spherical_yn
  s4    	 	3_-As^S-.		
r8   c                 `    S n[        S [        U5      [        SS5      [        5       /5        g )Nc                 "   [         R                  " U5      n[         R                  " U [         R                  " S5      S-  -   U5      [         R                  " SU-  [         R
                  -  5      -  nUR                  S:X  a  UR                  $ U$ r2  rO  r5  s       r6   rP  ATestSystematic.test_spherical_yn_complex.<locals>.mp_spherical_yn  r:  r8   c                 V    [         R                  " [        U R                  5      U5      $ rP   )r/   rS  r   rS   r=  s     r6   rV   :TestSystematic.test_spherical_yn_complex.<locals>.<lambda>&  rH  r8   r   r=   rI  rU  s     r6   test_spherical_yn_complex(TestSystematic.test_spherical_yn_complex  rL  r8   c                 `    S n[        S [        U5      [        SS5      [        5       /SSS9  g )Nc                 "   [         R                  " U5      n[         R                  " U [         R                  " S5      S-  -   U5      [         R                  " SU-  [         R
                  -  5      -  nUR                  S:X  a  UR                  $ U$ r2  r   r4  r  r  rX  r   rX  rS   r5  s       r6   mp_spherical_in9TestSystematic.test_spherical_in.<locals>.mp_spherical_in,  r:  r8   c                 B    [         R                  " [        U 5      U5      $ rP   )r/   spherical_inr   r=  s     r6   rV   2TestSystematic.test_spherical_in.<locals>.<lambda>6  r  r8   r   r=   g訰6rW  r/  r  rb  s     r6   test_spherical_in TestSystematic.test_spherical_in+  s2    	 	3_-As^SU#	
r8   c                 `    S n[        S [        U5      [        SS5      [        5       /5        g )Nc                 "   [         R                  " U5      n[         R                  " U [         R                  " S5      S-  -   U5      [         R                  " SU-  [         R
                  -  5      -  nUR                  S:X  a  UR                  $ U$ r2  ra  r5  s       r6   rb  ATestSystematic.test_spherical_in_complex.<locals>.mp_spherical_in>  r:  r8   c                 V    [         R                  " [        U R                  5      U5      $ rP   )r/   re  r   rS   r=  s     r6   rV   :TestSystematic.test_spherical_in_complex.<locals>.<lambda>H  rH  r8   r   r=   rI  rg  s     r6   test_spherical_in_complex(TestSystematic.test_spherical_in_complex=  rL  r8   c                 ^    S n[        S [        U5      [        SS5      [        5       /SS9  g )Nc                 J   [         R                  " U5      n[         R                  " U [         R                  " S5      S-  -   U5      [         R                  " SU-  [         R
                  -  5      -  n[         R                  " U5      R                  S:X  a  UR                  $ U$ r2  r   r4  r  r  rX  r   rX  rS   r5  s       r6   mp_spherical_kn9TestSystematic.test_spherical_kn.<locals>.mp_spherical_knN  sw    ""1%C>>!fjjmAo"5s;;;quVYY/0C"''1,xx
r8   c                 B    [         R                  " [        U 5      U5      $ rP   )r/   spherical_knr   r=  s     r6   rV   2TestSystematic.test_spherical_kn.<locals>.<lambda>X  r  r8   r   r]   r>   rL  r/  r  rt  s     r6   test_spherical_kn TestSystematic.test_spherical_knM  s/    	 	3_-As^SU#		
r8   z.Accuracy issues near z = -1 inherited from kv.c                 ^    S n[        S [        U5      [        SS5      [        5       /SS9  g )Nc                 "   [         R                  " U5      n[         R                  " U [         R                  " S5      S-  -   U5      [         R                  " SU-  [         R
                  -  5      -  nUR                  S:X  a  UR                  $ U$ r2  rs  r5  s       r6   rt  ATestSystematic.test_spherical_kn_complex.<locals>.mp_spherical_kna  r:  r8   c                 V    [         R                  " [        U R                  5      U5      $ rP   )r/   rw  r   rS   r=  s     r6   rV   :TestSystematic.test_spherical_kn_complex.<locals>.<lambda>k  rH  r8   r   r=   rL  rI  ry  s     r6   test_spherical_kn_complex(TestSystematic.test_spherical_kn_complex^  s/    	 	8_-As^Z\*		
r8   r9  N)__name__
__module____qualname____firstlineno__r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r&  r0  r   rG  rN  rY  rd  pytestmarkxfailro  rw  r|  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r&  r-  r4  r   r?  rD  rI  rL  rS  r[  rb  rh  ro  rs  r|  r  r  r  r  r  r  r  r  r  r   r  r  r  r  r  r  r  r  r  r  xfail_on_32bitr  r  r  r  r&  r.  r4  r=  rE  rM  rW  r\  rf  ru  r|  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r	  r  r  r  r&  r.  rA  rJ  rV  r]  rh  ro  rz  r  __static_attributes__r9  r8   r6   rv  rv    sY   .,
.,
.,
.,
.
.
0


"




"

!
F	



B
 [[5)RS
 T

 [[5)RS
 T
U	
=	
U




0) 


E
DWIRI



$

FT

BI





@
@
O


F [[5!
 "
0
d [[5!
 "
 
 


 [[5)PQ
 R
	


 [[5!
 "
 
 
 [[5!
 "
 [[ !H I

I

KK
 [[5!

 "


E
 
 

 [[ <=
 >

. O O
 [[5)UV
 W
  
 
"
$
" [[5!
 "
 [[5 *G H
H

8 [[56  7
7


 [[  ' )F)F 

U	
4
	





(
 




&
(
&
 
"
 
$
 
" [[5N  P
P
r8   rv  )L__doc__numpyr&   numpy.testingr   r   r   r  r   
scipy._libr   scipy.specialspecialr/   scipy.special._testutilsr   r   r	   r
   scipy.special._mptestutilsr   r   r   r   r   r   r   r   r   r   scipy.special._ufuncsr   r   r   r   r   r   r   ImportErrorr  thread_unsafe
pytestmarkr7   rJ   r[   re   ry   r   r   r   r   slowr   r   r   r   r  r  r  r  r  r   r#  r,  r5  r<  r?  rT  r[  ri  rl  ro  rq  r   r  rv  r9  r8   r6   <module>r     s    2         % [[&&> ' @
 vv- - vv	> 	>  vv! !( vv6 6 vwO  O, vwC  C" vvG G> vvC C* vv/ /$ vvE  E8 vv: :* vv0K 0Kn vv:  :L   vv= =  vv= =& vv;  ;. vv<  <* vv< <& vv< <( vvB  B& vv;  ;& vv
8 
8 vv8 8$ vv9 90 vv?  ?* vv
@  
@ vv
@  
@" vv=  = sS
) vvD
 D
  D
a  %8$F%s   M M'&M'