
    tKg                    t   d Z ddlZddlmZmZ ddlmZ ddlZddlZddl	m
Z
 ddlmZ ddlmZmZmZmZ ddlmZmZmZmZmZmZmZmZmZmZ ddlmZm Z m!Z!m"Z"m#Z#m$Z$ 	 ddl%Z% ee%d
      d        Z' ee%d      d        Z( ee%d      d        Z) ee%d      d        Z* ee%d      d        Z+ ee%d      d        Z, ee%d      d        Z- ee%d      d        Z. ee%d      d        Z/ ee%d      ej`                  jb                  d               Z2 ee%d      d        Z3 ee%d      d        Z4 ee%d      d        Z5dZ6 ee%d      d         Z7 ee%d      d!        Z8 ee%d      ej`                  jb                  d"               Z9 ee%d      ej`                  jb                  d#               Z: ee%d      d$        Z; ee%d      d%        Z< ee%d      ej`                  jb                  d&               Z= ee%d      ej`                  jb                  d'               Z> ee%d      d(        Z? ee%d      d)        Z@ ee%d      d*        ZAd+ ZBej`                  jb                   ee%d      d,               ZCej`                  jb                   ee%d      d-               ZDej`                  jb                   ee%d      d.               ZEej`                  jb                   ee%d      d/               ZF eGd0d01      ZHej`                  jb                   ee%d2       G d3 d4                    ZIy# e&$ r  ed	      Z%Y w xY w)5z4
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mpmathz0.10c            
         g } t        j                  ddd      D ]y  }t        j                  ddt         j                  z  d      D ]L  }|t        j                  d|z        z  }| j                  |t        t        j                  |            f       N { t        j                  | t         j                        } t        t        j                  | dd      j                          y )	Ni   
   r                    ?dtype   )nplogspacelinspacer   expappendcomplexr   eiarraycdoubler	   scexpicheck)datasetrpzs       c/home/alanp/www/video.onchill/myenv/lib/python3.12/site-packages/scipy/special/tests/test_mpmath.pytest_expi_complexr5   #   s    G[[a$Q"%%,A"&&A,ANNAwvyy|456 - % hhwbjj1GRWWgq!$**,    z0.19c                     g } dD ]m  }t        j                  ddd      D ]Q  }t        j                  d      5  | j	                  ||t        t        j                  ||            f       d d d        S o t        j                  |       } t        t        j                  | ddd	      j                          y # 1 sw Y   xY w)
N)2   3   r         d   r   r#   r   vIh%<=rtol)r$   r%   r   workdpsr(   floatexpintasarrayr	   r-   expnr/   )r0   nxs      r4   test_expn_large_nrH   3   s     GQ3'A$1eFMM!Q,?&@AB %$ (  jj!GRWWgvqu5;;=	 %$s   2B77C c            
      l   g } g d}|D ]i  }|D ]b  }|D ][  }|d|z  z   }t        j                  d      5  t        t        j                  ||            }d d d        | j	                  ||f       ] d k t        j                  |       } t        d | ddd      j                          y # 1 sw Y   XxY w)	N)g     Xg      #            ?g      #@g     X@r    x   c                 B    t        j                  | j                  |      S Nr-   hyp0f1realvr3   s     r4   <lambda>z$test_hyp0f1_gh5764.<locals>.<lambda>U   s    "))AFFA.r6   r=   r   r>   r?   )	r   rA   r)   rP   r(   r$   r+   r	   r/   )r0   axisrS   rG   yr3   ress          r4   test_hyp0f1_gh5764rX   D   s     G.DA1H ^^C(!&--1"56C )1c{+    hhwG. )(s    B*	*B3c            	         t        j                  ddd      } t        j                  | d      }t        j                  | D cg c]  }t        j                  |d       c}      }t        ||j                  t              d       y c c}w )N         rK   -q=r?   )	r$   r&   r-   rP   r+   r   r   astyperB   )vvafrS   mfs       r4   test_hyp0f1_gh_1609rb   Y   sh     
S#r	"B	2s	B	"5"Q6==C("5	6BB		%(u5 6s   Bz1.1.0c                  `   g } t        j                  dd      D ]  }t        j                  ddd      D ]t  }| }| j                  ||dt	        t        j                  ||d            f       | |z   dz
  }| j                  ||dt	        t        j                  ||d            f       v  dD ]<  }dD ]5  }| j                  ||dt	        t        j                  ||d            f       7 > t        j                  |       } t        t        j                  | dd	d
d      j                          y )N      r   r#   )      %      rJ   r   rK   r#   r   )      rJ   r   rK   r#         ?r         @r   r#   r      V瞯<-a=r@   atol)r$   aranger&   r(   rB   r   hyperur+   r	   r-   r/   )r0   rF   bas       r4   test_hyperu_around_0rv   f   s   GYYr1RB'AANNAq!U6==Aq+A%BCDQ
ANNAq!U6==Aq+A%BCD	 (  05ANNAq!U6==Aq+A%BCD 6 0 hhwGRYYAEFLLNr6   1.0.0c                     ddg} | t        t        j                  g dd            z  } | D cg c]*  \  }}}}||k(  rt        |      |k(  r|dk  r|dk7  r||||f, } }}}}t	        d	      }| D cg c]$  }|t        t        j                  |i |      fz   & }}t        j                  |t        j                  
      }t        t        j                  |ddd      j                          y c c}}}}w c c}w )N)r   ry   ffffff?)r   r{   rz   )r   r#   gffffffr:   )repeatr   r|   T)	eliminater!   r   r#   r   rm   绽|=r?   )list	itertoolsproductrounddictrB   r   hyp2f1r$   r+   float64r	   r-   r/   )ptsru   rt   crG   kwr2   r0   s           r4   test_hyp2f1_strange_pointsr   }   s     	C 4	!!"5a@AAC'*'*Aq!6eAh!mA!u* 
Aq!s   
	B>ABcqE&--1b1244cGBhhwbjj1GRYYAE:@@B
 Cs   /C2
5)C:z0.13c            	      f   g d} | D cg c]!  }|t        t        j                  |       fz   # }}t        j                  |t        j
                        }t        j                  d      5  t        t        j                  |ddd      j                          d d d        y c c}w # 1 sw Y   y xY w)	N)r#   r   rm   r   )UUUUUU?gUUUUUU?g?g      ?)      ?rK   g      ?gX<ݚ?)r   r{   rm   )r   r   r{   rm   )r   rh   rh   rm   r   )gx&?ry   rd   g333333?)r   r   r   +?)r   r   r   ry   )r   rm   re   Gz?)rj   rJ   rm   r   )r   rk   g      
r   )g*4]92@g|O%@gCu?)  rg   r   )r   r         %@r   )ry   r   r#         ?)ry   r   r#   ri   )r      re   r   )r   r   re   ri   )rK   g     prj   gm˟?r!   ignoreinvalidr   r:   r   r?   )
rB   r   r   r$   r+   r   errstater	   r-   r/   )r   r2   r0   s      r4   test_hyp2f1_real_some_pointsr      s    C. 9<<1qE&--+,..G<hhwbjj1G	X	&GY>DDF 
'	& = 
'	&s   &B",-B''B00.14c            	      <   g d} d }| D cg c]4  }t        t        ||            t        t        j                  |       fz   6 }}t        j                  |t
        j                        }t        t        j                  |ddd      j                          y c c}w )N))p   )r9   r   )r   gwJ)r   |r   r   )r   r   rg   r   c                 N    t        | t              rt        | d         | d   z  S | S )Nr   r#   )
isinstancetuplerB   rG   s    r4   fevz&test_hyp2f1_some_points_2.<locals>.fev   s(    a1;1%%Hr6   r!   r   r:   r   r?   )r   maprB   r   r   r$   r+   r   r	   r-   r/   )r   r   r2   r0   s       r4   test_hyp2f1_some_points_2r      s~    C JMMAuSa[!U6==!+<%=$??GMhhwbjj1GRYYAE:@@B Ns   9Bc                     g } dD ]O  }dD ]H  }dD ]A  }dD ]:  }	 t        t        j                  ||||            }| j	                  |||||f       < C J Q t        j                  | t
        j                        } t        j                  d      5  t        t        j                  | dd	d
d      j                          d d d        y # t        $ r Y w xY w# 1 sw Y   y xY w)N)r   rd   g?re   r   )g      ry   r#   g@)r   r   re   gffffff4@)r   g)\(Gzr   g333333?gffffff?rj   r   r!   r   r   r   r:   &.>Tr@   ignore_inf_sign)rB   r   r   	Exceptionr(   r$   r+   r   r   r	   r-   r/   )r0   ru   rt   r   r3   rS   s         r4   test_hyp2f1_real_somer      s    G(#A(CA!!&--1a";< NNAq!Q?3 D ) $ ) hhwbjj1G	X	&GY!%	'',uw 
'	& % ! !
 
'	&s   !C	.C		CCC!z0.12c            
      t   d} t        j                  | dft         j                        }t         j                  j	                  d       t         j                  j                  d|       |d d df<   t         j                  j                  d|       |d d df<   t         j                  j                  d|       |d d df<   dt         j                  j                  |       z  dz
  |d d df<   |d d dfxx   d	t         j                  j                  d|       z  z  cc<   |d d dfxx   d	t         j                  j                  d|       z  z  cc<   |d d dfxx   d	t         j                  j                  d|       z  z  cc<   |D ]  }t        j                  d
k  rJt        |d d       j                         t        |d         kD  rt        |d d       j                         |d<   t        t        j                  t        |d d              |d<    t        t         j                  |ddd      j#                          y )N  re     rj   r   r#   r   rm   ry   r   r:   r   r   r?   )r$   zerosr   randomseedparetorandrandintr   __version__absmaxrB   r   r   r	   r-   r/   )npointsr0   dss      r4   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Dr6   c                     t         j                  j                  t         j                  j                  }} 	 dt         j                  _        t	        j
                  t	        j                  ddd      t	        j                  ddd            \  }}t	        j
                  t	        j                  ddd      t	        j                  ddd            \  }}t        j                  |j                         |j                         f   dt        j                  |j                         |j                         f   z  z   }t        t        j                  d	 |d
d       t        t        j                  d |d
d       | |ct         j                  _        t         j                  _        y # | |ct         j                  _        t         j                  _        w xY w)NF   r   r#         ig?r    c                 >    t        t        j                  |             S rN   )r)   r   erfr   s    r4   rT   z"test_erf_complex.<locals>.<lambda>   s    GFJJqM,Br6   Fr>   
vectorizedr@   c                 >    t        t        j                  |             S rN   )r)   r   erfcr   s    r4   rT   z"test_erf_complex.<locals>.<lambda>  s    WV[[^-Dr6   )r   mpdpsprecr$   meshgridr&   r%   r_ravelr
   r-   r   r   )old_dpsold_precx1y1x2y2pointss          r4   test_erf_complexr      s/    		vyy~~XG:		R[[a4bkk#q"6MNBR[[b"5r{{3B7OPBrxxz"((*,-255RXXZ9O3P0PP"&&"BF%*	8"''#Df%*	8 )0%		vyy~%		vyy~s   D?F! !-Gz0.15c                  D   g } dD ]{  }| j                  dd|fdd|fdd|fdd|fdd|fdd|fdd|fdd|fdd|fdd	|fd
d|fdd	|fdd|fdd	|fd
d|fdd|fdd|fdd|fd
d|fdd|fdd|fdd|fd
d|fdd|fdd|fdd|fg       } d }| D cg c]  }| ||d   |d   |d         fz    }}t        j                  |t        j                        }d }t        j                  d      5  t        ||dd
dd      j                          d d d        y c c}w # 1 sw Y   y xY w) N)r   gmư>gL7A`?r#   r#   ry   r{   g333333?g333333gr   r   rm      re   r   rd   r   ig @g&@g g&c                 d    |t        |      k(  r|dk(  r|dk(  ryyt        j                  | ||      S Nr#   r   )intr   legenp)numurG   s      r4   mplegenpztest_lpmv.<locals>.mplegenp-  s3    R=Q!VQw}}RQ''r6   r   r   r!   c                 V    t        j                  | j                  t              ||      S rN   )r-   lpmvr^   r   )r   r   rG   s      r4   evfztest_lpmv.<locals>.evf9  s    wwryy~r1--r6   r   r   rl   r   +=rp   )extendr$   r+   r   r   r	   r/   )r   rG   r   r2   r0   r   s         r4   	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
 	 -<( ;>>#QqHQqT1Q41.00#G>hhwbjj1G. 
X	&gwEBHHJ 
'	& ? 
'	&s   
D( DDc                     t         j                  j                  d       t         j                  t        j                  ddd      t        j                  ddd      t        j                  ddd      t        j
                  dd	d      t        j
                  dd	d      d
z   dddddf
   } | }t        j                  t        j                  |d d d f   | d d d f               j                  dd      j                  }t        j                  j                  t        j                  j                  }}	 dt        j                  _        t        t        j                   d |ddd       t        t        j"                  d |dd       ||ct        j                  _        t        j                  _        y # ||ct        j                  _        t        j                  _        w xY w)Nr   8r;   r:   r   r   ry   r#   r   rK   gffffffr   g33333Yg3333r     c                 @    t        t        j                  | |            S rN   )rB   r   betaru   rt   s     r4   rT   ztest_beta.<locals>.<lambda>W  s    uV[[A->'?r6   Fr   T)r   r@   r   c           
      x    t        t        j                  t        t        j                  | |                        S rN   )rB   r   logr   r   r   s     r4   rT   ztest_beta.<locals>.<lambda>_  s"    vzz#fkk!Q.?*@ABr6   r   )r$   r   r   r   r%   rr   r+   broadcast_arraysreshapeTr   r   r   r   r
   r-   r   betaln)rt   ru   abr   r   s        r4   	test_betar   D  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~~XG:		"''?%*$*.	0 	IIB	 )0%		vyy~%		vyy~s   1AF1 1-Gg?c            	      0   t         t        j                  g d      z   } t        j                  ddt        j                  z  d      }t        j
                  | |      \  } }| t        j                  d|z        z  }t        j                  d|z   d|z   f   j                         }|D cg c]"  }|t        t        j                  |            f$ }}t        j                  |      }t        t        j                  |ddd      j                          y c c}w )	N)gg{Gzr   g{Gz?g?r   r   rf   r    r#   vIh%,=r?   )LOGGAMMA_TAYLOR_RADIUSr$   r+   r&   r   r   r'   r   flattenr)   r   loggammar	   r-   r/   r1   thetadzr3   z0r0   s         r4   test_loggamma_taylor_transitionr   n  s    
 	*E!FFAKK1RUU7B'E{{1e$HAu	
266"U(	B
a"fa"fn%%'A<=>AbGFOOB/01AG>hhwGR[['1ae4::< ?s   ('Dc            	      P   t        j                  dt        j                  t              d      } t        j                  ddt         j
                  z  d      }t        j                  | |      \  } }| t        j                  d|z        z  }t         j                  d|z   d|z   f   j                         }|D cg c]"  }|t        t        j                  |            f$ }}t        j                  |      }t        t        j                  |ddd	      j!                          y c c}w )
Nir   r   r   rf   r    r#   r   r?   )r$   r%   log10r   r&   r   r   r'   r   r   r)   r   r   r+   r	   r-   r/   r   s         r4   test_loggamma_taylorr    s     	C"892>AKK1RUU7B'E{{1e$HAu	
266"U(	B
a"fa"fn%%'A<=>AbGFOOB/01AG>hhwGR[['1ae4::< ?s   8'D#c            
         t         j                  t        j                  ddd       dt        j                  ddd      f   } | j                         }t        j                  | |      \  } }| d|z  z   }t        j
                  ddd      j                  ddd      }|t        j                  |f|j                  z        z   j                         }t        j                  d      5  |D cg c]"  }|t        t        j                  |            f$ }}d d d        t        j                        }t        t         j                  |ddd	
      j#                          y c c}w # 1 sw Y   PxY w)Nry   rm   r   r    iVr#   r<   r]   r?   )r$   r   r%   copyr   rr   r   dstacksizer   r   rA   r)   rgammar+   r	   r-   r/   )dxdyr   r   r3   r   r0   s          r4   test_rgamma_zerosr    s    
BQ''BKKR,CC	DB	B[[R FB	beBIIar"**1a4E	B5+,	,557A		>?@aBb 123a@ 
 hhwGRYYAE288: A 
	s   $E!)'EE!E!!E*c            
         t        j                  t         j                  d      } t        |       g}t        j                  t         j                  d      } |j	                  t        |              t        j                  |      }t
        j                  dt        j                  ddd       dt        j                  ddd      df   }|j                         }t        j                  ||      \  }}|d	|z  z   }|t        j                  |f|j                  z        z   j                         }t        j                  d
      5  |D cg c]"  }|t        t        j                  |            f$ }}d d d        t        j                        }t!        t"        j                  |ddd      j%                          y c c}w # 1 sw Y   PxY w)Nrj   rJ   gQοry   r   r   gQ?r    r   r#   r   r?   )r   findrootdigammarB   r(   r$   r+   r   r%   r  r   r  r  r   rA   r)   r	   r-   r/   )rootrootsr
  r  r   r3   r   r0   s           r4   test_digamma_rootsr    sS    ??6>>3/D4[ME??6>>40D	LLtHHUOE 
ur{{2sB//BKKR4LdR	SB	B[[R FB	beB	B5+,	,557A		?@AqBr 234qA 
 hhwGRZZ!QU399; B 
	s   F>'F9-F>9F>>Gc            
      f   t        t        j                        } t        j                  ddd       }t        j
                  t        j                  ddd       dt        j                  ddd      f   }t        j                  ||      \  }}|d|z  z   j                         }t        j                  d      5  |D cg c]  }|t         | |            f }}d d d        t        j                        }t        t        j                  |dd	d
      j                          y c c}w # 1 sw Y   PxY w)N,  r<   r   r   re   r    (   r#   r>   r?   )r   r   r  r$   r%   r   r   r   rA   r)   rD   r	   r-   r/   )r  rG   rV   r3   r   r0   s         r4   test_digamma_negrealr    s     v~~.G	S#s	##A
r{{1b!$$aRA)>>?A;;q!DAq	
RTA		89:"B,-: 
jj!GRZZ!QU399; ; 
	s   7D'<D"D'"D''D0c            
         t        j                  ddd       } t        j                  g d      }t        j                  | |      \  } }| d|z  z   j	                         }t        j                  d      5  |D cg c]"  }|t        t        j                  |            f$ }}d d d        t        j                        }t        t        j                  |ddd	
      j                          y c c}w # 1 sw Y   PxY w)Nr  r  r<   )gffffffgg@gffffff@r    r   r   r#   r>   r?   )r$   r%   r+   r   r   r   rA   r)   r  rD   r	   r-   r/   rG   rV   r3   r   r0   s        r4   test_digamma_boundaryr    s    
 
S#s	##A
'(A;;q!DAq	
RTA		?@AqBr 234qA 
jj!GRZZ!QU399; B 
	s   4C19'C, C1,C11C:c                  6   d} t        j                  d| z  d| z  d      }|j                         }t        j                  ||      \  }}|j	                         |j	                         }}t        j                  d      5  t        ||      D cg c])  \  }}||t        t        j                  ||d            f+ }}}d d d        t        j                        }t        t        j                  |ddd	
      j                          y c c}}w # 1 sw Y   QxY w)Nrf   rK   r   r8   r<   Trt   regularizedr=   r]   r?   )r$   r&   r  r   r   r   rA   ziprB   gammaincr+   r	   r-   r/   )smallru   rG   a0x0r0   s         r4   test_gammainc_boundaryr$    s     E
CIqw+A	A;;q!DAq99;		qA		!$Q,!*vr2 E&//""MNO!* 	 , 
 hhwGR[['6159??A	, 
	s   >D.D	<D	DDc            	         d } t        j                  dd      }t        j                  ddt        z        }dt        j                  |t        j                  d|z              z   j                         }t        j                  |D cg c]  }| | |      f c}      }t        t        j                  |ddd	      j                          y c c}w )
Nc                 F    t        t        j                  dd| z
              S Nr   r#   )r)   r   polylogr3   s    r4   spencez"test_spence_circle.<locals>.spence  s    v~~aQ/00r6   rK   rj   r   r   r#   r    r   r?   )r$   r&   r   outerr'   r   rD   r	   r-   r*  r/   )r*  r1   r   r3   r   r0   s         r4   test_spence_circler,    s    1 	CAKK1R4 E	
RXXa5)*	*335AjjQ7Qr2vbz*Q78GRYYAE288: 8s   Cc                     t        j                  t              j                  } t         j                  t        j
                  ddd       dt        j
                  ddd      f   }|j                         }t        j                  ||      \  }}|d|z  z   }t        j                  ddd      j                  ddd      }|t        j                  |f|j                  z        z   j                         }t        j                  |D cg c]"  }|t        t        j                   |            f$ c}      }t#        t$        |ddd	| z  
      j'                          y c c}w )Nr   r  rm   r    r<   r#   ry   r   r?   )r$   finforB   epsr   r%   r  r   rr   r   r  r  r   rD   r)   r   sinpir	   r   r/   r0  r
  r  r   r   r3   r   r0   s           r4   test_sinpi_zerosr3    s   
((5/

C	AsA&&2;;sAq+AA	BB	B[[R 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                     t        j                  t              j                  } t         j                  t        j
                  ddd       dt        j
                  ddd      f   }|j                         }t        j                  ||      \  }}|d|z  z   }t        j                  ddd      dz   j                  ddd	      }|t        j                  |f|j                  z        z   j                         }t        j                  |D cg c]"  }|t        t        j                   |            f$ c}      }t#        t$        |ddd
| z        j'                          y c c}w )Nr   r  rm   r    r.  r<   r#   rK   ry   r   r?   )r$   r/  rB   r0  r   r%   r  r   rr   r   r  r  r   rD   r)   r   cospir	   r   r/   r2  s           r4   test_cospi_zerosr6  $  s    
((5/

C	AsA&&2;;sAq+AA	BB	B[[R 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            
         d } d }t        j                  ddd      }t         j                  t        j                  ddd       dt        j                  ddd      f   }g }|D ]G  }t	        t        j                  |            }|D ]"  }||z   }|j                  || |||      f       $ I t        j                  |      }t        | |d	d
d      j                          y )Nc                 4    t        j                  | |      d   S Nr   r-   ellipjums     r4   dnz"test_dn_quarter_period.<locals>.dn9  s    yyAq!!r6   c                 D    t        t        j                  d| |            S Nr?  r<  )rB   r   ellipfunr<  s     r4   	mpmath_dnz)test_dn_quarter_period.<locals>.mpmath_dn<  s    V__TQ!455r6   r   r#   rf   ry   r  r   r=   r   r   r?   )r$   r&   r   r%   rB   r   ellipkr(   rD   r	   r/   )	r?  rC  r>  dur0   m0u0du0r2   s	            r4   test_dn_quarter_periodrI  7  s    "6 	Aq"A	BR((!R[[b"-EE	FBG6==$%CSANNAr9Q#345  
 jj!GR&!%0668r6   c                 `   t        j                  |      5  t        j                  |       } t        j                  | j                  t         j
                  z
  dt         j
                  z  z        }t        j                  t        j                  |       |      }d d d        |S # 1 sw Y   S xY wr9  )r   rA   mpcceilimagr   lambertwr'   )r3   r   unwindrW   s       r4   _mpmath_wrightomegarP  P  st    		JJqMaffvyy01VYY;?@oofjjmV4 
 J	 
 Js   BB##B-c                  
   t        j                  ddd       } t        j                  t         j                  t         j                        g}t        j                  t         j                  t         j                         g}t        j                  t         j                   t         j                        g}t        j                  t         j                   t         j                         g}t        d      D ]  }|j                  t        j                  |d   t         j                               |j                  t        j                  |d   t         j                                |j                  t        j                  |d   t         j                               |j                  t        j                  |d   t         j                                 t        j                  ||||f      }t        j                  | |      \  } }| d|z  z   j                         }t        j                  |D cg c]  }|t        t        |d            f c}      }	t        t        j                  |	ddd	      j!                          y c c}w )
Nr   r      r8   ry   r    r#   :0yE>r?   )r$   r%   	nextafterr   infranger(   hstackr   r   rD   r)   rP  r	   r-   wrightomegar/   )
rG   picut_abovepicut_belownpicut_abovenpicut_belowirV   r3   r   r0   s
             r4   test_wrightomega_branchr^  X  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!DAq	
RTAjj$%'$%b w':2r'BCD$%' (G R^^Wa6<<>'s   .J c                     t        j                  dd      } t        j                  ddt         j                  z        }t        j                  | |      \  } }| d|z  z   j	                         }t        j
                  |D cg c]  }|t        t        |d            f c}      }t        t        j                  |ddd      j                          y c c}w )	Nr{   r#   r   r    rR  r   rn   r?   r$   r&   r   r   r   rD   r)   rP  r	   r-   rX  r/   r  s        r4   test_wrightomega_region1ra  o  s     	BA
AqwA;;q!DAq	
RTAjj$%'$%b w':2r'BCD$%' (G R^^Wa7==?'    Cc                     t        j                  dd      } t        j                  dt         j                  z  d      }t        j                  | |      \  } }| d|z  z   j	                         }t        j
                  |D cg c]  }|t        t        |d            f c}      }t        t        j                  |ddd      j                          y c c}w )	Nr{   r#   ry   r    rR  r   rn   r?   r`  r  s        r4   test_wrightomega_region2rd  ~  s     	BA
BruuHb!A;;q!DAq	
RTAjj$%'$%b w':2r'BCD$%' (G R^^Wa7==?'rb  c                     t        j                  ddd      t        j                  ddd      }} t        j                  | |      \  } }| d|z  z   j                         }t        j                  |D cg c]"  }|t        t        j                  |            f$ c}      }t        t        j                  |ddd      j                          y c c}w )Nry   r#   rR  r    r   r>   r?   )r$   r&   r   r   rD   r)   r   rN  r	   r-   r/   r  s        r4   test_lambertw_smallzrf    s     ;;r1b!2;;r1b#9qA;;q!DAq	
RTAjj$%'$%b wvr':;<$%' (G R[['1ae4::<'s   1'Cr;   maxprecmaxtermsz0.17c                   v   e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zej<                  j?                  dd      d        Z d Z!ej<                  j?                  dd      d         Z"d! Z#d" Z$d# Z%d$ Z&d% Z'd& Z(d' Z)d( Z*d) Z+d* Z,d+ Z-d, Z.d- Z/d. Z0d/ Z1d0 Z2d1 Z3d2 Z4d3 Z5d4 Z6d5 Z7d6 Z8d7 Z9d8 Z:d9 Z;d: Z<d; Z=d< Z>d= Z?d> Z@d? ZAd@ ZBdA ZCdB ZDdC ZEdD ZFdE ZGdF ZHdG ZIdH ZJdI ZKdJ ZLdK ZMdL ZNdM ZOdN ZPej<                  j?                  dO      dP        ZQdQ ZRej<                  j?                  dO      dR        ZSeTdS        ZUdT ZVdU ZWej<                  j?                  ddV      dW        ZXdX ZYdY ZZdZ Z[ej<                  j?                  dO      d[        Z\eTd\        Z]ej<                  j?                  dO      d]        Z^ej<                  j                  d^      d_        Z`d` Zada Zbej<                  j?                  dO      db        Zcdc Zddd Zede ZfeTdf        Zgdg Zhej<                  j                  dh      di        Zidj ZjeTdk        Zkdl Zldm Zmdn Zndo Zoej<                  j?                  ddp      dq        ZpeTdr        Zqds Zrdt Zsej<                  j?                  dO      du        Ztej<                  j?                  ddv      dw        Zudx Zvej<                  j?                  ddy      dz        Zwd{ Zxd| Zyej<                  j?                  d}~      d        Zzd Z{d Z|d Z}d Z~d Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zej<                  j?                  dd      d        Zy)TestSystematicc                     t        d t        j                  t        dd      gd       t        d t        j                  t        dd      g       y )	Nc                 2    t        j                  |       d   S Nr   r-   airyr)  s    r4   rT   z,TestSystematic.test_airyai.<locals>.<lambda>      bggajmr6       ח    חAh㈵>r?   c                 2    t        j                  |       d   S rn  ro  r)  s    r4   rT   z,TestSystematic.test_airyai.<locals>.<lambda>  rq  r6        @     @@)r   r   airyair   selfs    r4   test_airyaizTestSystematic.test_airyai  sC    3"MM s^,!%	' 	3"MM s^,	.r6   c                 N    t        d t        j                  t               g       y )Nc                 2    t        j                  |       d   S rn  ro  r)  s    r4   rT   z4TestSystematic.test_airyai_complex.<locals>.<lambda>  rq  r6   )r   r   rx  r   ry  s    r4   test_airyai_complexz"TestSystematic.test_airyai_complex  s    3"MM'\N	,r6   c                 p    t        d d t        dd      gd       t        d d t        d	d
      g       y )Nc                 2    t        j                  |       d   S Nr#   ro  r)  s    r4   rT   z2TestSystematic.test_airyai_prime.<locals>.<lambda>  rq  r6   c                 0    t        j                  | d      S Nr#   )
derivativer   rx  r)  s    r4   rT   z2TestSystematic.test_airyai_prime.<locals>.<lambda>      "MM!:r6   rr  rs  rt  r?   c                 2    t        j                  |       d   S r  ro  r)  s    r4   rT   z2TestSystematic.test_airyai_prime.<locals>.<lambda>  rq  r6   c                 0    t        j                  | d      S r  r  r)  s    r4   rT   z2TestSystematic.test_airyai_prime.<locals>.<lambda>  r  r6   rv  rw  r   r   ry  s    r4   test_airyai_primez TestSystematic.test_airyai_prime  ?    3 6; s^,!%	' 	3 6; s^,	.r6   c                 4    t        d d t               g       y )Nc                 2    t        j                  |       d   S r  ro  r)  s    r4   rT   z:TestSystematic.test_airyai_prime_complex.<locals>.<lambda>  rq  r6   c                 0    t        j                  | d      S r  r  r)  s    r4   rT   z:TestSystematic.test_airyai_prime_complex.<locals>.<lambda>  r  r6   r   r   ry  s    r4   test_airyai_prime_complexz(TestSystematic.test_airyai_prime_complex      3 6;'\N	,r6   c                 p    t        d d t        dd      gd       t        d d t        d	d
      g       y )Nc                 2    t        j                  |       d   S r9  ro  r)  s    r4   rT   z,TestSystematic.test_airybi.<locals>.<lambda>  rq  r6   c                 ,    t        j                  |       S rN   r   airybir)  s    r4   rT   z,TestSystematic.test_airybi.<locals>.<lambda>      "MM!,r6   rr  rs  rt  r?   c                 2    t        j                  |       d   S r9  ro  r)  s    r4   rT   z,TestSystematic.test_airybi.<locals>.<lambda>  rq  r6   c                 ,    t        j                  |       S rN   r  r)  s    r4   rT   z,TestSystematic.test_airybi.<locals>.<lambda>  r  r6   rv  rw  r  ry  s    r4   test_airybizTestSystematic.test_airybi  s?    3 6- s^,!%	' 	3 6- s^,	.r6   c                 4    t        d d t               g       y )Nc                 2    t        j                  |       d   S r9  ro  r)  s    r4   rT   z4TestSystematic.test_airybi_complex.<locals>.<lambda>  rq  r6   c                 ,    t        j                  |       S rN   r  r)  s    r4   rT   z4TestSystematic.test_airybi_complex.<locals>.<lambda>  r  r6   r  ry  s    r4   test_airybi_complexz"TestSystematic.test_airybi_complex  s    3 6-'\N	,r6   c                 p    t        d d t        dd      gd       t        d d t        d	d
      g       y )Nc                 2    t        j                  |       d   S Nrm   ro  r)  s    r4   rT   z2TestSystematic.test_airybi_prime.<locals>.<lambda>  rq  r6   c                 0    t        j                  | d      S r  r  r)  s    r4   rT   z2TestSystematic.test_airybi_prime.<locals>.<lambda>  r  r6   rr  rs  rt  r?   c                 2    t        j                  |       d   S r  ro  r)  s    r4   rT   z2TestSystematic.test_airybi_prime.<locals>.<lambda>  rq  r6   c                 0    t        j                  | d      S r  r  r)  s    r4   rT   z2TestSystematic.test_airybi_prime.<locals>.<lambda>  r  r6   rv  rw  r  ry  s    r4   test_airybi_primez TestSystematic.test_airybi_prime  r  r6   c                 4    t        d d t               g       y )Nc                 2    t        j                  |       d   S r  ro  r)  s    r4   rT   z:TestSystematic.test_airybi_prime_complex.<locals>.<lambda>  rq  r6   c                 0    t        j                  | d      S r  r  r)  s    r4   rT   z:TestSystematic.test_airybi_prime_complex.<locals>.<lambda>  r  r6   r  ry  s    r4   test_airybi_prime_complexz(TestSystematic.test_airybi_prime_complex  r  r6   c                 d    t        t        j                  t        d       t	        dd      g       y )Nc                 8    t        j                  d| fi t        S rn  )r   beiHYPERKWr)  s    r4   rT   z)TestSystematic.test_bei.<locals>.<lambda>      vzz!Q7R'7Rr6   rv  rw  )r   r-   r  r   r   ry  s    r4   test_beizTestSystematic.test_bei  %    BFF,-RS s^,	.r6   c                 d    t        t        j                  t        d       t	        dd      g       y )Nc                 8    t        j                  d| fi t        S rn  )r   berr  r)  s    r4   rT   z)TestSystematic.test_ber.<locals>.<lambda>  r  r6   rv  rw  )r   r-   r  r   r   ry  s    r4   test_berzTestSystematic.test_ber  r  r6   c                 >    t        d d t        dd      gdd       y )Nc                 V    t        j                  t        |             t        |          S rN   )r-   	bernoullir   rF   s    r4   rT   z/TestSystematic.test_bernoulli.<locals>.<lambda>  s    bll3q6&:3q6&Br6   c                 P    t        t        j                  t        |                   S rN   )rB   r   r  r   r  s    r4   rT   z/TestSystematic.test_bernoulli.<locals>.<lambda>  s    eF,<,<SV,D&Er6   r   i2  r   r@   rF   )r   r   ry  s    r4   test_bernoullizTestSystematic.test_bernoulli  s"    BE#Au-.!%	0r6   c                 z    t        t        j                  t        d       t	        dd      t	               gd       y )Nc                 8    t        j                  | |fi t        S rN   r   besselir  rR   s     r4   rT   z-TestSystematic.test_besseli.<locals>.<lambda>      &..A*I*Ir6   }Ô%I}Ô%ITgJDrq   )r   r-   ivr   r   ry  s    r4   test_besselizTestSystematic.test_besseli  s.    EEIJ'		
r6   c                 \    t        d t        d       t        dd      t               g       y )Nc                 B    t        j                  | j                  |      S rN   )r-   r  rQ   rR   s     r4   rT   z5TestSystematic.test_besseli_complex.<locals>.<lambda>      qvvq)r6   c                 8    t        j                  | |fi t        S rN   r  rR   s     r4   rT   z5TestSystematic.test_besseli_complex.<locals>.<lambda>   r  r6   r  r  r   r   r   r   ry  s    r4   test_besseli_complexz#TestSystematic.test_besseli_complex  '    )IJ.	
r6   c           	          t        t        j                  t        d       t	        dd      t	        dd      gd       t        t        j                  t        d       t	        dd      t	        d	d
      gdd       y )Nc                 8    t        j                  | |fi t        S rN   r   besseljr  rR   s     r4   rT   z-TestSystematic.test_besselj.<locals>.<lambda>  r  r6   r  r  rv  rw  Tr   c                 8    t        j                  | |fi t        S rN   r  rR   s     r4   rT   z-TestSystematic.test_besselj.<locals>.<lambda>  r  r6   rr  rs  rt  )r   r@   )r   r-   jvr   r   ry  s    r4   test_besseljzTestSystematic.test_besselj  sg    EEIJT30 		
 	EEIJT30 	
r6   c                 X    t        d t        d       t               t               g       y )Nc                 B    t        j                  | j                  |      S rN   )r-   r  rQ   rR   s     r4   rT   z5TestSystematic.test_besselj_complex.<locals>.<lambda>  r  r6   c                 8    t        j                  | |fi t        S rN   r  rR   s     r4   rT   z5TestSystematic.test_besselj_complex.<locals>.<lambda>  r  r6   r  ry  s    r4   test_besselj_complexz#TestSystematic.test_besselj_complex  s"    )IJUJL!	
r6   c           	          t        t        j                  t        j                  t        dd      t        dt        j                        gdd       y Nr   r;   r   Fr]   nan_okr@   )r   r-   kvr   besselkr   r$   rU  ry  s    r4   test_besselkzTestSystematic.test_besselk  s6    EENNs^SBFF^,	
r6   c           	          t        t        j                  t        j                  t        dd      t        dt        j                        gdd       y r  )	r   r-   knr   r  r   r   r$   rU  ry  s    r4   test_besselk_intzTestSystematic.test_besselk_int%  s7    EENND#Arvv/	
r6   c                 \    t        d t        d       t        dd      t               g       y )Nc                 B    t        j                  | j                  |      S rN   )r-   r  rQ   rR   s     r4   rT   z5TestSystematic.test_besselk_complex.<locals>.<lambda>0  r  r6   c                 8    t        j                  | |fi t        S rN   )r   r  r  rR   s     r4   rT   z5TestSystematic.test_besselk_complex.<locals>.<lambda>1  r  r6   r  r  r  ry  s    r4   test_besselk_complexz#TestSystematic.test_besselk_complex.  r  r6   c           	          d }t        t        j                  t        |      t	        dd      t	        dd      gd       y )Nc                     t        t        j                  | |fi t              }t	        |      dkD  r&t
        j                  t        j                  |      z  }t	        |      dk(  r|dk(  rt
        j                  S |S )NقnQ:Br   )	rB   r   besselyr  r   r$   rU  signnanrS   rG   r1   s      r4   	mpbesselyz.TestSystematic.test_bessely.<locals>.mpbessely6  s\    fnnQ5W56A1v~FFRWWQZ'1v{qAvvvHr6   r  r  rr  rs    r  )r   r-   yvr   r   rz  r  s     r4   test_besselyzTestSystematic.test_bessely5  s8    	 	EEY'T30		
r6   c                 `    d }t        d t        |      t               t               gd       y )Nc                    t        t        j                  | |fi t              }t	        |      dkD  rGt        j                  d      5  t
        j                  t        j                  |      z  }d d d        |S |S # 1 sw Y   |S xY w)Nr  r   r   )	r)   r   r  r  r   r$   r   rU  r  r  s      r4   r  z6TestSystematic.test_bessely_complex.<locals>.mpbesselyG  sb    q!7w78A1v~[[2+A 3H1H 3Hs   	'A<<Bc                 B    t        j                  | j                  |      S rN   )r-   r  rQ   rR   s     r4   rT   z5TestSystematic.test_bessely_complex.<locals>.<lambda>O  r  r6   i:  r  r  r  s     r4   test_bessely_complexz#TestSystematic.test_bessely_complexF  s+    	 	)Y'UJL!		
r6   c           	      d    d }t        d t        |      t        dd      t        dd      g       y )Nc                     t        t        j                  | |            }t        |      dk(  r|dk(  rt        j
                  S |S rn  )rB   r   r  r   r$   r  r  s      r4   r  z2TestSystematic.test_bessely_int.<locals>.mpbesselyV  s6    fnnQ*+A1v{qAvvvHr6   c                 @    t        j                  t        |       |      S rN   )r-   ynr   rR   s     r4   rT   z1TestSystematic.test_bessely_int.<locals>.<lambda>]  s    s1vq)r6   r|     rr  rs  r   r   r   r   r  s     r4   test_bessely_intzTestSystematic.test_bessely_intU  s1    	 	)Y'E4 #dC.1	
r6   c                     g dfd	t        t        j                  fdt               t               gdd       t        t        j                  t	        j
                        ddd       y )	Nc                     | dk  s|dk  rt         j                  S | dk  s|dk  rTt        t        | |z               dz  dk(  r7|r5j	                  t        |       t        |      f       t         j                  S t        j                  | |      S )Ng   mr   r#   )r$   r  r   rB   r(   r   r   )ru   rt   nonzero
bad_pointss      r4   r   z&TestSystematic.test_beta.<locals>.betae  s{    5yAI vvAQSq1u%6%:q$@ %%uQxq&:;66M;;q!$$r6   c                      | |d      S NT)r    )ru   rt   r   s     r4   rT   z*TestSystematic.test_beta.<locals>.<lambda>v  s    aD1r6   r   Tr   r   dy=)r   r   rq   F)r   r-   r   r   r$   r+   )rz  r  r   s    @@r4   r   zTestSystematic.test_betab  s[    
	% 	GG1UCEN 	
 	GGHHZ  	
r6   c                     t        t        j                   t               t	        d             t               t               t               g       y )Nc                 6    t        j                  | |d|d      S )Nr   Tr  r   betaincru   rt   rG   s      r4   rT   z-TestSystematic.test_betainc.<locals>.<lambda>      FNN1aA4$Pr6   )r   r-   r  r   r   r   ry  s    r4   test_betainczTestSystematic.test_betainc  s:    JJLN P
 UCE35!	
r6   c                     t        t        j                   t               t	        d             t               t               t               gd       y )Nc                 6    t        j                  | ||dd      S )Nr#   Tr
  r  r  s      r4   rT   z.TestSystematic.test_betaincc.<locals>.<lambda>  r  r6   r   r   )r   r-   betainccr   r   r   ry  s    r4   test_betaincczTestSystematic.test_betaincc  s=    KKLN P
 UCE35!		
r6   c                     g dfd	t        t        j                  fdt               t               gd       t        t        j                  t	        j
                        dd       y )Nc           	      z   t        |      dt        |       dz   z  kD  rt        j                  S | |k  rst        t        | |z
        t        j                  t        | |z
              z
        dk  r7|r5j                  t        |       t        |      f       t        j                  S t        j                  | |      S )Nrs  r#   rn   )r   r$   r  rB   r   r(   r   binomial)rF   kr   r  s      r4   r  z+TestSystematic.test_binom.<locals>.binomial  s    1vSVaZ(( vv1uU1Q3Z"((51:*>>?%G %%uQxq&:;66M??1a((r6   c                      | |d      S r  r  )rF   r  r  s     r4   rT   z+TestSystematic.test_binom.<locals>.<lambda>  s    !Q5r6   r   r  r   r   rq   r  )r   r-   binomr   r$   r+   )rz  r  r  s    @@r4   
test_binomzTestSystematic.test_binom  sU    
	) 	HH5UCEN		
 	HHHHZ 	
r6   c                 \    t        d t        d       t               t               gd       y )Nc                 @    t        j                  t        |       |      S rN   )r-   eval_chebytr   rF   rG   s     r4   rT   z0TestSystematic.test_chebyt_int.<locals>.<lambda>      A2r6   c                 8    t        j                  | |fi t        S rN   )r   chebytr  r   s     r4   rT   z0TestSystematic.test_chebyt_int.<locals>.<lambda>      &--1*H*Hr6   r8   r  r  ry  s    r4   test_chebyt_intzTestSystematic.test_chebyt_int  %    2HIXsu		
r6   Fz'some cases in hyp2f1 not fully accurate)runreasonc                 h    t        t        j                  d t        dd      t               gd       y )Nc                 h      t               t        t        j                              | |fi t        S rN   )r   r   r   r#  r  r   s     r4   rT   z,TestSystematic.test_chebyt.<locals>.<lambda>  0      /r6   e   '  r  )r   r-   r  r   ry  s    r4   test_chebytzTestSystematic.test_chebyt  s+    NN s^SU#	
r6   c                 \    t        d t        d       t               t               gd       y )Nc                 @    t        j                  t        |       |      S rN   )r-   eval_chebyur   r   s     r4   rT   z0TestSystematic.test_chebyu_int.<locals>.<lambda>  r!  r6   c                 8    t        j                  | |fi t        S rN   )r   chebyur  r   s     r4   rT   z0TestSystematic.test_chebyu_int.<locals>.<lambda>  r$  r6   r8   r  r  ry  s    r4   test_chebyu_intzTestSystematic.test_chebyu_int  r&  r6   c                 d    t        t        j                  d t        dd      t               g       y )Nc                 h      t               t        t        j                              | |fi t        S rN   )r   r   r   r4  r  r   s     r4   rT   z,TestSystematic.test_chebyu.<locals>.<lambda>  r+  r6   r,  r-  )r   r-   r2  r   ry  s    r4   test_chebyuzTestSystematic.test_chebyu  s(    NN s^SU#	
r6   c                     d }t        |t        j                  t               g       t        |t        j                  t	        g d      g       y )Nc                 2    t        j                  |       d   S r  r-   shichir   s    r4   chiz$TestSystematic.test_chi.<locals>.chi      99Q<?"r6   gU@X   g   V@)r   r   r=  r   r   rz  r=  s     r4   test_chizTestSystematic.test_chi  4    	#CceW5Ch7Q.R-STr6   c                     d }t        |t        j                  t        t	        t
        j                   d      t	        t
        j                  d            gd       y )Nc                 2    t        j                  |       d   S r  r;  r)  s    r4   r=  z,TestSystematic.test_chi_complex.<locals>.chi  r>  r6   rr  rs  r]   r?   )r   r   r=  r   r)   r$   rU  rA  s     r4   test_chi_complexzTestSystematic.test_chi_complex  C    	# 	JJ.0DEF		
r6   c                 V    d }t        |t        j                  t        dd      g       y )Nc                 2    t        j                  |       d   S r  r-   sicir   s    r4   ciz"TestSystematic.test_ci.<locals>.ci      771:a= r6   rr  rs  )r   r   rL  r   rz  rL  s     r4   test_cizTestSystematic.test_ci  s"    	! 	B		CcN+;<r6   c                     d }t        |t        j                  t        t	        dt
        j                         t	        dt
        j                              gd       y )Nc                 2    t        j                  |       d   S r  rJ  r)  s    r4   rL  z*TestSystematic.test_ci_complex.<locals>.ci  rM  r6   rr  rs  rS  r?   )r   r   rL  r   r)   r$   rU  rN  s     r4   test_ci_complexzTestSystematic.test_ci_complex  sC    	! 	IIrvvg.RVV0DEF		
r6   c                     t        j                  t              j                  }t	        t
        t        j                  t               gdd|z         y NFr   r  )	r$   r/  rB   r0  r   r   r   r5  r   rz  r0  s     r4   
test_cospizTestSystematic.test_cospi  s2    hhuo!!FFLL35'%aPSeTr6   c                 Z    t        t        t        j                  t	               gdd       y )NFr>   r  )r   r   r   r5  r   ry  s    r4   test_cospi_complexz!TestSystematic.test_cospi_complex	  !    LL\N	
r6   c                     t        t        j                  t        t        j                        t               gdd       y )Nr]   r8   r@   r   )r   r-   r  r   r   r   ry  s    r4   test_digammazTestSystematic.test_digamma  s*    JJV^^,UG	
r6   c                     d }t        t        j                  t        t        j                        t               gdd|       y )Nc                     t        j                  | j                  dk  t        j                  | j                        dk  z  dd      S )Nr   gQ?FT)r$   whererQ   r   rM  r)  s    r4   param_filterz9TestSystematic.test_digamma_complex.<locals>.param_filter  s3    88QVVaZBFF166NT,ABE4PPr6   r>   r  r@   r   r`  )r   r-   r  r   r   r   )rz  r`  s     r4   test_digamma_complexz#TestSystematic.test_digamma_complex  s5    	Q 	JJV^^,\N%	
r6   c                 l    t        t        j                  t        j                  t               gd       y )Nr   r?   )r   r-   exp1r   e1r   ry  s    r4   test_e1zTestSystematic.test_e1*  s"    GGIIUG		
r6   c                    t        t        j                  t        j                  t        t        t        j                   d      t        t        j                  d            gd       t        t        j                  t        j                  t        j                  ddd      d d d f   t        j                  dt        j                  d	d
d      t        j                  d	d
d       f   dz  z   j                         d       t        t        j                  t        j                  t        j                  ddd      dz   d       y )Nrr  rs  r  r?   r8      r   r   r   =   r   r    ir.  y                )r   r-   rd  r   re  r   r)   r$   rU  r&   r   r%   r   ry  s    r4   test_e1_complexzTestSystematic.test_e1_complex2  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.		
r6   c                    t        t        j                  d t        t	        j
                  t	        j                  t        j                        j                         t	        j
                  t	        j                  t        j                        j                              g       t        t        j                  d t	        j                  dddddt        j                  g      d	
       t        t	        j                  t        j                  t        j                                     t        t        j                  t        j                         dk(         y )Nc                 f    | dk7  rt        j                  |       | z  S t        j                  d      S Nr   z1.0r   expm1mpfr   s    r4   rT   z,TestSystematic.test_exprel.<locals>.<lambda>M  (    16fll1oa'Hvzz%7HHr6   r   c                 f    | dk7  rt        j                  |       | z  S t        j                  d      S rn  ro  r   s    r4   rT   z,TestSystematic.test_exprel.<locals>.<lambda>S  rr  r6   r]   gW:r   g   mBgyCxDr  r?   )r   r-   exprelr   r$   r   r/  r   r   r+   rU  r   isinfry  s    r4   test_exprelzTestSystematic.test_exprelJ  s    IIHBFF288BJJ/334466"((2::.2235 6	
 	IIHHHeUAtT266:;		
 	266*+,		266'"a'(r6   c                     t        t        j                  t        j                  t	        t        t        j                   d      t        t        j                  d            g       y )N    c    cA)r   r-   rp  r   r   r)   r$   rU  ry  s    r4   test_expm1_complexz!TestSystematic.test_expm1_complexZ  s=    HHLL.0DEF	
r6   c                 R    t        t        j                  d t               gd       y )Nc                 2    t        j                  | dz         S r  r   r   r   s    r4   rT   z3TestSystematic.test_log1p_complex.<locals>.<lambda>e  s    fjj1or6   <   r  )r   r-   log1pr   ry  s    r4   test_log1p_complexz!TestSystematic.test_log1p_complexb  s    HH%\N		
r6   c                 @    t        t        d t               gdd       y )Nc                 8    t        j                  | dz         | z
  S r  r}  r   s    r4   rT   z-TestSystematic.test_log1pmx.<locals>.<lambda>m  s    fjjQ'!+r6   r~  r   )r   r@   )r   r   r   ry  s    r4   test_log1pmxzTestSystematic.test_log1pmxj  s    +UG	
r6   c                 l    t        t        j                  t        j                  t               gd       y )Nr  r?   )r   r-   r.   r   r*   r   ry  s    r4   test_eizTestSystematic.test_eis  s    BGGVYYeDr6   c                     t        t        j                  t        j                  t        t        t        j                   d      t        t        j                  d            gd       y )Nrr  rs  r   r?   )	r   r-   r.   r   r*   r   r)   r$   rU  ry  s    r4   test_ei_complexzTestSystematic.test_ei_complexv  s@    GGII.0DEF		
r6   c                 l    t        t        j                  t        j                  t	        d      g       y )Nr   rt   )r   r-   elliper   r   ry  s    r4   test_ellipezTestSystematic.test_ellipe  s    BIIv}}sSzlCr6   c                     t        t        j                  t        j                  t        dd      t        d      g       y )Nrv  rw  r   r  r   r-   	ellipeincr   r  r   ry  s    r4   test_ellipeinczTestSystematic.test_ellipeinc  s&    BLL&--#dC.#PS*9UVr6   c                 z    t        t        j                  t        j                  t               t               g       y rN   r  ry  s    r4   test_ellipeinc_largephiz&TestSystematic.test_ellipeinc_largephi      BLL&--#%Hr6   c                 ~    t        t        j                  t        j                  t        dd      t               g       y Nrv  rw  r   r-   	ellipkincr   ellipfr   ry  s    r4   test_ellipfzTestSystematic.test_ellipf  s#    BLL&--#dC.#%9PQr6   c                 z    t        t        j                  t        j                  t               t               g       y rN   r  ry  s    r4   test_ellipf_largephiz#TestSystematic.test_ellipf_largephi  r  r6   c                     t        t        j                  t        j                  t	        d      g       t        t        j
                  d t	        d      gd       y )Nr   r  c                 2    t        j                  d| z
        S r  )r   rD  )r>  s    r4   rT   z,TestSystematic.test_ellipk.<locals>.<lambda>  s    fmmAE*r6   g        )ru   r   r  )r   r-   rD  r   r   ellipkm1ry  s    r4   test_ellipkzTestSystematic.test_ellipk  s:    BIIv}}sSzlCKK*3ZL		
r6   c                 p    d }t        t        j                  |t        dd      t        d      gd       y )Nc                 0    t        j                  d| |      S rn  r   ellippiphir>  s     r4   r  z0TestSystematic.test_ellipkinc.<locals>.ellipkinc      >>!S!,,r6   rv  rw  r   r  Tr  r   r-   r  r   rz  r  s     r4   test_ellipkinczTestSystematic.test_ellipkinc  s.    	-LLs^S3Z( 		
r6   c                 l    d }t        t        j                  |t               t        d      gd       y )Nc                 0    t        j                  d| |      S rn  r  r  s     r4   r  z9TestSystematic.test_ellipkinc_largephi.<locals>.ellipkinc  r  r6   r   r  Tr  r  r  s     r4   test_ellipkinc_largephiz&TestSystematic.test_ellipkinc_largephi  s*    	-LLUC#J 		
r6   c           	      X    d }t        d |t        dd      t        dd      gd	       y )
Nc                 >    | dk(  ryt        j                  d| |      S )Nr   snr<  r   rB  r<  s     r4   r  z+TestSystematic.test_ellipfun_sn.<locals>.sn  s    AvtqA66r6   c                 4    t        j                  | |      d   S rn  r:  r<  s     r4   rT   z1TestSystematic.test_ellipfun_sn.<locals>.<lambda>      1a+r6       .    .Ar   r#   r   rS  r?   r  )rz  r  s     r4   test_ellipfun_snzTestSystematic.test_ellipfun_sn  s.    	7 	+s^S1]+		
r6   c           	      T    t        d d t        dd      t        dd      gd	       y )
Nc                 4    t        j                  | |      d   S r  r:  r<  s     r4   rT   z1TestSystematic.test_ellipfun_cn.<locals>.<lambda>  r  r6   c                 2    t        j                  d| |      S )Ncnr<  r  r<  s     r4   rT   z1TestSystematic.test_ellipfun_cn.<locals>.<lambda>      a8r6   r  r  r   r#   r   rS  r?   r  ry  s    r4   test_ellipfun_cnzTestSystematic.test_ellipfun_cn  '    +8s^S1]+		
r6   c           	      T    t        d d t        dd      t        dd      gd	       y )
Nc                 4    t        j                  | |      d   S r9  r:  r<  s     r4   rT   z1TestSystematic.test_ellipfun_dn.<locals>.<lambda>  r  r6   c                 2    t        j                  d| |      S rA  r  r<  s     r4   rT   z1TestSystematic.test_ellipfun_dn.<locals>.<lambda>  r  r6   r  r  r   r#   r   rS  r?   r  ry  s    r4   test_ellipfun_dnzTestSystematic.test_ellipfun_dn  r  r6   c                 N    t        t        j                  d t               g       y )Nc                 ,    t        j                  |       S rN   r   r   r)  s    r4   rT   z)TestSystematic.test_erf.<locals>.<lambda>      fjjmr6   )r   r-   r   r   ry  s    r4   test_erfzTestSystematic.test_erf  s    BFF$;ceWEr6   c                 R    t        t        j                  d t               gd       y )Nc                 ,    t        j                  |       S rN   r  r)  s    r4   rT   z1TestSystematic.test_erf_complex.<locals>.<lambda>  r  r6   r;   r  )r   r-   r   r   ry  s    r4   r   zTestSystematic.test_erf_complex  s    BFF$;jl^sSr6   c                 d    t        t        j                  t        d       t	               gd       y )Nc                 ,    t        j                  |       S rN   r   r   r)  s    r4   rT   z*TestSystematic.test_erfc.<locals>.<lambda>      v{{1~r6   r>   r?   )r   r-   r   r   r   ry  s    r4   	test_erfczTestSystematic.test_erfc  s$    GG56UG		
r6   c                 d    t        t        j                  t        d       t	               gd       y )Nc                 ,    t        j                  |       S rN   r  r)  s    r4   rT   z2TestSystematic.test_erfc_complex.<locals>.<lambda>  r  r6   r;   r  )r   r-   r   r   r   ry  s    r4   test_erfc_complexz TestSystematic.test_erfc_complex  s$    GG56\N		
r6   c                 l    t        t        j                  t        j                  t	               gd       y Nr;   r  )r   r-   erfir   r   ry  s    r4   	test_erfizTestSystematic.test_erfi  s    BGGV[[35'SAr6   c                 l    t        t        j                  t        j                  t	               gd       y r  )r   r-   r  r   r   ry  s    r4   test_erfi_complexz TestSystematic.test_erfi_complex  s    BGGV[[:<.CHr6   c                 d    t        t        j                  t        d       t	               gd       y )Nc                 ,    t        j                  |       S rN   )r   ncdfr)  s    r4   rT   z*TestSystematic.test_ndtr.<locals>.<lambda>  r  r6   r;   r  )r   r-   ndtrr   r   ry  s    r4   	test_ndtrzTestSystematic.test_ndtr  s$    GG56UG		
r6   c                     t        t        j                  d t        t	        dd      t	        dd            gd       y )Nc                 `    t        j                  |  t        j                  d      z        dz  S Ng       @)r   r   r$   sqrtr)  s    r4   rT   z2TestSystematic.test_ndtr_complex.<locals>.<lambda>  s     fkk1"RWWR[.1"4r6   r.  r   r   r  )r   r-   r  r   r)   ry  s    r4   test_ndtr_complexz TestSystematic.test_ndtr_complex  s2    GG4'&&1WUE5JKL		
r6   c                 h    t        t        j                  t        d       t	               gddd       y )Nc                 R    t        j                  t        j                  |             S rN   )r   r   r  r)  s    r4   rT   z.TestSystematic.test_log_ndtr.<locals>.<lambda>  s    vzz&++a.'Ar6   iX  r  r>   rF   r   r@   )r   r-   log_ndtrr   r   ry  s    r4   test_log_ndtrzTestSystematic.test_log_ndtr  s'    KKABUGs%	
r6   c                     t        t        j                  t        d       t	        t        dd      t        dd            gdd	       y )
Nc                     t        j                  t        j                  |  t        j                  d      z        dz        S r  )r   r   r   r$   r  r)  s    r4   rT   z6TestSystematic.test_log_ndtr_complex.<locals>.<lambda>  s)    vzz&++qbn2Mb2P'Qr6   r  r.  r.  r<   r   r;   r  rF   r   )r   r-   r  r   r   r)   ry  s    r4   test_log_ndtr_complexz$TestSystematic.test_log_ndtr_complex  s:    KKQR'&$/75#3FGHs		
r6   c                 V    t        d t        j                  t        dd      gd       y )Nc                 2    t        j                  |       d   S )Nry   )r-   eulerr  s    r4   rT   z.TestSystematic.test_eulernum.<locals>.<lambda>  s    bhhqk"or6   r#   r.  r  )r   r   eulernumr   ry  s    r4   test_eulernumzTestSystematic.test_eulernum
  s$    %OOAu		
r6   c           	          t        t        j                  t        j                  t        dd      t        dt        j                        gdd       y )Nr   r;   r>      r[  )	r   r-   rE   r   rC   r   r   r$   rU  ry  s    r4   test_expintzTestSystematic.test_expint  s6    GGMMAs^SBFF^,	
r6   c                 R    d }t        |t        j                  t               g       y )Nc                 2    t        j                  |       d   S rn  r-   fresnelr   s    r4   fresnelsz.TestSystematic.test_fresnels.<locals>.fresnels      ::a=##r6   )r   r   r  r   )rz  r  s     r4   test_fresnelszTestSystematic.test_fresnels      	$Hfoow?r6   c                 R    d }t        |t        j                  t               g       y )Nc                 2    t        j                  |       d   S r  r  r   s    r4   fresnelcz.TestSystematic.test_fresnelc.<locals>.fresnelc!  r  r6   )r   r   r  r   )rz  r  s     r4   test_fresnelczTestSystematic.test_fresnelc   r  r6   c                 z    t        t        j                  t        t        j                        t               g       y rN   )r   r-   gammar   r   r   ry  s    r4   
test_gammazTestSystematic.test_gamma%  s     BHH&6v||&DsugNr6   c                 ~    t        t        j                  t        t        j                        t               gd       y Nro   r?   )r   r-   r  r   r   r   ry  s    r4   test_gamma_complexz!TestSystematic.test_gamma_complex(  s'    HHV\\*\N		
r6   c           	      r    t        t        j                  d t        ddd      t        dd      gdd       y )Nc                 2    t        j                  | |d      S )NTr  r   r   )r3   rt   s     r4   rT   z.TestSystematic.test_gammainc.<locals>.<lambda>4      aTBr6   r        @Finclusive_ar  r  )r   r-   r   r   ry  s    r4   test_gammainczTestSystematic.test_gammainc0  s1    KKBCU+SC[9	
r6   c           	      r    t        t        j                  d t        ddd      t        dd      gdd       y )Nc                 2    t        j                  | |d      S )NT)ru   r  r  )r3   ru   s     r4   rT   z/TestSystematic.test_gammaincc.<locals>.<lambda>>  r  r6   r   r  Fr  r  r  )r   r-   	gammainccr   ry  s    r4   test_gammaincczTestSystematic.test_gammaincc:  s1    LLBCU+SC[9	
r6   c                 d    d }t        t        j                  t        |      t	               g       y )Nc                 @    t        j                  |       j                  S rN   r   r   rQ   r)  s    r4   fz&TestSystematic.test_gammaln.<locals>.fF  s    ??1%***r6   )r   r-   gammalnr   r   )rz  r  s     r4   test_gammalnzTestSystematic.test_gammalnD  s#    	+ 	BJJ(8(;ceWEr6   )r'  c                     t        t        j                  t        t        j
                        t        dd      t               t               g       y r  )r   r-   eval_gegenbauerr   r   
gegenbauerr   ry  s    r4   test_gegenbauerzTestSystematic.test_gegenbauerK  s5    V../s^SUCE*	
r6   c                    d }d }t        |t        |      t        dd      t        dd      t               gdddd	
       t        |t        |      t        dd      t               t	        t        j                  ddd            gdd       y )Nc                    t        |      dkD  rt        j                  S | dk(  rd}n%| dk(  r	d|z  |z  }nt        j                  | ||      }t        |      dk(  r|dk  rt        |      t        t        |            k(  rct        j                  | |t        j                  d      z   |      }t        |      t        j                  d      k  rt        j                  d      }t        |      d	kD  rt        j                  S |S )
Nr  r   r   r#   r   ry   z1e-50z0.0\4@Iw)	r   r$   r  r   r  rB   r   rq  rU  rF   ru   rG   r1   s       r4   r  z6TestSystematic.test_gegenbauer_int.<locals>.gegenbauerU  s     1v~vv AvaaCE%%aA. Qx1}RE!HE!H,E%%aVZZ-@)@!Dq6FJJw//

5)A 1v~vvHr6   c                     t        j                  t        |       ||      }t        |      dkD  rt        j
                  S |S )Nr  )r-   r  r   r   r$   rU  r  s       r4   sc_gegenbauerz9TestSystematic.test_gegenbauer_int.<locals>.sc_gegenbauerp  s3    ""3q61a0A1v~vvHr6   r   r<   g    eg    eAi@  Tr   )rF   r   r   r@   r  r   r  )r   r   r   r   r   r$   r%   )rz  r  r  s      r4   test_gegenbauer_intz"TestSystematic.test_gegenbauer_intS  s    	6	 	Z(As^Ss^SU3d		
 	Z(As^SUHR[[b"-E$FGT		
r6   c                     t        d t        t        j                        t	        dd      t               t               g       y )Nc                 V    t        j                  t        |       |j                  |      S rN   )r-   r  r   rQ   rF   ru   rG   s      r4   rT   z8TestSystematic.test_gegenbauer_complex.<locals>.<lambda>  s    B..s1vqvvqAr6   r   r<   )r   r   r   r  r   r   r   ry  s    r4   test_gegenbauer_complexz&TestSystematic.test_gegenbauer_complex  s/    AV../As^SUJL1	
r6   c                     t        d t        t        j                        t	        dd      t	               t               g       y )Nc                 X    t        j                  | j                  |j                  |      S rN   )r-   r  rQ   r#  s      r4   rT   z@TestSystematic.test_gegenbauer_complex_general.<locals>.<lambda>  s    B..qvvqvvqAr6   rv  rw  )r   r   r   r  r   r   ry  s    r4   test_gegenbauer_complex_generalz.TestSystematic.test_gegenbauer_complex_general  s/    AV../s^SUJL1	
r6   c                 v    t        t        j                  t        d       t	        dd      t	               g       y )Nc                 8    t        j                  | |fi t        S rN   )r   hankel1r  rS   rG   s     r4   rT   z-TestSystematic.test_hankel1.<locals>.<lambda>  r  r6   @x@xD)r   r-   r*  r   r   ry  s    r4   test_hankel1zTestSystematic.test_hankel1  +    JJIJsu%	
r6   c                 v    t        t        j                  t        d       t	        dd      t	               g       y )Nc                 8    t        j                  | |fi t        S rN   )r   hankel2r  r+  s     r4   rT   z-TestSystematic.test_hankel2.<locals>.<lambda>  r  r6   r,  r-  )r   r-   r2  r   r   ry  s    r4   test_hankel2zTestSystematic.test_hankel2  r/  r6   z%issues at intermediately large ordersc                 v    t        d t        t        j                        t	        dd      t               g       y )Nc                 @    t        j                  t        |       |      S rN   )r-   eval_hermiter   r   s     r4   rT   z-TestSystematic.test_hermite.<locals>.<lambda>      Q3r6   r   r.  )r   r   r   hermiter   r   ry  s    r4   test_hermitezTestSystematic.test_hermite  s*    3V^^,Ausu%	
r6   c           	          t        dd      t        t        j                  fdt	        dd      t	        dd      gd	
       y )Nr   i  rg  c                 2    t        j                  | |fi S rN   )r   rP   )ru   rG   KWs     r4   rT   z,TestSystematic.test_hyp0f1.<locals>.<lambda>  s    q!2r2r6   rx  ry  r   g     j@r  r  )r   r   r-   rP   r   )rz  r<  s    @r4   test_hyp0f1zTestSystematic.test_hyp0f1  s8    #-II2s^SC[)		
r6   c                     t        d t        d       t        dd      t        t	        dd      t	        dd            g       y )Nc                 B    t        j                  | j                  |      S rN   rO   )ru   r3   s     r4   rT   z4TestSystematic.test_hyp0f1_complex.<locals>.<lambda>  s    1661-r6   c                 8    t        j                  | |fi t        S rN   )r   rP   r  ru   rG   s     r4   rT   z4TestSystematic.test_hyp0f1_complex.<locals>.<lambda>  r$  r6   r   r   irL   )r   r   r   r   r)   ry  s    r4   test_hyp0f1_complexz"TestSystematic.test_hyp0f1_complex  s9    -HIb\:gdD&973;LMN	
r6   c           
          d }t        t        j                  |t        dd      t        ddd      t        dd      gdd       y )	Nc                 p    	 t        j                  | ||      S # t        $ r t        j                  cY S w xY wrN   )r   hyp1f1ZeroDivisionErrorr$   rU  r  s      r4   mpmath_hyp1f1z1TestSystematic.test_hyp1f1.<locals>.mpmath_hyp1f1  s2    }}Q1--$ vvs    55rh  r8   r#   Fr  r   )rF   r  )r   r-   rE  r   )rz  rG  s     r4   test_hyp1f1zTestSystematic.test_hyp1f1  s@    	 	IIb\3q"%8#c2,G	
r6   c           	          t        t        d       t        d       t        dd      t        dd      t	               gd       y )Nc                 X    t        j                  | j                  |j                  |      S rN   )r-   rE  rQ   r  s      r4   rT   z4TestSystematic.test_hyp1f1_complex.<locals>.<lambda>  s    ryy'Cr6   c                 :    t        j                  | ||fi t        S rN   )r   rE  r  r  s      r4   rT   z4TestSystematic.test_hyp1f1_complex.<locals>.<lambda>      V]]1a-Ng-Nr6   rv  rw  i  r  )r   r   r   r   r   ry  s    r4   test_hyp1f1_complexz"TestSystematic.test_hyp1f1_complex  s7    CDNOs^Ss^Z\:		
r6   c           
          t        d t        d       t        dd      t        dd      t        dd      t               gd       y )Nc                 n    t        j                  | j                  |j                  |j                  |      S rN   )r-   r   rQ   ru   rt   r   rG   s       r4   rT   z4TestSystematic.test_hyp2f1_complex.<locals>.<lambda>  s    ryyCr6   c                 <    t        j                  | |||fi t        S rN   )r   r   r  rP  s       r4   rT   z4TestSystematic.test_hyp2f1_complex.<locals>.<lambda>      aAq0TG0Tr6   g      Yg      Y@r   r  r  ry  s    r4   test_hyp2f1_complexz"TestSystematic.test_hyp2f1_complex  s;     	CTUs^Ss^Ss^Z\J		
r6   c                     t        t        j                  t        d       t	               t	               t	               g       y )Nc                 :    t        j                  | ||fi t        S rN   )r   rs   r  r  s      r4   rT   z,TestSystematic.test_hyperu.<locals>.<lambda>  rL  r6   )r   r-   rs   r   r   ry  s    r4   test_hyperuzTestSystematic.test_hyperu  s*    IINOUCE35!	
r6   z:mpmath issue gh-342: unsupported operand mpz, long for powc           	      `    d }t        t        |t        ddd      t        dd      gd       y )Nc                     t        j                  ||       t        j                  |       z  t        j                  |       z  S rN   )r   powerr'   r  rA  s     r4   mp_igam_facz1TestSystematic.test_igam_fac.<locals>.mp_igam_fac  s/    <<1%fjj!n4V\\!_DDr6   r   g  ļBFr  r   r?   )r   r   r   )rz  rZ  s     r4   test_igam_faczTestSystematic.test_igam_fac  s2    	E 	De,c!Tl;		
r6   c                     t        t        j                  t        j                  t	        dd      g       t        t        j                  t        j                  t	        dd      gd       y Nrv  rw  rr  rs  rt  r?   )r   r-   j0r   r   ry  s    r4   test_j0zTestSystematic.test_j0  s@     	BEE699s4~.>?BEE699s4~.>TJr6   c                     t        t        j                  t        j                  t	        dd      g       t        t        j                  t        j                  t	        dd      gd       y r]  )r   r-   j1r   r   ry  s    r4   test_j1zTestSystematic.test_j1  s>    BEE699s4~.>?BEE699s4~.>TJr6   c           	         t        t        j                  t        d       t	               t	               t	               t	               g       t        d t        d       t               t	               t	               t	               g       y )Nc                 <    t        j                  | |||fi t        S rN   r   jacobir  rP  s       r4   rT   z,TestSystematic.test_jacobi.<locals>.<lambda>  rR  r6   c                 D    t        j                  t        |       |||      S rN   r-   eval_jacobir   )rF   rt   r   rG   s       r4   rT   z,TestSystematic.test_jacobi.<locals>.<lambda>      r~~c!faA>r6   c                 <    t        j                  | |||fi t        S rN   re  rP  s       r4   rT   z,TestSystematic.test_jacobi.<locals>.<lambda>  rR  r6   )r   r-   ri  r   r   r   ry  s    r4   test_jacobizTestSystematic.test_jacobi  sX    NNTUUCE35#%(	

 	>TUXsuceSU+	
r6   c           	      |    d t        d fdt               t               t               t               gdd       y )Nc                 >    | dk(  ryt        j                  | |||      S )Nr   r   )r   rf  rF   ru   rt   rG   s       r4   rf  z.TestSystematic.test_jacobi_int.<locals>.jacobi  s!    Av==Aq!,,r6   c                 D    t        j                  t        |       |||      S rN   rh  ro  s       r4   rT   z0TestSystematic.test_jacobi_int.<locals>.<lambda>   rj  r6   c                 6     t              | |||fi t        S rN   )r   r  )rF   ru   rt   rG   rf  s       r4   rT   z0TestSystematic.test_jacobi_int.<locals>.<lambda>!  s    7/71aNgNr6    N  r8   r  r   r   r   )rz  rf  s    @r4   test_jacobi_intzTestSystematic.test_jacobi_int  s2    	-
 	>NXsuceSU+	
r6   c                 Z    d }t        t        j                  |t        dd      gd       y )Nc                 j    | dk(  r
t          dz  S  t        t        j                        d| fi t        S )Nr   r:   )r   r   r   keir  r   s    r4   rw  z$TestSystematic.test_kei.<locals>.kei(  s2    Avs1u/#FJJ/1@@@r6   ꌠ9Y>)ꌠ9Y>)Fr  r  )r   r-   rw  r   )rz  rw  s     r4   test_keizTestSystematic.test_kei'  s&    	A
 	BFFC#eT*:);tDr6   c                 h    t        t        j                  t        d       t	        dd      gd       y )Nc                 8    t        j                  d| fi t        S rn  )r   kerr  r   s    r4   rT   z)TestSystematic.test_ker.<locals>.<lambda>2  s    vzz!Q'B''Br6   rx  ry  r  r  )r   r-   r}  r   r   ry  s    r4   test_kerzTestSystematic.test_ker/  s*    FFBC		
r6   c                 r    t        t        t        j                        d t	               t	               g       y )Nc                 L     t        t        j                        | |fi t        S rN   r   r   laguerrer  r   s     r4   rT   z.TestSystematic.test_laguerre.<locals>.<lambda>;      :)&//:1aK7Kr6   )r   r   r-   eval_laguerrer   ry  s    r4   test_laguerrezTestSystematic.test_laguerre7  s&    r''(KUCEN	
r6   c                 J    t        d d t               t               gd       y )Nc                 @    t        j                  t        |       |      S rN   )r-   r  r   r   s     r4   rT   z2TestSystematic.test_laguerre_int.<locals>.<lambda>A      ))#a&!4r6   c                 L     t        t        j                        | |fi t        S rN   r  r   s     r4   rT   z2TestSystematic.test_laguerre_int.<locals>.<lambda>B  r  r6   rr  r  rs  ry  s    r4   test_laguerre_intz TestSystematic.test_laguerre_int?  s    4KXsu		
r6   zsee gh-3551 for bad pointsc           	          t        d d t        t        j                   t        j                        t	        dd      gdd       y )Nc                 T    t        j                  | t        |j                              S rN   )r-   rN  r   rQ   rG   r  s     r4   rT   z3TestSystematic.test_lambertw_real.<locals>.<lambda>J  s    QAFF4r6   c                 T    t        j                  | t        |j                              S rN   )r   rN  r   rQ   r  s     r4   rT   z3TestSystematic.test_lambertw_real.<locals>.<lambda>K  s    CK8r6   r   r   r>   Fr@   r  )r   r   r$   rU  r   ry  s    r4   test_lambertw_realz!TestSystematic.test_lambertw_realG  s4    48(&B-8u		
r6   c           	          d}t        j                  d      dfd}t        |t        j                  t        d|d      gd	       y )
NgGase@r#   g  E@c                    t        j                  d      5  | z   dz
  z  | dz
  z  }|t         j                  k7  r|t        |       z  }n'| z   dz
  z  d| dz
  z  z  }|t        |       z  }||z  }d d d        |S # 1 sw Y   S xY w)Nr   )overrK   )r$   r   rU  r   )rG   facrW   egs      r4   r  z:TestSystematic.test_lanczos_sum_expg_scaled.<locals>.gammaU  s    (+AQ!c'2"&&=6q99CECK?c1s7m<C6q99C3JC , J , Js   AA==Br   Fr  r>   r?   )r$   r'   r   r   r  r   )rz  maxgammar  r  r  s      @@r4   test_lanczos_sum_expg_scaledz+TestSystematic.test_lanczos_sum_expg_scaledP  sE    &FF1I)		 	LLH%01		
r6   c                 z    t        t        j                  t        j                  t               t               g       y rN   )r   r-   eval_legendrer   legendrer   ry  s    r4   test_legendrezTestSystematic.test_legendreg  s     B,,foosu~Nr6   c                     t        d d t               t               gd       t        d d t               t        t	        j
                  ddd	            g       y )
Nc                 @    t        j                  t        |       |      S rN   r-   r  r   r   s     r4   rT   z2TestSystematic.test_legendre_int.<locals>.<lambda>m  r  r6   c                 L     t        t        j                        | |fi t        S rN   r   r   r  r  r   s     r4   rT   z2TestSystematic.test_legendre_int.<locals>.<lambda>n  r  r6   rr  r  c                 @    t        j                  t        |       |      S rN   r  r   s     r4   rT   z2TestSystematic.test_legendre_int.<locals>.<lambda>u  r  r6   c                 L     t        t        j                        | |fi t        S rN   r  r   s     r4   rT   z2TestSystematic.test_legendre_int.<locals>.<lambda>v  r  r6   r  r  rf   )r   r   r   r   r$   r%   ry  s    r4   test_legendre_intz TestSystematic.test_legendre_intk  sK    4KXsu		
 	4KXxCR 89:	
r6   c           
          d }d }d }t        ||t        dd      t        dd      t               g       t        ||t        dd      t        dd      t        dd      gd	       y )
Nc                     	 t        j                  || |      d   d   }t        |      dkD  r0t        j                  t        j                  |j                        z  }|S # t        $ r t        j                  cY S w xY w)Nr   ry   ry   )#v)	r-   lpmn
ValueErrorr$   r  r   rU  r  rQ   rF   r>  r3   rS   s       r4   lpnmz(TestSystematic.test_legenp.<locals>.lpnm{  si    GGAq!$Q'. 1v~FFRWWQVV_,H  vvs   A A;:A;c                     t        j                  || |      }t        |      dkD  r0t        j                  t        j
                  |j                        z  }|S )Nr  )r-   r   r   r$   rU  r  rQ   r  s       r4   lpnm_2z*TestSystematic.test_legenp.<locals>.lpnm_2  s>    1a A1v~FFRWWQVV_,Hr6   c                    |dk(  s|dk(  rHt        |       | k(  r:|dk(  r4| dk  r|  dz
  } t        j                  t        j                  |      |       S yt	        |      dk  rt
        j                  S t	        |      dk  rdnd} t        t        j                        | |||      }t	        |      dkD  r0t        j                  t        j                  |j                        z  }|S )	Nr#   ry   r   rn   r   rm   typer  )r   r   rY  r  r   r$   r  r   r   rU  rQ   )rF   r>  r3   typrS   s        r4   r   z*TestSystematic.test_legenp.<locals>.legenp  s    Q!r's1v{ 61uBF!<<A::1v~vv1vz!qC/ /1acBA1v~JJQVV!44Hr6   r.  r<   ry   r#   r   r  rs  )rz  r  r  r   s       r4   test_legenpzTestSystematic.test_legenpz  sf    			0 	D&6$+<fT3>OQTQV*WXD#D#B
;		
r6   c           	         d }d }t        j                  g d      }t        j                  g d      }|d d d f   d|d d d f   z  z   j                         }t        ||t	        g d      t	        g d      t	        |      gdd	       y )
Nc                     	 t        j                  |j                  | j                  |d      d   d   S # t        $ r t        j
                  cY S w xY w)Nr   r  r   r  r-   clpmnrQ   r  r$   r  rF   r>  r3   s      r4   clpnmz3TestSystematic.test_legenp_complex_2.<locals>.clpnm  F    xx:1=eDD vv   25 AAc                     t        |      dk  rt        j                  S  t        t        j
                        t        | j                        t        |j                        |d      S Nrn   r   r  r   r$   r  r   r   r   r   rQ   r  s      r4   r   z4TestSystematic.test_legenp_complex_2.<locals>.legenp  D    1v~vv2#FMM23qvv;AFFQUVWWr6   	r{   r   rJ   r   rt  rK   r   rf   g     @@rv  rJ   rK   g?r    r{   ry   r   r#   r   r   r   r   r  r$   r+   r   r   r   rz  r  r   rG   rV   r3   s         r4   test_legenp_complex_2z$TestSystematic.test_legenp_complex_2      		X HHCDHH+,qvYAd1fI%,,.+,+,a[ 	
r6   c           	         d }d }t        j                  g d      }t        j                  g d      }|d d d f   d|d d d f   z  z   j                         }t        ||t	        g d      t	        g d      t	        |      gdd	       y )
Nc                     	 t        j                  |j                  | j                  |d      d   d   S # t        $ r t        j
                  cY S w xY w)Nrm   r  r   r  r  r  s      r4   r  z3TestSystematic.test_legenp_complex_3.<locals>.clpnm  r  r  c                     t        |      dk  rt        j                  S  t        t        j
                        t        | j                        t        |j                        |d      S )Nrn   rm   r  r  r  s      r4   r   z4TestSystematic.test_legenp_complex_3.<locals>.legenp  r  r6   r  r  r    r  r   r   r  r  r  s         r4   test_legenp_complex_3z$TestSystematic.test_legenp_complex_3  r  r6   z*apparently picks wrong function at |z| > 1c           	      h    d }d }t        ||t        dd      t        dd      t               g       y )Nc                 <    t        j                  || |      d   d   S Nr   r  )r-   lqmnr  s      r4   lqnmz(TestSystematic.test_legenq.<locals>.lqnm  s    771a#A&u--r6   c                     t        |      dk  rt        j                  S  t        t        j
                        | ||d      S r  )r   r$   r  r   r   legenqr  s      r4   r  z*TestSystematic.test_legenq.<locals>.legenq  s3    1v~vv2#FMM21aCCr6   r   r<   rs  rz  r  r  s      r4   test_legenqzTestSystematic.test_legenq  s5    	.	D 	As^VAs^SU3	
r6   c           	      l    d }d }t        ||t        dd      t        dd      t               gd       y )Nc                     t        j                  t        |j                        t        | j                        |      d   d   S r  )r-   r  r   rQ   r  s      r4   r  z0TestSystematic.test_legenq_complex.<locals>.lqnm  s/    773qvv;AFFQ7:5AAr6   c                     t        |      dk  rt        j                  S  t        t        j
                        t        | j                        t        |j                        |d      S r  )r   r$   r  r   r   r  r   rQ   r  s      r4   r  z2TestSystematic.test_legenq_complex.<locals>.legenq  r  r6   r   r<   r  )r   r   r   r  s      r4   test_legenq_complexz"TestSystematic.test_legenq_complex  s9    	B	X 	As^VAs^Z\:		
r6   c                 L    d }d }t        t        |t               gdd|       y )Nc                 h    t        j                  t        j                  |       | k(  | dk  z  dd      S )Nr   FT)r$   r_  floorr   s    r4   r`  z0TestSystematic.test_lgam1p.<locals>.param_filter	  s+    88RXXa[A-!q&95$GGr6   c                 F    t        j                  d| z         j                  S r  r  r)  s    r4   	mp_lgam1pz-TestSystematic.test_lgam1p.<locals>.mp_lgam1p  s    ??1q5)...r6   r>   r<   ra  )r   r   r   )rz  r`  r  s      r4   test_lgam1pzTestSystematic.test_lgam1p  s-    	H	/ 	UG%	
r6   c                 Z    d }t        t        j                  |t               gddd       y )Nc                     	 t        j                  |       }|S # t        $ r, t        t        j
                  t        j
                        }Y |S w xY wrN   )r   r   r  r)   r$   r  )r3   rW   s     r4   mpmath_loggammaz5TestSystematic.test_loggamma.<locals>.mpmath_loggamma  sF    .ooa( J  .bffbff-J.s    1AAFr   )r  distinguish_nan_and_infr@   )r   r-   r   r   )rz  r  s     r4   test_loggammazTestSystematic.test_loggamma  s+    	 	KK\N$)	
r6   c                 \    d }t        |t        d       t               t               g       y )Nc                 4    t        j                  | |      d   S rn  )r-   pbdvr+  s     r4   pcfdz&TestSystematic.test_pcfd.<locals>.pcfd-      771a=##r6   c                 8    t        j                  | |fi t        S rN   )r   r  r  r+  s     r4   rT   z*TestSystematic.test_pcfd.<locals>.<lambda>1  s    &++a*Fg*Fr6   )r   r   r   )rz  r  s     r4   	test_pcfdzTestSystematic.test_pcfd+  s&    	$FGUCEN	
r6   zHit's not the same as the mpmath function --- maybe different definition?c                 N    d }t        |d t               t               gd       y )Nc                 4    t        j                  | |      d   S rn  )r-   pbvvr+  s     r4   pcfvz&TestSystematic.test_pcfv.<locals>.pcfv8  r  r6   c                 h      t               t        t        j                              | |fi t        S rN   )r   r   r   r  r  r+  s     r4   rT   z*TestSystematic.test_pcfv.<locals>.<lambda><  s&    F(8(EFq!WwWr6   r  r  r  )rz  r  s     r4   	test_pcfvzTestSystematic.test_pcfv5  s#    	$WUCEN		
r6   c           	          d }d }d }t        |t        j                  t        dd      t        dd      gdd       t        ||t        dd      t        dd      gd	d       y )
Nc                 4    t        j                  | |      d   S rn  r-   pbwarA  s     r4   pcfwz&TestSystematic.test_pcfw.<locals>.pcfwB  r  r6   c                 4    t        j                  | |      d   S r  r  rA  s     r4   dpcfwz'TestSystematic.test_pcfw.<locals>.dpcfwE  r  r6   c                 P    t        j                  t         j                  | |fd      S )Nr=   )r   diffr  rA  s     r4   mpmath_dpcfwz.TestSystematic.test_pcfw.<locals>.mpmath_dpcfwH  s    ;;v{{QFF;;r6   rd   re   g:0yU>r<   r  g&.!>)r   r   r  r   )rz  r  r  r  s       r4   	test_pcfwzTestSystematic.test_pcfwA  si    	$	$	<
 	KKQZR$	
 	QZR$	
r6   zCissues at large arguments (atol OK, rtol not) and <eps-close to z=0c                     t        t        j                   t               t	        t
        j                              t        dd      t               g       y )Nr   r  )r   r-   	polygammar   r   r   r   r   ry  s    r4   test_polygammazTestSystematic.test_polygamma]  s;     	LLLN+F,<,<=>At_ce$	
r6   c                     t        t        j                  t        j                  t	        dt
        j                        gddd       y )Nir  FT)rF   r  r   )r   r-   r	  r   r   r$   rU  ry  s    r4   test_rgammazTestSystematic.test_rgammag  s2    IIMM  	
r6   c                 ~    t        t        j                  t        t        j                        t               gd       y r  )r   r-   r	  r   r   r   ry  s    r4   test_rgamma_complexz"TestSystematic.test_rgamma_complexq  s'    IIV]]+\N		
r6   zNsee gh-3551 for bad points on 32 bit systems and gh-8095 for another bad point)r(  c                     t        j                  t        j                        t        j                  d      k\  rt        j
                  }nd }t        t        j                  |t               t               gd       y )Nrw   c                     t        | |z         t        | |z         k(  r7t        | |z         dk  r&t        j                  |       } t        | |z         | z
  }t        j                  | |      S rn  )rB   r   r   rq  rf)ru   r>  s     r4   mppochz&TestSystematic.test_rf.<locals>.mppoch  sY     Q<3q1u:-%A,!2C

1AAE
QAyyA&r6   r   r  )
r   parser   r   Versionr  r   r-   pochr   )rz  r  s     r4   test_rfzTestSystematic.test_rfy  sN     ==++,0HHYYF' 	BGGVceSU^Er6   c                     t        j                  t              j                  }t	        t
        t        j                  t               gdd|z         y rT  )	r$   r/  rB   r0  r   r   r   r1  r   rU  s     r4   
test_sinpizTestSystematic.test_sinpi  s8    hhuo!!LLUG3	
r6   c                 Z    t        t        t        j                  t	               gdd       y )NFg+=r  )r   r   r   r1  r   ry  s    r4   test_sinpi_complexz!TestSystematic.test_sinpi_complex  rY  r6   c                     d }t        |t        j                  t               g       t        |t        j                  t	        g d      g       y )Nc                 2    t        j                  |       d   S rn  r;  r   s    r4   shiz$TestSystematic.test_shi.<locals>.shi  r>  r6   r?  )r   r   r  r   r   rz  r  s     r4   test_shizTestSystematic.test_shi  rC  r6   c                     d }t        |t        j                  t        t	        t
        j                   d      t	        t
        j                  d            gd       y )Nc                 2    t        j                  |       d   S rn  r;  r)  s    r4   r  z,TestSystematic.test_shi_complex.<locals>.shi  r>  r6   rr  rs  r]   r?   )r   r   r  r   r)   r$   rU  r  s     r4   test_shi_complexzTestSystematic.test_shi_complex  rG  r6   c                 R    d }t        |t        j                  t               g       y )Nc                 2    t        j                  |       d   S rn  rJ  r   s    r4   siz"TestSystematic.test_si.<locals>.si  rM  r6   )r   r   r  r   rz  r  s     r4   test_sizTestSystematic.test_si  s    	!B		CE73r6   c                     d }t        |t        j                  t        t	        dt
        j                         t	        dt
        j                              gd       y )Nc                 2    t        j                  |       d   S rn  rJ  r)  s    r4   r  z*TestSystematic.test_si_complex.<locals>.si  rM  r6   rr  rs  r]   r?   )r   r   r  r   r)   r$   rU  r  s     r4   test_si_complexzTestSystematic.test_si_complex  sC    	! 	IIrvvg.RVV0DEF		
r6   c                     d }t        t        j                  t        |      t	        dt
        j                        gd       y )Nc                 4    t        j                  dd| z
        S r'  r   r(  r   s    r4   dilogz)TestSystematic.test_spence.<locals>.dilog      >>!QU++r6   r   r   r?   )r   r-   r*  r   r   r$   rU  rz  r!  s     r4   test_spencezTestSystematic.test_spence  s3    	, 	IIU#BFF^		
r6   c                 h    d }t        t        j                  t        |      t	               gd       y )Nc                 4    t        j                  dd| z
        S r'  r   r)  s    r4   r!  z1TestSystematic.test_spence_complex.<locals>.dilog  r"  r6   r   r?   )r   r-   r*  r   r   r#  s     r4   test_spence_complexz"TestSystematic.test_spence_complex  s(    	,IIU#\N		
r6   c                     d }t        |t        j                  t        dd      t        dd      t	        dt
              t	        ddt
        z        gddd	       y )
Nc                 \    || kD  rt         j                  S t        j                  || ||      S rN   )r$   r  r-   sph_harm)lr>  r   r  s       r4   	spherharmz0TestSystematic.test_spherharm.<locals>.spherharm  s'    1uvv;;q!S%00r6   r   r<   r   r   rS  ip  rZ   )rq   rF   r   )r   r   r,  r   r   r   )rz  r,  s     r4   test_spherharmzTestSystematic.test_spherharm  sO    	1 	As^VAs^S1^S1"=MN	
r6   c           	          t        t        j                  t        t        j
                        t        dd      t        dd      gd       y )N     r  r   &.>r?   )r   r-   struver   r   struvehr   ry  s    r4   test_struvehzTestSystematic.test_struveh  s4    IIV^^,s^SC[)		
r6   c           	          d }t        t        j                  t        |      t	        dd      t	        dd      gdd       y )Nc                 J   | dk  ro||  k  rit        |       dkD  r[t        j                  j                  }	 dt        j                  _        t        j                  | |      |t        j                  _        S t        j                  | |      S # |t        j                  _        w xY w)Nr   r  r  )r   r   r   r   struvel)rS   r3   r   s      r4   
mp_struvelz/TestSystematic.test_struvel.<locals>.mp_struvel  sq    1uaRCFTM ))--,$'FIIM!>>!Q/$+FIIM>>!Q'' %,FIIMs   *B B"r/  r  r   r0  Tr   )r   r-   	modstruver   r   )rz  r7  s     r4   test_struvelzTestSystematic.test_struvel  s:    		( 	LLZ(s^SC[) 	
r6   c                 ^    d }t        t        j                  |t        dd      gddd       y )Nc                 z    t        j                  t        j                  |       t        j                  d            S )Nz-0.5)r   rN  r'   rq  r   s    r4   mpmath_wrightomega_realzETestSystematic.test_wrightomega_real.<locals>.mpmath_wrightomega_real  s$    ??6::a=&**V2DEEr6   r|   gPKDg+<r   F)r@   rq   r  )r   r-   rX  r   )rz  r<  s     r4   test_wrightomega_realz$TestSystematic.test_wrightomega_real  s2    	F 	NN#	
r6   c                 T    t        t        j                  d t               gdd       y )Nc                     t        | d      S )NrR  )rP  r)  s    r4   rT   z1TestSystematic.test_wrightomega.<locals>.<lambda>  s    )!R0r6   r   Fr  )r   r-   rX  r   ry  s    r4   test_wrightomegazTestSystematic.test_wrightomega  s!    NN0\N	
r6   c           	          t        t        j                  t        t        j                        t        ddd      t        dd      g       y )Nr#       _BF)ru   rt   r	  r   ru   r	  )r   r-   zetar   r   r   ry  s    r4   test_hurwitz_zetaz TestSystematic.test_hurwitz_zeta  s5    GGV[[)1%0#u2MN	
r6   c                 X    t        t        j                  d t        dd      gdd       y )Nc                 V    | dk7  rt        j                  |       S t         j                  S r  r   rD  rU  r   s    r4   rT   z2TestSystematic.test_riemann_zeta.<locals>.<lambda>$  s    Qfkk!n>FJJ>r6   r.  r<   Fro   r  )r   r-   rD  r   ry  s    r4   test_riemann_zetaz TestSystematic.test_riemann_zeta!  s&    GG>s^	
r6   c                 Z    t        t        j                  d t        dd      gddd       y )Nc                 \    | dk7  rt        j                  |       dz
  S t         j                  S r  rH  r   s    r4   rT   z+TestSystematic.test_zetac.<locals>.<lambda>-  s#    AFfkk!nq(B

Br6   r.  r<   F-   ro   )r  r   r@   )r   r-   zetacr   ry  s    r4   
test_zetaczTestSystematic.test_zetac*  s)    HHBs^	
r6   c                     d }t        t        j                  t        |      t	        dd      t	               gddd       y )	Nc                    t         j                  j                  |       } t         j                  j                  |      }|dk(  rt         j                  j                  |       S t         j                  j	                  | |      |z  S rn  r   r   rq  r   powm1)rG   lmbdas     r4   	mp_boxcoxz-TestSystematic.test_boxcox.<locals>.mp_boxcox6  sZ    		a AIIMM%(Ezyy}}Q''yyq%0588r6   r   FrC  r;   r~  r>   r  )r   r-   boxcoxr   r   )rz  rT  s     r4   test_boxcoxzTestSystematic.test_boxcox4  s:    	9 	IIY'1%(#%0	
r6   c                     d }t        t        j                  t        |      t	        dd      t	               gddd       y )	Nc                 V   t         j                  j                  |       } t         j                  j                  |      }t         j                  j                  d      }|dk(  r"t         j                  j                  || z         S t         j                  j	                  || z   |      |z  S r   rQ  )rG   rS  ones      r4   mp_boxcox1pz1TestSystematic.test_boxcox1p.<locals>.mp_boxcox1pI  st    		a AIIMM%(E))--"Czyy}}S1W--yysQw6>>r6   ry   FrC  r;   r~  r>   r  )r   r-   boxcox1pr   r   )rz  rZ  s     r4   test_boxcox1pzTestSystematic.test_boxcox1pG  s:    	? 	KK[)25)351	
r6   c           	      h    d }t        d t        |      t        dd      t        dd      gd       y )	Nc                    t        j                  |      }t        j                  | t        j                  d      dz  z   |      t        j                  d|z  t         j
                  z        z  }|j                  dk(  r|j                  S |S Nr#   r   r   r   	mpmathifyr  rq  r  r   rM  rQ   rF   r3   argouts       r4   mp_spherical_jnz9TestSystematic.test_spherical_jn.<locals>.mp_spherical_jn\  i    ""1%C>>!fjjmAo"5s;;;quVYY/0Cxx1}xx
r6   c                 @    t        j                  t        |       |      S rN   )r-   spherical_jnr   rF   r3   s     r4   rT   z2TestSystematic.test_spherical_jn.<locals>.<lambda>f  r7  r6   r   r;   rr  rs  r  r  r  rz  re  s     r4   test_spherical_jnz TestSystematic.test_spherical_jn[  s3    	 	3_-As^Ss^,		
r6   c                 `    d }t        d t        |      t        dd      t               g       y )Nc                    t        j                  |      }t        j                  | t        j                  d      dz  z   |      t        j                  d|z  t         j
                  z        z  }|j                  dk(  r|j                  S |S r_  r`  rb  s       r4   re  zATestSystematic.test_spherical_jn_complex.<locals>.mp_spherical_jnm  rf  r6   c                 T    t        j                  t        | j                        |      S rN   )r-   rh  r   rQ   ri  s     r4   rT   z:TestSystematic.test_spherical_jn_complex.<locals>.<lambda>w      QVVa8r6   r   r;   r   r   r   r   rj  s     r4   test_spherical_jn_complexz(TestSystematic.test_spherical_jn_complexl  ,    	 	8_-As^Z\*	
r6   c           	      h    d }t        d t        |      t        dd      t        dd      gd       y )	Nc                    t        j                  |      }t        j                  | t        j                  d      dz  z   |      t        j                  d|z  t         j
                  z        z  }|j                  dk(  r|j                  S |S r_  r   ra  r  rq  r  r   rM  rQ   rb  s       r4   mp_spherical_ynz9TestSystematic.test_spherical_yn.<locals>.mp_spherical_yn}  rf  r6   c                 @    t        j                  t        |       |      S rN   )r-   spherical_ynr   ri  s     r4   rT   z2TestSystematic.test_spherical_yn.<locals>.<lambda>  r7  r6   r   r;   g    _rB  r<   r  r  rz  rv  s     r4   test_spherical_ynz TestSystematic.test_spherical_yn|  s4    	 	3_-As^S-.		
r6   c                 `    d }t        d t        |      t        dd      t               g       y )Nc                    t        j                  |      }t        j                  | t        j                  d      dz  z   |      t        j                  d|z  t         j
                  z        z  }|j                  dk(  r|j                  S |S r_  ru  rb  s       r4   rv  zATestSystematic.test_spherical_yn_complex.<locals>.mp_spherical_yn  rf  r6   c                 T    t        j                  t        | j                        |      S rN   )r-   rx  r   rQ   ri  s     r4   rT   z:TestSystematic.test_spherical_yn_complex.<locals>.<lambda>  ro  r6   r   r;   rp  ry  s     r4   test_spherical_yn_complexz(TestSystematic.test_spherical_yn_complex  rr  r6   c                 f    d }t        d t        |      t        dd      t               gdd       y )Nc                    t        j                  |      }t        j                  | t        j                  d      dz  z   |      t        j                  d|z  t         j
                  z        z  }|j                  dk(  r|j                  S |S r_  r   ra  r  rq  r  r   rM  rQ   rb  s       r4   mp_spherical_inz9TestSystematic.test_spherical_in.<locals>.mp_spherical_in  rf  r6   c                 @    t        j                  t        |       |      S rN   )r-   spherical_inr   ri  s     r4   rT   z2TestSystematic.test_spherical_in.<locals>.<lambda>  r7  r6   r   r;   g訰6r  r  rz  r  s     r4   test_spherical_inz TestSystematic.test_spherical_in  s2    	 	3_-As^SU#	
r6   c                 `    d }t        d t        |      t        dd      t               g       y )Nc                    t        j                  |      }t        j                  | t        j                  d      dz  z   |      t        j                  d|z  t         j
                  z        z  }|j                  dk(  r|j                  S |S r_  r  rb  s       r4   r  zATestSystematic.test_spherical_in_complex.<locals>.mp_spherical_in  rf  r6   c                 T    t        j                  t        | j                        |      S rN   )r-   r  r   rQ   ri  s     r4   rT   z:TestSystematic.test_spherical_in_complex.<locals>.<lambda>  ro  r6   r   r;   rp  r  s     r4   test_spherical_in_complexz(TestSystematic.test_spherical_in_complex  rr  r6   c                 d    d }t        d t        |      t        dd      t               gd       y )Nc                 :   t        j                  | t        j                  d      dz  z   |      t        j                  t         j                  dt        j
                  |      z  z        z  }t        j
                  |      j                  dk(  r|j                  S |S r_  )r   r  rq  r  r   ra  rM  rQ   )rF   r3   rd  s      r4   mp_spherical_knz9TestSystematic.test_spherical_kn.<locals>.mp_spherical_kn  su    >>!fjjmAo"5q9;;vyy!F,<,<Q,?*?@ABC"''1,xx
r6   c                 @    t        j                  t        |       |      S rN   )r-   spherical_knr   ri  s     r4   rT   z2TestSystematic.test_spherical_kn.<locals>.<lambda>  r7  r6   r   rZ   r<   r  r  rz  r  s     r4   test_spherical_knz TestSystematic.test_spherical_kn  s/    	 	3_-As^SU#		
r6   z.Accuracy issues near z = -1 inherited from kv.c                 d    d }t        d t        |      t        dd      t               gd       y )Nc                    t        j                  |      }t        j                  | t        j                  d      dz  z   |      t        j                  d|z  t         j
                  z        z  }|j                  dk(  r|j                  S |S r_  )r   ra  r  rq  r  r   rM  rQ   rb  s       r4   r  zATestSystematic.test_spherical_kn_complex.<locals>.mp_spherical_kn  rf  r6   c                 T    t        j                  t        | j                        |      S rN   )r-   r  r   rQ   ri  s     r4   rT   z:TestSystematic.test_spherical_kn_complex.<locals>.<lambda>  ro  r6   r   r;   r  rp  r  s     r4   test_spherical_kn_complexz(TestSystematic.test_spherical_kn_complex  s/    	 	8_-As^Z\*		
r6   N)__name__
__module____qualname__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%  pytestmarkxfailr/  r5  r8  rB  rF  rO  rR  rV  rX  r\  rb  rf  rk  rv  rz  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r
  r  r  r  r   r$  r   r'  r.  r3  r9  r=  rB  rH  rM  rS  rV  xfail_on_32bitr[  r_  rb  rl  rt  rz  r~  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r	  r  r  r  r  r  r  r$  r'  r-  r3  r9  r=  r@  rE  rI  rN  rV  r\  rk  rq  rz  r~  r  r  r  r  r  r6   r4   rk  rk    sn   .,
.,
.,
.,
.
.
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
1
f
8
8 [[5)UV
 W
  
 
"
$
" [[5!
 "
 [[5 *G H
H

8 [[56  7
7


 [[  ' )F)F 

U	
4
	






(
 




&
(
"
 
"
 
$
 
  [[5N  P
P
r6   rk  )J__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   ImportErrorr5   rH   rX   rb   rv   r   r   r   r   r  slowr   r   r   r   r   r   r  r  r  r  r  r$  r,  r3  r6  rI  rP  r^  ra  rd  rf  r   r  rk  r  r6   r4   <module>r     sb    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y
 y
  y
Y  %8$F%s   L& &L76L7