
    Ug                    X   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%n# e&$ r  ed	          Z%Y nw xY w 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j0        j1        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j0        j1        d"                         Z9 ee%d          ej0        j1        d#                         Z: ee%d          d$             Z; ee%d          d%             Z< ee%d          ej0        j1        d&                         Z= ee%d          ej0        j1        d'                         Z> ee%d          d(             Z? ee%d          d)             Z@ ee%d          d*             ZAd+ ZBej0        j1         ee%d          d,                         ZCej0        j1         ee%d          d-                         ZDej0        j1         ee%d          d.                         ZEej0        j1         ee%d          d/                         ZF eGd0d01          ZHej0        j1         ee%d2           G d3 d4                                  ZIdS )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 ]x}t          j        ddt           j        z  d          D ]R}|t          j        d|z            z  }|                     |t          t          j        |                    f           Syt          j	        | t           j
                  } t          t          j        | dd                                           d S )	Ni   
   r                    ?dtype   )nplogspacelinspacer   expappendcomplexr   eiarraycdoubler	   scexpicheck)datasetrpzs       ^/var/www/surfInsights/venv3-11/lib/python3.11/site-packages/scipy/special/tests/test_mpmath.pytest_expi_complexr5   #   s    G[a$$ 7 7Q"%,, 	7 	7A"&A,,ANNAwvy||4456666	7 hwbj111GRWgq!$$**,,,,,    z0.19c                     g } dD ]}t          j        ddd          D ]f}t          j        d          5  |                     ||t          t          j        ||                    f           d d d            n# 1 swxY w Y   gt          j        |           } t          t          j
        | ddd	                                           d S )
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 C CQ3'' 	C 	CA$$ C C1eFM!Q,?,?&@&@ABBBC C C C C C C C C C C C C C C	C j!!GRWgvqu555;;=====s   9A88A<?A<c            
         g } g d}|D ]z}|D ]u}|D ]p}|d|z  z   }t          j        d          5  t          t          j        ||                    }d d d            n# 1 swxY w Y   |                     |||f           qv{t          j        |           } t          d | ddd                                           d S )	N)g     Xg      #            ?g      #@g     X@r    x   c                 6    t          j        | j        |          S Nr-   hyp0f1realvr3   s     r4   <lambda>z$test_hyp0f1_gh5764.<locals>.<lambda>U   s    ")AFA.. r6   r=   r   r>   r?   )	r   rA   r)   rP   r(   r$   r+   r	   r/   )r0   axisrS   rG   yr3   ress          r4   test_hyp0f1_gh5764rX   D   s4    G...D 	, 	, 	, 	,A , ,1H ^C(( 7 7!&-1"5"566C7 7 7 7 7 7 7 7 7 7 7 7 7 7 71c{++++,	, hwG..  s   #A	A"%A"c                      t          j        ddd          } t          j        | d          }t          j        d | D                       }t          ||                    t                    d           d S )N         rK   c                 8    g | ]}t          j        |d           S )rK   r   rP   ).0rS   s     r4   
<listcomp>z'test_hyp0f1_gh_1609.<locals>.<listcomp>^   s$    555Q6=C((555r6   -q=r?   )r$   r&   r-   rP   r+   r   astyperB   )vvafmfs      r4   test_hyp0f1_gh_1609rf   Y   sm     
S#r	"	"B	2s		B	55"555	6	6BB		%((u555555r6   z1.1.0c                  ~   g } t          j        dd          D ]}t          j        ddd          D ]}| }|                     ||dt	          t          j        ||d                    f           | |z   dz
  }|                     ||dt	          t          j        ||d                    f           dD ]A}dD ]<}|                     ||dt	          t          j        ||d                    f           =Bt          j        |           } t          t          j        | dd	d
d          
                                 d S )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_0rz   f   s`   GYr1 E ERB'' 	E 	EAANNAq!U6=Aq+A+A%B%BCDDDQ
ANNAq!U6=Aq+A+A%B%BCDDDD		E 0 E E5 	E 	EANNAq!U6=Aq+A+A%B%BCDDDD	EhwGRYAEFFFLLNNNNNr6   1.0.0c                  T   ddg} | t          t          j        g dd                    z  } d | D             } t          d          fd	| D             }t	          j        |t          j        
          }t          t          j	        |ddd          
                                 d S )N)r   r}   ffffff?)r   r   r~   )r   r#   gffffffr:   )repeatc                 n    g | ]2\  }}}}||k    t          |          |k     |d k     &|dk    ,||||f3S )r   r   )round)r_   ry   rx   crG   s        r4   r`   z.test_hyp2f1_strange_points.<locals>.<listcomp>   sW       #Aq!66eAhh!mmA!u** 
Aq!2<**r6   T)	eliminatec           
      T    g | ]$}|t          t          j        |i           fz   %S  rB   r   hyp2f1)r_   r2   kws     r4   r`   z.test_hyp2f1_strange_points.<locals>.<listcomp>   s8    BBBqE&-1b112244BBBr6   r!   r   r#   r   rq   绽|=r?   )list	itertoolsproductdictr$   r+   float64r	   r-   r   r/   )ptsr0   r   s     @r4   test_hyp2f1_strange_pointsr   }   s     	C 4	!"5"5"5a@@@AAAC '*  C 
			BBBBBcBBBGhwbj111GRYAE:::@@BBBBBr6   z0.13c                  "   g d} d | D             }t          j        |t           j                  }t          j        d          5  t	          t
          j        |ddd	                                           d d d            d S # 1 swxY w Y   d S )
N)r#   r   rq   r   )UUUUUU?gUUUUUU?g?g      ?)      ?rK   g      ?gX<ݚ?)r   r   rq   )r   r   r   rq   )r   rl   rl   rq   r   )gx&?r}   rh   g333333?)r   r   r   +?)r   r   r   r}   )r   rq   ri   Gz?)rn   rJ   rq   r   )r   ro   g      
r   )g*4]92@g|O%@gCu?)  rk   r   )r   r         %@r   )r}   r   r#         ?)r}   r   r#   rm   )r      ri   r   )r   r   ri   rm   )rK   g     prn   gm˟?c                 L    g | ]!}|t          t          j        |           fz   "S r   r   )r_   r2   s     r4   r`   z0test_hyp2f1_real_some_points.<locals>.<listcomp>   s/    <<<1qE&-+,,..<<<r6   r!   ignoreinvalidr   r:   r   r?   )r$   r+   r   errstater	   r-   r   r/   )r   r0   s     r4   test_hyp2f1_real_some_pointsr      s      C. =<<<<Ghwbj111G	X	&	&	& G GGY>>>DDFFFG G G G G G G G G G G G G G G G G Gs   1BBB0.14c                      g d} d fd| D             }t          j        |t           j                  }t          t          j        |ddd                                           d S )	N))p   )r9   r   )r   gwJ)r   |r   r   )r   r   rk   r   c                 l    t          | t                    rt          | d                   | d         z  S | S )Nr   r#   )
isinstancetuplerB   rG   s    r4   fevz&test_hyp2f1_some_points_2.<locals>.fev   s2    a 	1;;1%%Hr6   c                     g | ]<}t          t          |                    t          t          j        |           fz   =S r   )r   maprB   r   r   )r_   r2   r   s     r4   r`   z-test_hyp2f1_some_points_2.<locals>.<listcomp>   s@    MMMAuSa[[!!U6=!+<%=%=$??MMMr6   r!   r   r:   r   r?   )r$   r+   r   r	   r-   r   r/   )r   r0   r   s     @r4   test_hyp2f1_some_points_2r      s      C   NMMMMMMGhwbj111GRYAE:::@@BBBBBr6   c                     g } dD ]a}dD ]\}dD ]W}dD ]R}	 t          t          j        ||||                    }n# t          $ r Y 4w xY w|                     |||||f           SX]bt          j        | t
          j                  } t          j        d          5  t          t          j        | dd	d
d                                           d d d            d S # 1 swxY w Y   d S )N)r   rh   g?ri   r   )g      r}   r#   g@)r   r   ri   gffffff4@)r   g)\(Gzr   g333333?gffffff?rn   r   r!   r   r   r   r:   &.>Tr@   ignore_inf_sign)rB   r   r   	Exceptionr(   r$   r+   r   r   r	   r-   r/   )r0   ry   rx   r   r3   rS   s         r4   test_hyp2f1_real_somer      sp   G( 4 4# 	4 	4A( 4 4C 4 4A!!&-1a";";<<$ ! ! ! !NNAq!Q?333344	4 hwbj111G	X	&	&	& / /GY!%	' 	' 	'',uwww/ / / / / / / / / / / / / / / / / /s!   $9
AA2CC"Cz0.12c            
         d} t          j        | dft           j                  }t           j                            d           t           j                            d|           |d d df<   t           j                            d|           |d d df<   t           j                            d|           |d d df<   dt           j                            |           z  dz
  |d d df<   |d d dfxx         d	t           j                            d|           z  z  cc<   |d d dfxx         d	t           j                            d|           z  z  cc<   |d d dfxx         d	t           j                            d|           z  z  cc<   |D ]}t          j	        d
k     rlt          |d d                                                   t          |d                   k    r,t          |d d                                                   |d<   t          t          j        t          |d d                              |d<   t          t           j        |ddd                                           d S )N  ri     rn   r   r#   r   rq   r}   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h|RZ00GINN4I$$S'22GAAAqDMI$$S'22GAAAqDMI$$S'22GAAAqDMbinnW---1GAAAqDMAAAqDMMMb29,,Q8888MMMAAAqDMMMb29,,Q8888MMMAAAqDMMMb29,,Q8888MMM 5 5&&2bqb6{{  3r!u::--BrrF))1fmU2bqb6]]3441RYqt<<<BBDDDDDr6   c                  h   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        |	                                |	                                f         dt          j        |	                                |	                                f         z  z   }t          t          j        d	 |d
d           t          t          j        d |d
d           | |ct           j        _        t           j        _        d S # | |ct           j        _        t           j        _        w xY w)NF   r   r#         ig?r    c                 D    t          t          j        |                     S rN   )r)   r   erfr   s    r4   rT   z"test_erf_complex.<locals>.<lambda>   s    GFJqMM,B,B r6   Fr>   
vectorizedr@   c                 D    t          t          j        |                     S rN   )r)   r   erfcr   s    r4   rT   z"test_erf_complex.<locals>.<lambda>  s    WV[^^-D-D r6   )r   mpdpsprecr$   meshgridr&   r%   r_ravelr
   r-   r   r   )old_dpsold_precx1y1x2y2pointss          r4   test_erf_complexr      sV    	vy~XG:	R[a44bk#q"6M6MNNBR[b"55r{3B7O7OPPBrxxzz"((**,-25RXXZZ9O3P0PP"&"B"BF%*	8 	8 	8 	8"'#D#Df%*	8 	8 	8 	8 )0%	vy~~~%	vy~9999s   EF %F1z0.15c                  "   g } dD ]}|                      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 fd| D             }t          j        |t          j                  }d }t          j        d          5  t          ||dd
dd                                           d d d            d S # 1 swxY w Y   d S )N)r   gmư>gL7A`?r#   r#   r}   r   g333333?g333333gr   r   rq      ri   r   rh   r   ig @g&@g g&c                 t    |t          |          k    r|dk    r
|dk    rdS dS t          j        | ||          S Nr#   r   )intr   legenp)numurG   s      r4   mplegenpztest_lpmv.<locals>.mplegenp-  s@    R==Q!VVQwwqq}RQ'''r6   c           	      V    g | ]%}| |d          |d         |d                   fz   &S )r#   r   r   r   )r_   r2   r   s     r4   r`   ztest_lpmv.<locals>.<listcomp>6  s;    >>>QqHHQqT1Q41..00>>>r6   r!   c                 ^    t          j        |                     t                    ||          S rN   )r-   lpmvrb   r   )r   r   rG   s      r4   evfztest_lpmv.<locals>.evf9  s     wryy~~r1---r6   r   r   rp   r   +=rt   )extendr$   r+   r   r   r	   r/   )r   rG   r0   r   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
 	 	 	 	:( ( ( ?>>>#>>>Ghwbj111G. . . 
X	&	&	& K KgwEBBBHHJJJK K K K K K K K K K K K K K K K K Ks   (DDDc                  r   t           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                                                 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        _        d S # ||ct          j        _        t          j        _        w xY w)Nr   8r;   r:   r   r   r}   r#   r   rK   gffffffr   g33333Yg3333r     c                 F    t          t          j        | |                    S rN   )rB   r   betary   rx   s     r4   rT   ztest_beta.<locals>.<lambda>W  s    uV[A->->'?'? r6   Fr   T)r   r@   r   c           
          t          t          j        t          t          j        | |                                        S rN   )rB   r   logr   r   r   s     r4   rT   ztest_beta.<locals>.<lambda>_  s,    vz#fk!Q.?.?*@*@AABB r6   r   )r$   r   r   r   r%   rv   r+   broadcast_arraysreshapeTr   r   r   r   r
   r-   r   betaln)rx   ry   abr   r   s        r4   	test_betar  D  s   INN4
bk$Q''k#r1%%k"a##iR##iR##c)$FH- 	.A 	
A	"%a$i46;;	<	<	D	DQ	K	K	MB	vy~XG:	"'??%*$*.	0 	0 	0 	0 	IBB	 	 	 	 )0%	vy~~~%	vy~9999s   AF %F6g?c                     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                                         }d |D             }t          j        |          }t          t          j        |ddd	                                           d S )
N)gg{Gzr   g{Gz?g?r   r   rj   r    r#   c                 T    g | ]%}|t          t          j        |                    f&S r   r)   r   loggammar_   z0s     r4   r`   z3test_loggamma_taylor_transition.<locals>.<listcomp>y  /    >>>bGFOB//001>>>r6   vIh%,=r?   )LOGGAMMA_TAYLOR_RADIUSr$   r+   r&   r   r   r'   r   flattenr	   r-   r  r/   r1   thetadzr3   r0   s        r4   test_loggamma_taylor_transitionr  n  s    
 	*E*E*E!F!FFAK1RU7B''E{1e$$HAu	
26"U(	B
a"fa"fn%%''A>>A>>>GhwGR['1ae444::<<<<<r6   c                     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         	                                }d |D             }t          j
        |          }t          t          j        |ddd	
                                           d S )Nir   r   r   rj   r    r#   c                 T    g | ]%}|t          t          j        |                    f&S r   r  r  s     r4   r`   z(test_loggamma_taylor.<locals>.<listcomp>  r  r6   r	  r?   )r$   r%   log10r
  r&   r   r   r'   r   r  r+   r	   r-   r  r/   r  s        r4   test_loggamma_taylorr    s     	C"8992>>AK1RU7B''E{1e$$HAu	
26"U(	B
a"fa"fn%%''A>>A>>>GhwGR['1ae444::<<<<<r6   c                     t           j        t          j        ddd           dt          j        ddd          f         } |                                 }t          j        | |          \  } }| d|z  z   }t          j        ddd                              ddd          }|t          j        |f|j        z            z   	                                }t          j        d          5  d	 |D             }d d d            n# 1 swxY w Y   t          j        |          }t          t          j        |ddd
                                           d S )Nr}   rq   r   r    iVr#   r<   c                 T    g | ]%}|t          t          j        |                    f&S r   )r)   r   rgammar  s     r4   r`   z%test_rgamma_zeros.<locals>.<listcomp>  s/    @@@Bb 1 1223@@@r6   ra   r?   )r$   r   r%   copyr   rv   r   dstacksizer  r   rA   r+   r	   r-   r  r/   )dxdyr  r   r3   r0   s         r4   test_rgamma_zerosr    sz    
BQ'''BKR,C,CC	DB	B[R  FB	beBIar""**1a44E	B5+,,	,5577A			 A A@@a@@@A A A A A A A A A A A A A A A hwGRYAE22288:::::s   $C==DDc            	      R   t          j        t           j        d          } t          |           g}t          j        t           j        d          } |                    t          |                      t          j        |          }t
          j        dt          j        ddd           dt          j        ddd          df         }|	                                }t          j
        ||          \  }}|d	|z  z   }|t          j        |f|j        z            z                                   }t          j        d
          5  d |D             }d d d            n# 1 swxY w Y   t          j        |          }t          t           j        |ddd                                           d S )Nrn   rJ   gQοr}   r   r   gQ?r    r   c                 T    g | ]%}|t          t          j        |                    f&S r   r)   r   digammar  s     r4   r`   z&test_digamma_roots.<locals>.<listcomp>  /    AAABr 2 2334AAAr6   r#   r   r?   )r   findrootr"  rB   r(   r$   r+   r   r%   r  r   r  r  r  rA   r	   r-   r/   )rootrootsr  r  r  r3   r0   s          r4   test_digamma_rootsr'    s    ?6>3//D4[[ME?6>400D	LLtHUOOE 
ur{2sB///BKR4L4LdR	SB	B[R  FB	beB	B5+,,	,5577A			 B BAAqAAAB B B B B B B B B B B B B B B hwGRZ!QU33399;;;;;s   ?EEEc                  D   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                                   }t          j        d          5  fd	|D             }d d d            n# 1 swxY w Y   t          j	        |          }t          t          j        |dd
d                                           d S )N,  r<   r   r   ri   r    (   c                 D    g | ]}|t           |                    fS r   )r)   )r_   r  r"  s     r4   r`   z(test_digamma_negreal.<locals>.<listcomp>  s.    :::"B,,-:::r6   r#   r>   r?   )r   r   r"  r$   r%   r   r   r  rA   rD   r	   r-   r/   )rG   rV   r3   r0   r"  s       @r4   test_digamma_negrealr-    sD    v~..G	S#s	#	##A
r{1b!$$$aRA)>)>>?A;q!DAq	
RTA			 ; ;:::::::; ; ; ; ; ; ; ; ; ; ; ; ; ; ;j!!GRZ!QU33399;;;;;s   6CCCc                     t          j        ddd           } t          j        g d          }t          j        | |          \  } }| d|z  z                                   }t          j        d          5  d |D             }d d d            n# 1 swxY w Y   t          j        |          }t          t          j
        |dd	d
                                           d S )Nr)  r*  r<   )gffffffgg@gffffff@r    r   c                 T    g | ]%}|t          t          j        |                    f&S r   r!  r  s     r4   r`   z)test_digamma_boundary.<locals>.<listcomp>  r#  r6   r   r#   r>   r?   )r$   r%   r+   r   r  r   rA   rD   r	   r-   r"  r/   rG   rV   r3   r0   s       r4   test_digamma_boundaryr1    s#   
 
S#s	#	##A
'''((A;q!DAq	
RTA			 B BAAqAAAB B B B B B B B B B B B B B Bj!!GRZ!QU33399;;;;;s   4BBBc                     d} t          j        d| z  d| z  d          }|                                }t          j        ||          \  }}|                                |                                }}t          j        d          5  d t          ||          D             }d d d            n# 1 swxY w Y   t          j        |          }t          t          j        |ddd	                                           d S )
Nrj   rK   r   r8   r<   c                 b    g | ],\  }}||t          t          j        ||d                     f-S )Trx   regularized)rB   r   gammainc)r_   a0x0s      r4   r`   z*test_gammainc_boundary.<locals>.<listcomp>  sL     , , ,r2 E&/""M"M"MNNO , , ,r6   r=   ra   r?   )r$   r&   r  r   r  r   rA   zipr+   r	   r-   r6  r/   )smallry   rG   r0   s       r4   test_gammainc_boundaryr;    s(    E
CIqw++A	A;q!DAq99;;		qA			 , ,, ,!$Q, , ,, , , , , , , , , , , , , , , hwGR['615999??AAAAAs   B..B25B2c                     d t          j        dd          } t          j        ddt          z            }dt          j        | t          j        d|z                      z                                   }t          j        fd|D                       }t          t          j	        |ddd	
          
                                 d S )Nc                 L    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00r6   rK   rn   r   r   r#   r    c                 *    g | ]}| |          fS r   r   )r_   r  rA  s     r4   r`   z&test_spence_circle.<locals>.<listcomp>  s&    777r2vvbzz*777r6   r   r?   )r$   r&   r   outerr'   r  rD   r	   r-   rA  r/   )r1   r  r3   r0   rA  s       @r4   test_spence_circlerD    s    1 1 1 	CAK1R4  E	
RXa5))**	*3355Aj7777Q77788GRYAE22288:::::r6   c                  x   t          j        t                    j        } t           j        t          j        ddd           dt          j        ddd          f         }|                                }t          j        ||          \  }}|d|z  z   }t          j        ddd          	                    ddd          }|t          j
        |f|j        z            z                                   }t          j        d	 |D                       }t          t          |ddd
| z                                             d S )Nr   r  rq   r    r<   r#   r}   c                 T    g | ]%}|t          t          j        |                    f&S r   )r)   r   sinpir  s     r4   r`   z$test_sinpi_zeros.<locals>.<listcomp>  ?     ' ' '  wv|B'7'7889 ' ' 'r6   r   r?   )r$   finforB   epsr   r%   r  r   rv   r   r  r  r  rD   r	   r   r/   rK  r  r  r  r   r3   r0   s          r4   test_sinpi_zerosrM    s   
(5//
C	AsA&&&2;sAq+A+AA	BB	B[R  FB	beBIdC##++Aq"55E	B5+,,	,5577Aj ' '$%' ' ' ( (GVWa3///5577777r6   c                  ~   t          j        t                    j        } t           j        t          j        ddd           dt          j        ddd          f         }|                                }t          j        ||          \  }}|d|z  z   }t          j        ddd          dz   	                    ddd	          }|t          j
        |f|j        z            z                                   }t          j        d
 |D                       }t          t          |ddd| z                                             d S )Nr   r  rq   r    rF  r<   r#   rK   r}   c                 T    g | ]%}|t          t          j        |                    f&S r   )r)   r   cospir  s     r4   r`   z$test_cospi_zeros.<locals>.<listcomp>-  rI  r6   r   r?   )r$   rJ  rB   rK  r   r%   r  r   rv   r   r  r  r  rD   r	   r   r/   rL  s          r4   test_cospi_zerosrQ  $  s$   
(5//
C	AsA&&&2;sAq+A+AA	BB	B[R  FB	beBYtS!$$s*33Aq"==E	B5+,,	,5577Aj ' '$%' ' ' ( (G VWa3///5577777r6   c            
         d } d }t          j        ddd          }t           j        t          j        ddd           dt          j        ddd          f         }g }|D ]O}t	          t          j        |                    }|D ])}||z   }|                    || |||          f           *Pt          j        |          }t          | |d	d
d          
                                 d S )Nc                 8    t          j        | |          d         S Nr   r-   ellipjums     r4   dnz"test_dn_quarter_period.<locals>.dn9  s    yAq!!r6   c                 J    t          t          j        d| |                    S NrZ  rW  )rB   r   ellipfunrW  s     r4   	mpmath_dnz)test_dn_quarter_period.<locals>.mpmath_dn<  s!    V_TQ!444555r6   r   r#   rj   r}   r  r   r=   r   r   r?   )r$   r&   r   r%   rB   r   ellipkr(   rD   r	   r/   )	rZ  r^  rY  dur0   m0u0du0r2   s	            r4   test_dn_quarter_periodrd  7  s   " " "6 6 6 	Aq"A	BR(((!R[b"-E-EE	FBG 6 66=$$%% 	6 	6CSANNAr99Q#3#345555	6 j!!GR&!%000668888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            n# 1 swxY w Y   |S rT  )r   rA   mpcceilimagr   lambertwr'   )r3   r   unwindrW   s       r4   _mpmath_wrightomegark  P  s    			 5 5JqMMafvy01VY;?@@ofjmmV445 5 5 5 5 5 5 5 5 5 5 5 5 5 5 Js   A2B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 ]}|                    t          j        |d         t           j                             |                    t          j        |d         t           j                              |                    t          j        |d         t           j                             |                    t          j        |d         t           j                              t          j        ||||f          }t          j        | |          \  } }| d|z  z   	                                }t          j
        d |D                       }t          t          j        |ddd	
                                           d S )Nr   r      r8   r}   r    c           	      L    g | ]!}|t          t          |d                     f"S rm  r)   rk  r  s     r4   r`   z+test_wrightomega_branch.<locals>.<listcomp>i  @     ' ' '  w':2r'B'BCCD ' ' 'r6   r#   :0yE>r?   )r$   r%   	nextafterr   infranger(   hstackr   r  rD   r	   r-   wrightomegar/   )	rG   picut_abovepicut_belownpicut_abovenpicut_belowirV   r3   r0   s	            r4   test_wrightomega_branchr}  X  s    
RB		A<rv../K<w//0KL"%001LL"%"&112L2YY E E2<B@@AAA2<B"&AABBBBLb)926BBCCCBLb)9BF7CCDDDD
	;\<HIIA;q!DAq	
RTAj ' '$%' ' ' ( (G R^Wa666<<>>>>>r6   c                  t   t          j        dd          } t          j        ddt           j        z            }t          j        | |          \  } }| d|z  z                                   }t          j        d |D                       }t          t          j        |ddd          	                                 d S )	Nr   r#   r   r    c           	      L    g | ]!}|t          t          |d                     f"S ro  rp  r  s     r4   r`   z,test_wrightomega_region1.<locals>.<listcomp>x  rq  r6   r   rr   r?   
r$   r&   r   r   r  rD   r	   r-   rw  r/   r0  s       r4   test_wrightomega_region1r  o  s     	BA
AqwA;q!DAq	
RTAj ' '$%' ' ' ( (G R^Wa777==?????r6   c                  t   t          j        dd          } t          j        dt           j        z  d          }t          j        | |          \  } }| d|z  z                                   }t          j        d |D                       }t          t          j        |ddd          	                                 d S )	Nr   r#   r}   r    c           	      L    g | ]!}|t          t          |d                     f"S ro  rp  r  s     r4   r`   z,test_wrightomega_region2.<locals>.<listcomp>  rq  r6   r   rr   r?   r  r0  s       r4   test_wrightomega_region2r  ~  s     	BA
BruHb!!A;q!DAq	
RTAj ' '$%' ' ' ( (G R^Wa777==?????r6   c                  ^   t          j        ddd          t          j        ddd          }} t          j        | |          \  } }| d|z  z                                   }t          j        d |D                       }t          t          j        |ddd                                           d S )	Nr}   r#   rm  r    c                 T    g | ]%}|t          t          j        |                    f&S r   )r)   r   ri  r  s     r4   r`   z(test_lambertw_smallz.<locals>.<listcomp>  s?     ' ' '  wvr':':;;< ' ' 'r6   r   r>   r?   )	r$   r&   r   r  rD   r	   r-   ri  r/   r0  s       r4   test_lambertw_smallzr    s     ;r1b!!2;r1b#9#9qA;q!DAq	
RTAj ' '$%' ' ' ( (G R['1ae444::<<<<<r6   r;   maxprecmaxtermsz0.17c                      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                            dd          d             Z d Z!e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                            dO          dP             ZQdQ ZRej                            dO          dR             ZSeTdS             ZUdT ZVdU ZWej                            ddV          dW             ZXdX ZYdY ZZdZ Z[ej                            dO          d[             Z\eTd\             Z]ej                            dO          d]             Z^ej        _                    d^          d_             Z`d` Zada Zbej                            dO          db             Zcdc Zddd Zede ZfeTdf             Zgdg Zhej        _                    dh          di             Zidj ZjeTdk             Zkdl Zldm Zmdn Zndo Zoej                            ddp          dq             ZpeTdr             Zqds Zrdt Zsej                            dO          du             Ztej                            ddv          dw             Zudx Zvej                            ddy          dz             Zwd{ Zxd| Zye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                            dd          d             ZdS )TestSystematicc                     t          d t          j        t          dd          gd           t          d t          j        t          dd          g           d S )	Nc                 6    t          j        |           d         S Nr   r-   airyr@  s    r4   rT   z,TestSystematic.test_airyai.<locals>.<lambda>      bgajjm r6       ח    חAh㈵>r?   c                 6    t          j        |           d         S r  r  r@  s    r4   rT   z,TestSystematic.test_airyai.<locals>.<lambda>  r  r6        @     @@)r   r   airyair   selfs    r4   test_airyaizTestSystematic.test_airyai  sl    33"M s^^,!%	' 	' 	' 	' 	33"M s^^,	. 	. 	. 	. 	.r6   c                 X    t          d t          j        t                      g           d S )Nc                 6    t          j        |           d         S r  r  r@  s    r4   rT   z4TestSystematic.test_airyai_complex.<locals>.<lambda>  r  r6   )r   r   r  r   r  s    r4   test_airyai_complexz"TestSystematic.test_airyai_complex  s2    33"M'\\N	, 	, 	, 	, 	,r6   c                     t          d d t          dd          gd           t          d d t          d	d
          g           d S )Nc                 6    t          j        |           d         S Nr#   r  r@  s    r4   rT   z2TestSystematic.test_airyai_prime.<locals>.<lambda>  r  r6   c                 .    t          j        | d          S Nr#   )
derivativer   r  r@  s    r4   rT   z2TestSystematic.test_airyai_prime.<locals>.<lambda>      "M!::: r6   r  r  r  r?   c                 6    t          j        |           d         S r  r  r@  s    r4   rT   z2TestSystematic.test_airyai_prime.<locals>.<lambda>  r  r6   c                 .    t          j        | d          S r  r  r@  s    r4   rT   z2TestSystematic.test_airyai_prime.<locals>.<lambda>  r  r6   r  r  r   r   r  s    r4   test_airyai_primez TestSystematic.test_airyai_prime  v    33 6; 6; s^^,!%	' 	' 	' 	' 	33 6; 6; s^^,	. 	. 	. 	. 	.r6   c                 F    t          d d t                      g           d S )Nc                 6    t          j        |           d         S r  r  r@  s    r4   rT   z:TestSystematic.test_airyai_prime_complex.<locals>.<lambda>  r  r6   c                 .    t          j        | d          S r  r  r@  s    r4   rT   z:TestSystematic.test_airyai_prime_complex.<locals>.<lambda>  r  r6   r   r   r  s    r4   test_airyai_prime_complexz(TestSystematic.test_airyai_prime_complex  7    33 6; 6;'\\N	, 	, 	, 	, 	,r6   c                     t          d d t          dd          gd           t          d d t          d	d
          g           d S )Nc                 6    t          j        |           d         S rT  r  r@  s    r4   rT   z,TestSystematic.test_airybi.<locals>.<lambda>  r  r6   c                 *    t          j        |           S rN   r   airybir@  s    r4   rT   z,TestSystematic.test_airybi.<locals>.<lambda>      "M!,, r6   r  r  r  r?   c                 6    t          j        |           d         S rT  r  r@  s    r4   rT   z,TestSystematic.test_airybi.<locals>.<lambda>  r  r6   c                 *    t          j        |           S rN   r  r@  s    r4   rT   z,TestSystematic.test_airybi.<locals>.<lambda>  r  r6   r  r  r  r  s    r4   test_airybizTestSystematic.test_airybi  sv    33 6- 6- s^^,!%	' 	' 	' 	' 	33 6- 6- s^^,	. 	. 	. 	. 	.r6   c                 F    t          d d t                      g           d S )Nc                 6    t          j        |           d         S rT  r  r@  s    r4   rT   z4TestSystematic.test_airybi_complex.<locals>.<lambda>  r  r6   c                 *    t          j        |           S rN   r  r@  s    r4   rT   z4TestSystematic.test_airybi_complex.<locals>.<lambda>  r  r6   r  r  s    r4   test_airybi_complexz"TestSystematic.test_airybi_complex  s7    33 6- 6-'\\N	, 	, 	, 	, 	,r6   c                     t          d d t          dd          gd           t          d d t          d	d
          g           d S )Nc                 6    t          j        |           d         S Nrq   r  r@  s    r4   rT   z2TestSystematic.test_airybi_prime.<locals>.<lambda>  r  r6   c                 .    t          j        | d          S r  r  r@  s    r4   rT   z2TestSystematic.test_airybi_prime.<locals>.<lambda>  r  r6   r  r  r  r?   c                 6    t          j        |           d         S r  r  r@  s    r4   rT   z2TestSystematic.test_airybi_prime.<locals>.<lambda>  r  r6   c                 .    t          j        | d          S r  r  r@  s    r4   rT   z2TestSystematic.test_airybi_prime.<locals>.<lambda>  r  r6   r  r  r  r  s    r4   test_airybi_primez TestSystematic.test_airybi_prime  r  r6   c                 F    t          d d t                      g           d S )Nc                 6    t          j        |           d         S r  r  r@  s    r4   rT   z:TestSystematic.test_airybi_prime_complex.<locals>.<lambda>  r  r6   c                 .    t          j        | d          S r  r  r@  s    r4   rT   z:TestSystematic.test_airybi_prime_complex.<locals>.<lambda>  r  r6   r  r  s    r4   test_airybi_prime_complexz(TestSystematic.test_airybi_prime_complex  r  r6   c                 v    t          t          j        t          d           t	          dd          g           d S )Nc                 2    t          j        d| fi t          S r  )r   beiHYPERKWr@  s    r4   rT   z)TestSystematic.test_bei.<locals>.<lambda>      vz!Q7R7R'7R7R r6   r  r  )r   r-   r  r   r   r  s    r4   test_beizTestSystematic.test_bei  ?    BF,-R-RSS s^^,	. 	. 	. 	. 	.r6   c                 v    t          t          j        t          d           t	          dd          g           d S )Nc                 2    t          j        d| fi t          S r  )r   berr  r@  s    r4   rT   z)TestSystematic.test_ber.<locals>.<lambda>  r  r6   r  r  )r   r-   r  r   r   r  s    r4   test_berzTestSystematic.test_ber  r  r6   c                 P    t          d d t          dd          gdd           d S )Nc                 j    t          j        t          |                     t          |                    S rN   )r-   	bernoullir   rF   s    r4   rT   z/TestSystematic.test_bernoulli.<locals>.<lambda>  s!    bl3q66&:&:3q66&B r6   c                 ^    t          t          j        t          |                               S rN   )rB   r   r  r   r  s    r4   rT   z/TestSystematic.test_bernoulli.<locals>.<lambda>  s    eF,<SVV,D,D&E&E r6   r   i2  r   r@   rF   )r   r   r  s    r4   test_bernoullizTestSystematic.test_bernoulli  sD    BBEE#Au--.!%	0 	0 	0 	0 	0 	0r6   c                     t          t          j        t          d           t	          dd          t	                      gd           d S )Nc                 2    t          j        | |fi t          S rN   r   besselir  rR   s     r4   rT   z-TestSystematic.test_besseli.<locals>.<lambda>      &.A*I*I*I*I r6   }Ô%I}Ô%ITgJDru   )r   r-   ivr   r   r  s    r4   test_besselizTestSystematic.test_besseli  sP    EIIJJ'		
 	
 	
 	
 	
 	
r6   c                 ~    t          d t          d           t          dd          t                      g           d S )Nc                 6    t          j        | j        |          S rN   )r-   r  rQ   rR   s     r4   rT   z5TestSystematic.test_besseli_complex.<locals>.<lambda>      qvq)) r6   c                 2    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   r  s    r4   test_besseli_complexz#TestSystematic.test_besseli_complex  I    ))IIJ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           d S )Nc                 2    t          j        | |fi t          S rN   r   besseljr  rR   s     r4   rT   z-TestSystematic.test_besselj.<locals>.<lambda>  r  r6   r  r  r  r  Tr   c                 2    t          j        | |fi t          S rN   r  rR   s     r4   rT   z-TestSystematic.test_besselj.<locals>.<lambda>  r  r6   r  r  r  )r   r@   )r   r-   jvr   r   r  s    r4   test_besseljzTestSystematic.test_besselj  s    EIIJJT30 		
 	
 	
 	
 	EIIJJT30 	
 	
 	
 	
 	
 	
r6   c                 z    t          d t          d           t                      t                      g           d S )Nc                 6    t          j        | j        |          S rN   )r-   r  rQ   rR   s     r4   rT   z5TestSystematic.test_besselj_complex.<locals>.<lambda>  r  r6   c                 2    t          j        | |fi t          S rN   r  rR   s     r4   rT   z5TestSystematic.test_besselj_complex.<locals>.<lambda>  r  r6   r  r  s    r4   test_besselj_complexz#TestSystematic.test_besselj_complex  sC    ))IIJJUUJLL!	
 	
 	
 	
 	
r6   c           	          t          t          j        t          j        t          dd          t          dt          j                  gdd           d S Nr   r;   r   Fra   nan_okr@   )r   r-   kvr   besselkr   r$   rt  r  s    r4   test_besselkzTestSystematic.test_besselk  sM    ENs^^SBF^^,	
 	
 	
 	
 	
 	
r6   c           	          t          t          j        t          j        t          dd          t          dt          j                  gdd           d S r  )	r   r-   knr   r  r   r   r$   rt  r  s    r4   test_besselk_intzTestSystematic.test_besselk_int%  sO    END#Arv/	
 	
 	
 	
 	
 	
r6   c                 ~    t          d t          d           t          dd          t                      g           d S )Nc                 6    t          j        | j        |          S rN   )r-   r  rQ   rR   s     r4   rT   z5TestSystematic.test_besselk_complex.<locals>.<lambda>0  r  r6   c                 2    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  r  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           d S )Nc                    t          t          j        | |fi t                    }t	          |          dk    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$   rt  signnanrS   rG   r1   s      r4   	mpbesselyz.TestSystematic.test_bessely.<locals>.mpbessely6  si    fnQ55W5566A1vv~~FRWQZZ'1vv{{qAvvvHr6   r  r  r  r    r  )r   r-   yvr   r   r  r  s     r4   test_besselyzTestSystematic.test_bessely5  sa    	 	 	 	EY''T30		
 	
 	
 	
 	
 	
r6   c                     d }t          d t          |          t                      t                      gd           d S )Nc                    t          t          j        | |fi t                    }t	          |          dk    rNt          j        d          5  t
          j        t          j        |          z  }d d d            n# 1 swxY w Y   |S )Nr
  r   r   )	r)   r   r  r  r   r$   r   rt  r  r  s      r4   r  z6TestSystematic.test_bessely_complex.<locals>.mpbesselyG  s    q!77w7788A1vv~~[222 , ,+A, , , , , , , , , , , , , , ,Hs   "A<<B B c                 6    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  sX    	 	 	 	))Y''UUJLL!		
 	
 	
 	
 	
 	
r6   c           	          d }t          d t          |          t          dd          t          dd          g           d S )Nc                     t          t          j        | |                    }t          |          dk    r|dk    rt          j        S |S r  )rB   r   r  r   r$   r  r  s      r4   r  z2TestSystematic.test_bessely_int.<locals>.mpbesselyV  s>    fnQ**++A1vv{{qAvvvHr6   c                 F    t          j        t          |           |          S rN   )r-   ynr   rR   s     r4   rT   z1TestSystematic.test_bessely_int.<locals>.<lambda>]  s    s1vvq)) r6   r     r  r  r   r   r   r   r  s     r4   test_bessely_intzTestSystematic.test_bessely_intU  sZ    	 	 	 	))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           d S )
NFc                 @   | dk     s|dk     rt           j        S | dk     s|dk     ret          t          | |z                       dz  dk    r?|r=                    t          |           t          |          f           t           j        S t          j        | |          S )Ng   mr   r#   )r$   r  r   rB   r(   r   r   )ry   rx   nonzero
bad_pointss      r4   r   z&TestSystematic.test_beta.<locals>.betae  s    5yyAII vAQSq1u%6%6%:q$@$@  "%%uQxxq&:;;;6M;q!$$$r6   c                       | |d          S NT)r!  r   )ry   rx   r   s     r4   rT   z*TestSystematic.test_beta.<locals>.<lambda>v  s    aD111 r6   r   Tr   r   dy=)r   r   ru   F)r   r-   r   r   r$   r+   )r  r"  r   s    @@r4   r  zTestSystematic.test_betab  s    
	% 	% 	% 	% 	% 	% 	G1111UUCEEN 	
 	
 	
 	
 	GHZ   	
 	
 	
 	
 	
 	
r6   c                     t          t          j         t                      t	          d                     t                      t                      t                      g           d S )Nc                 4    t          j        | |d|d          S )Nr   Tr5  r   betaincry   rx   rG   s      r4   rT   z-TestSystematic.test_betainc.<locals>.<lambda>      FN1aA4$P$P$P r6   )r   r-   r,  r   r   r   r  s    r4   test_betainczTestSystematic.test_betainc  sa    JLNN PP  
 UUCEE355!	
 	
 	
 	
 	
r6   c                     t          t          j         t                      t	          d                     t                      t                      t                      gd           d S )Nc                 4    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   r  s    r4   test_betaincczTestSystematic.test_betaincc  si    KLNN PP  
 UUCEE355!		
 		
 		
 		
 		
 		
r6   c                     g dfd	t          t          j        fdt                      t                      gd           t          t          j        t	          j                  dd           d S )	NFc           	         t          |          dt          |           dz   z  k    rt          j        S | |k     rt          t          | |z
            t          j        t          | |z
                      z
            dk     r?|r=                    t          |           t          |          f           t          j        S t          j        | |          S )Nr  r#   rr   )r   r$   r  rB   r   r(   r   binomial)rF   kr!  r"  s      r4   r7  z+TestSystematic.test_binom.<locals>.binomial  s    1vvSVVaZ((( v1uuU1Q3ZZ"(51::*>*>>??%GG  "%%uQxxq&:;;;6M?1a(((r6   c                       | |d          S r$  r   )rF   r8  r7  s     r4   rT   z+TestSystematic.test_binom.<locals>.<lambda>  s    !Q555 r6   r   r2  r   r   ru   r'  )r   r-   binomr   r$   r+   )r  r"  r7  s    @@r4   
test_binomzTestSystematic.test_binom  s    
	) 	) 	) 	) 	) 	) 	H5555UUCEEN		
 	
 	
 	
 	HHZ  	
 	
 	
 	
 	
 	
r6   c                 ~    t          d t          d           t                      t                      gd           d S )Nc                 F    t          j        t          |           |          S rN   )r-   eval_chebytr   rF   rG   s     r4   rT   z0TestSystematic.test_chebyt_int.<locals>.<lambda>      A22 r6   c                 2    t          j        | |fi t          S rN   )r   chebytr  r@  s     r4   rT   z0TestSystematic.test_chebyt_int.<locals>.<lambda>      &-1*H*H*H*H r6   r8   r2  r  r  s    r4   test_chebyt_intzTestSystematic.test_chebyt_int  K    22HHIIXXsuu		
 	
 	
 	
 	
 	
r6   Fz'some cases in hyp2f1 not fully accurate)runreasonc                 z    t          t          j        d t          dd          t                      gd           d S )Nc                 x      t                      t          t          j                            | |fi t          S rN   )r   r   r   rC  r  r@  s     r4   rT   z,TestSystematic.test_chebyt.<locals>.<lambda>  D      //    r6   e   '  r  )r   r-   r?  r   r  s    r4   test_chebytzTestSystematic.test_chebyt  sK    N  s^^SUU#	
 	
 	
 	
 	
 	
r6   c                 ~    t          d t          d           t                      t                      gd           d S )Nc                 F    t          j        t          |           |          S rN   )r-   eval_chebyur   r@  s     r4   rT   z0TestSystematic.test_chebyu_int.<locals>.<lambda>  rA  r6   c                 2    t          j        | |fi t          S rN   )r   chebyur  r@  s     r4   rT   z0TestSystematic.test_chebyu_int.<locals>.<lambda>  rD  r6   r8   r2  r  r  s    r4   test_chebyu_intzTestSystematic.test_chebyu_int  rF  r6   c                 v    t          t          j        d t          dd          t                      g           d S )Nc                 x      t                      t          t          j                            | |fi t          S rN   )r   r   r   rT  r  r@  s     r4   rT   z,TestSystematic.test_chebyu.<locals>.<lambda>  rK  r6   rL  rM  )r   r-   rR  r   r  s    r4   test_chebyuzTestSystematic.test_chebyu  sC    N  s^^SUU#	
 	
 	
 	
 	
r6   c                     d }t          |t          j        t                      g           t          |t          j        t	          g d          g           d S )Nc                 6    t          j        |           d         S r  r-   shichir   s    r4   chiz$TestSystematic.test_chi.<locals>.chi      9Q<<?"r6   gU@X   g   V@)r   r   r]  r   r   r  r]  s     r4   test_chizTestSystematic.test_chi  W    	# 	# 	#CceeW555Ch7Q7Q7Q.R.R-STTTTTr6   c                     d }t          |t          j        t          t	          t
          j         d          t	          t
          j        d                    gd           d S )Nc                 6    t          j        |           d         S r  r[  r@  s    r4   r]  z,TestSystematic.test_chi_complex.<locals>.chi  r^  r6   r  r  ra   r?   )r   r   r]  r   r)   r$   rt  ra  s     r4   test_chi_complexzTestSystematic.test_chi_complex  i    	# 	# 	# 	J..0D0DEEF		
 	
 	
 	
 	
 	
r6   c                 `    d }t          |t          j        t          dd          g           d S )Nc                 6    t          j        |           d         S r  r-   sicir   s    r4   ciz"TestSystematic.test_ci.<locals>.ci      71::a= r6   r  r  )r   r   rl  r   r  rl  s     r4   test_cizTestSystematic.test_ci  s8    	! 	! 	! 	B	CcNN+;<<<<<r6   c                     d }t          |t          j        t          t	          dt
          j                   t	          dt
          j                            gd           d S )Nc                 6    t          j        |           d         S r  rj  r@  s    r4   rl  z*TestSystematic.test_ci_complex.<locals>.ci  rm  r6   r  r  rr  r?   )r   r   rl  r   r)   r$   rt  rn  s     r4   test_ci_complexzTestSystematic.test_ci_complex  si    	! 	! 	! 	Irvg..RV0D0DEEF		
 	
 	
 	
 	
 	
r6   c                     t          j        t                    j        }t	          t
          t          j        t                      gdd|z             d S NFr   r  )	r$   rJ  rB   rK  r   r   r   rP  r   r  rK  s     r4   
test_cospizTestSystematic.test_cospi  s>    huoo!FFL355'%aPSeTTTTTTr6   c                 f    t          t          t          j        t	                      gdd           d S )NFr>   r  )r   r   r   rP  r   r  s    r4   test_cospi_complexz!TestSystematic.test_cospi_complex	  :    L\\N	
 	
 	
 	
 	
 	
r6   c                     t          t          j        t          t          j                  t                      gdd           d S )Nra   r8   r@   r   )r   r-   r"  r   r   r   r  s    r4   test_digammazTestSystematic.test_digamma  sD    JV^,,UUG	
 	
 	
 	
 	
 	
r6   c                     d }t          t          j        t          t          j                  t                      gdd|           d S )Nc                 |    t          j        | j        dk     t          j        | j                  dk     z  dd          S )Nr   gQ?FT)r$   whererQ   r   rh  r@  s    r4   param_filterz9TestSystematic.test_digamma_complex.<locals>.param_filter  s0    8QVaZBF16NNT,ABE4PPPr6   r>   r+  r@   r   r  )r   r-   r"  r   r   r   )r  r  s     r4   test_digamma_complexz#TestSystematic.test_digamma_complex  s[    	Q 	Q 	Q 	JV^,,\\N%	
 	
 	
 	
 	
 	
r6   c                 n    t          t          j        t          j        t                      gd           d S )Nr   r?   )r   r-   exp1r   e1r   r  s    r4   test_e1zTestSystematic.test_e1*  s9    GIUUG		
 	
 	
 	
 	
 	
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                                   d           t          t          j        t          j        t          j	        ddd          dz   d           d S )Nr  r  r&  r?   r8      r   r   r   =   r   r    irN  y                )r   r-   r  r   r  r   r)   r$   rt  r&   r   r%   r   r  s    r4   test_e1_complexzTestSystematic.test_e1_complex2  s   GI..0D0DEEF		
 	
 	
 	
 	GI[b#&&qqq$w/uQB2..RB1G1G0GGHKLMRUWW	
 	
 	
 	
 	GI[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               d S )Nc                 d    | dk    rt          j        |           | z  nt          j        d          S Nr   z1.0r   expm1mpfr   s    r4   rT   z,TestSystematic.test_exprel.<locals>.<lambda>M  *    166fl1ooa''vz%7H7H r6   r   c                 d    | dk    rt          j        |           | z  nt          j        d          S r  r  r   s    r4   rT   z,TestSystematic.test_exprel.<locals>.<lambda>S  r  r6   ra   gW:r   g   mBgyCxDr&  r?   )r   r-   exprelr   r$   r   rJ  r   r   r+   rt  r   isinfr  s    r4   test_exprelzTestSystematic.test_exprelJ  s    IHHBF28BJ//34446"(2:..2335 5 5 6	
 	
 	
 	IHHHeUAtT26:;;		
 	
 	
 	
 	26**++,,,	26'""a'(((((r6   c                     t          t          j        t          j        t	          t          t          j         d          t          t          j        d                    g           d S )N    c    cA)r   r-   r  r   r   r)   r$   rt  r  s    r4   test_expm1_complexz!TestSystematic.test_expm1_complexZ  sR    HL..0D0DEEF	
 	
 	
 	
 	
r6   c                 \    t          t          j        d t                      gd           d S )Nc                 0    t          j        | dz             S r  r   r   r   s    r4   rT   z3TestSystematic.test_log1p_complex.<locals>.<lambda>e  s    fj1oo r6   <   r2  )r   r-   log1pr   r  s    r4   test_log1p_complexz!TestSystematic.test_log1p_complexb  s:    H%%\\N		
 	
 	
 	
 	
 	
r6   c                 T    t          t          d t                      gdd           d S )Nc                 6    t          j        | dz             | z
  S r  r  r   s    r4   rT   z-TestSystematic.test_log1pmx.<locals>.<lambda>m  s    fjQ''!+ r6   r  r   )r   r@   )r   r   r   r  s    r4   test_log1pmxzTestSystematic.test_log1pmxj  s;    ++UUG	
 	
 	
 	
 	
 	
r6   c                 n    t          t          j        t          j        t                      gd           d S )Nr&  r?   )r   r-   r.   r   r*   r   r  s    r4   test_eizTestSystematic.test_eis  s)    BGVYeDDDDDDr6   c                     t          t          j        t          j        t          t          t          j         d          t          t          j        d                    gd           d S )Nr  r  r   r?   )	r   r-   r.   r   r*   r   r)   r$   rt  r  s    r4   test_ei_complexzTestSystematic.test_ei_complexv  sZ    GI..0D0DEEF		
 	
 	
 	
 	
 	
r6   c                 n    t          t          j        t          j        t	          d          g           d S )Nr   rx   )r   r-   elliper   r   r  s    r4   test_ellipezTestSystematic.test_ellipe  s(    BIv}sSzzzlCCCCCr6   c                     t          t          j        t          j        t          dd          t          d          g           d S )Nr  r  r   r  r   r-   	ellipeincr   r  r   r  s    r4   test_ellipeinczTestSystematic.test_ellipeinc  s4    BL&-#dC..#PS***9UVVVVVr6   c                     t          t          j        t          j        t                      t                      g           d S rN   r  r  s    r4   test_ellipeinc_largephiz&TestSystematic.test_ellipeinc_largephi  *    BL&-#%%HHHHHr6   c                     t          t          j        t          j        t          dd          t                      g           d S Nr  r  r   r-   	ellipkincr   ellipfr   r  s    r4   test_ellipfzTestSystematic.test_ellipf  s/    BL&-#dC..#%%9PQQQQQr6   c                     t          t          j        t          j        t                      t                      g           d S rN   r  r  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           d S )Nr   r  c                 0    t          j        d| z
            S r  )r   r_  )rY  s    r4   rT   z,TestSystematic.test_ellipk.<locals>.<lambda>  s    fmAE** r6   g        )ry   r   r2  )r   r-   r_  r   r   ellipkm1r  s    r4   test_ellipkzTestSystematic.test_ellipk  s^    BIv}sSzzzlCCCK**3ZZZL		
 	
 	
 	
 	
 	
r6   c                     d }t          t          j        |t          dd          t          d          gd           d S )Nc                 .    t          j        d| |          S r  r   ellippiphirY  s     r4   r  z0TestSystematic.test_ellipkinc.<locals>.ellipkinc      >!S!,,,r6   r  r  r   r  Tr  r   r-   r  r   r  r  s     r4   test_ellipkinczTestSystematic.test_ellipkinc  sU    	- 	- 	-Ls^^S3ZZZ( 		
 	
 	
 	
 	
 	
r6   c                 ~    d }t          t          j        |t                      t          d          gd           d S )Nc                 .    t          j        d| |          S r  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  sQ    	- 	- 	-LUUC#JJJ 		
 	
 	
 	
 	
 	
r6   c           	      r    d }t          d |t          dd          t          dd          gd	           d S )
Nc                 @    | dk    rdS t          j        d| |          S )Nr   snrW  r   r]  rW  s     r4   r  z+TestSystematic.test_ellipfun_sn.<locals>.sn  s'    AvvqtqA6666r6   c                 8    t          j        | |          d         S r  rU  rW  s     r4   rT   z1TestSystematic.test_ellipfun_sn.<locals>.<lambda>      1a+ r6       .    .Ar   r#   r   rr  r?   r  )r  r  s     r4   test_ellipfun_snzTestSystematic.test_ellipfun_sn  sZ    	7 	7 	7 	++s^^S1]]]+		
 	
 	
 	
 	
 	
r6   c           	      n    t          d d t          dd          t          dd          gd	           d S )
Nc                 8    t          j        | |          d         S r  rU  rW  s     r4   rT   z1TestSystematic.test_ellipfun_cn.<locals>.<lambda>  r  r6   c                 0    t          j        d| |          S )NcnrW  r  rW  s     r4   rT   z1TestSystematic.test_ellipfun_cn.<locals>.<lambda>      a888 r6   r  r  r   r#   r   rr  r?   r  r  s    r4   test_ellipfun_cnzTestSystematic.test_ellipfun_cn  L    ++88s^^S1]]]+		
 	
 	
 	
 	
 	
r6   c           	      n    t          d d t          dd          t          dd          gd	           d S )
Nc                 8    t          j        | |          d         S rT  rU  rW  s     r4   rT   z1TestSystematic.test_ellipfun_dn.<locals>.<lambda>  r  r6   c                 0    t          j        d| |          S r\  r  rW  s     r4   rT   z1TestSystematic.test_ellipfun_dn.<locals>.<lambda>  r  r6   r  r  r   r#   r   rr  r?   r  r  s    r4   test_ellipfun_dnzTestSystematic.test_ellipfun_dn  r  r6   c                 X    t          t          j        d t                      g           d S )Nc                 *    t          j        |           S rN   r   r   r@  s    r4   rT   z)TestSystematic.test_erf.<locals>.<lambda>      fjmm r6   )r   r-   r   r   r  s    r4   test_erfzTestSystematic.test_erf  s&    BF$;$;ceeWEEEEEr6   c                 \    t          t          j        d t                      gd           d S )Nc                 *    t          j        |           S rN   r  r@  s    r4   rT   z1TestSystematic.test_erf_complex.<locals>.<lambda>  r  r6   r;   r  )r   r-   r   r   r  s    r4   r   zTestSystematic.test_erf_complex  s+    BF$;$;jll^sSSSSSSr6   c                 v    t          t          j        t          d           t	                      gd           d S )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   r  s    r4   	test_erfczTestSystematic.test_erfc  sC    G5566UUG		
 	
 	
 	
 	
 	
r6   c                 v    t          t          j        t          d           t	                      gd           d S )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   r  s    r4   test_erfc_complexz TestSystematic.test_erfc_complex  sC    G5566\\N		
 	
 	
 	
 	
 	
r6   c                 n    t          t          j        t          j        t	                      gd           d S Nr;   r  )r   r-   erfir   r   r  s    r4   	test_erfizTestSystematic.test_erfi  s)    BGV[355'SAAAAAAr6   c                 n    t          t          j        t          j        t	                      gd           d S r  )r   r-   r  r   r   r  s    r4   test_erfi_complexz TestSystematic.test_erfi_complex  s)    BGV[:<<.CHHHHHHr6   c                 v    t          t          j        t          d           t	                      gd           d S )Nc                 *    t          j        |           S rN   )r   ncdfr@  s    r4   rT   z*TestSystematic.test_ndtr.<locals>.<lambda>  r  r6   r;   r  )r   r-   ndtrr   r   r  s    r4   	test_ndtrzTestSystematic.test_ndtr  sC    G5566UUG		
 	
 	
 	
 	
 	
r6   c                     t          t          j        d t          t	          dd          t	          dd                    gd           d S )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#    fk1"RWR[[.11"4 r6   rN  r   r   r  )r   r-   r  r   r)   r  s    r4   test_ndtr_complexz TestSystematic.test_ndtr_complex  sX    G44'&&11WUE5J5JKKKL		
 	
 	
 	
 	
 	
r6   c                 z    t          t          j        t          d           t	                      gddd           d S )Nc                 N    t          j        t          j        |                     S rN   )r   r   r  r@  s    r4   rT   z.TestSystematic.test_log_ndtr.<locals>.<lambda>  s    vz&+a..'A'A r6   iX  r)  r>   rF   r   r@   )r   r-   log_ndtrr   r   r  s    r4   test_log_ndtrzTestSystematic.test_log_ndtr  sF    KAABBUUGs%	
 	
 	
 	
 	
 	
r6   c                     t          t          j        t          d           t	          t          dd          t          dd                    gdd	           d S )
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-    vz&+qbn2M2Mb2P'Q'Q r6   r  rF  rN  r<   r   r;   r)  rF   r   )r   r-   r  r   r   r)   r  s    r4   test_log_ndtr_complexz$TestSystematic.test_log_ndtr_complex  sc    KQQRR'&$//75#3F3FGGGHs		
 	
 	
 	
 	
 	
r6   c                 `    t          d t          j        t          dd          gd           d S )Nc                 6    t          j        |           d         S )Nr}   )r-   eulerr  s    r4   rT   z.TestSystematic.test_eulernum.<locals>.<lambda>  s    bhqkk"o r6   r#   rN  r  )r   r   eulernumr   r  s    r4   test_eulernumzTestSystematic.test_eulernum
  sA    %%OAu		
 	
 	
 	
 	
 	
r6   c           	          t          t          j        t          j        t          dd          t          dt          j                  gdd           d S )Nr   r;   r>      r{  )	r   r-   rE   r   rC   r   r   r$   rt  r  s    r4   test_expintzTestSystematic.test_expint  sM    GMAs^^SBF^^,	
 	
 	
 	
 	
 	
r6   c                 \    d }t          |t          j        t                      g           d S )Nc                 6    t          j        |           d         S r  r-   fresnelr   s    r4   fresnelsz.TestSystematic.test_fresnels.<locals>.fresnels      :a==##r6   )r   r   r  r   )r  r  s     r4   test_fresnelszTestSystematic.test_fresnels  1    	$ 	$ 	$Hfow?????r6   c                 \    d }t          |t          j        t                      g           d S )Nc                 6    t          j        |           d         S r  r  r   s    r4   fresnelcz.TestSystematic.test_fresnelc.<locals>.fresnelc!  r  r6   )r   r   r  r   )r  r  s     r4   test_fresnelczTestSystematic.test_fresnelc   r  r6   c                     t          t          j        t          t          j                  t                      g           d S rN   )r   r-   gammar   r   r   r  s    r4   
test_gammazTestSystematic.test_gamma%  s-    BH&6v|&D&DsuugNNNNNr6   c                     t          t          j        t          t          j                  t                      gd           d S Nrs   r?   )r   r-   r  r   r   r   r  s    r4   test_gamma_complexz!TestSystematic.test_gamma_complex(  sA    HV\**\\N		
 	
 	
 	
 	
 	
r6   c           	          t          t          j        d t          ddd          t          dd          gdd           d S )Nc                 0    t          j        | |d          S )NTr4  r   r6  )r3   rx   s     r4   rT   z.TestSystematic.test_gammainc.<locals>.<lambda>4      aTBBB r6   r        @Finclusive_ar&  r  )r   r-   r6  r   r  s    r4   test_gammainczTestSystematic.test_gammainc0  sS    KBBCU+++SC[[9	
 	
 	
 	
 	
 	
r6   c           	          t          t          j        d t          ddd          t          dd          gdd           d S )Nc                 0    t          j        | |d          S )NT)ry   r5  r%  )r3   ry   s     r4   rT   z/TestSystematic.test_gammaincc.<locals>.<lambda>>  r&  r6   r   r'  Fr(  r&  r  )r   r-   	gammainccr   r  s    r4   test_gammaincczTestSystematic.test_gammaincc:  sS    LBBCU+++SC[[9	
 	
 	
 	
 	
 	
r6   c                 v    d }t          t          j        t          |          t	                      g           d S )Nc                 4    t          j        |           j        S rN   r   r  rQ   r@  s    r4   fz&TestSystematic.test_gammaln.<locals>.fF  s    ?1%%**r6   )r   r-   gammalnr   r   )r  r2  s     r4   test_gammalnzTestSystematic.test_gammalnD  s<    	+ 	+ 	+ 	BJ(8(;(;ceeWEEEEEr6   )rG  c                     t          t          j        t          t          j                  t          dd          t                      t                      g           d S r  )r   r-   eval_gegenbauerr   r   
gegenbauerr   r  s    r4   test_gegenbauerzTestSystematic.test_gegenbauerK  sL    V.//s^^SUUCEE*	
 	
 	
 	
 	
r6   c                 l   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           d S )Nc                 2   t          |          dk    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    rdt          j        | |t          j        d          z   |          }t          |          t          j        d          k     rt          j        d          }t          |          d	k    rt          j        S |S )
Nr  r   r   r#   r   r}   z1e-50z0.0\4@Iw)	r   r$   r  r   r7  rB   r   r  rt  rF   ry   rG   r1   s       r4   r7  z6TestSystematic.test_gegenbauer_int.<locals>.gegenbauerU  s     1vv~~v AvvaaCE%aA.. Qxx1}}RE!HHE!HH,E,E%aVZ-@-@)@!DDq66FJw////
5))A 1vv~~vHr6   c                     t          j        t          |           ||          }t          |          dk    rt          j        S |S )Nr;  )r-   r6  r   r   r$   rt  r<  s       r4   sc_gegenbauerz9TestSystematic.test_gegenbauer_int.<locals>.sc_gegenbauerp  s7    "3q661a00A1vv~~vHr6   r   r<   g    eg    eAi@  Tr   )rF   r   r   r@   r*  r   r%  )r   r   r   r   r   r$   r%   )r  r7  r>  s      r4   test_gegenbauer_intz"TestSystematic.test_gegenbauer_intS  s    	 	 	6	 	 	 	Z((As^^Ss^^SUU3d		
 	
 	
 	
 	Z((As^^SUUHR[b"-E-E$F$FGT		
 	
 	
 	
 	
 	
r6   c                     t          d t          t          j                  t	          dd          t                      t                      g           d S )Nc                 R    t          j        t          |           |j        |          S rN   )r-   r6  r   rQ   rF   ry   rG   s      r4   rT   z8TestSystematic.test_gegenbauer_complex.<locals>.<lambda>  s    B.s1vvqvqAA r6   r   r<   )r   r   r   r7  r   r   r   r  s    r4   test_gegenbauer_complexz&TestSystematic.test_gegenbauer_complex  sL    AAV.//As^^SUUJLL1	
 	
 	
 	
 	
r6   c                     t          d t          t          j                  t	          dd          t	                      t                      g           d S )Nc                 B    t          j        | j        |j        |          S rN   )r-   r6  rQ   rC  s      r4   rT   z@TestSystematic.test_gegenbauer_complex_general.<locals>.<lambda>  s    B.qvqvqAA r6   r  r  )r   r   r   r7  r   r   r  s    r4   test_gegenbauer_complex_generalz.TestSystematic.test_gegenbauer_complex_general  sL    AAV.//s^^SUUJLL1	
 	
 	
 	
 	
r6   c                     t          t          j        t          d           t	          dd          t	                      g           d S )Nc                 2    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-   rJ  r   r   r  s    r4   test_hankel1zTestSystematic.test_hankel1  H    JIIJJsuu%	
 	
 	
 	
 	
r6   c                     t          t          j        t          d           t	          dd          t	                      g           d S )Nc                 2    t          j        | |fi t          S rN   )r   hankel2r  rK  s     r4   rT   z-TestSystematic.test_hankel2.<locals>.<lambda>  r  r6   rL  rM  )r   r-   rR  r   r   r  s    r4   test_hankel2zTestSystematic.test_hankel2  rO  r6   z%issues at intermediately large ordersc                     t          d t          t          j                  t	          dd          t                      g           d S )Nc                 F    t          j        t          |           |          S rN   )r-   eval_hermiter   r@  s     r4   rT   z-TestSystematic.test_hermite.<locals>.<lambda>      Q33 r6   r   rN  )r   r   r   hermiter   r   r  s    r4   test_hermitezTestSystematic.test_hermite  sG    33V^,,Ausuu%	
 	
 	
 	
 	
r6   c           	          t          dd          t          t          j        fdt	          dd          t	          dd          gd	
           d S )Nr   i  r  c                 *    t          j        | |fi S rN   r^   )ry   rG   KWs     r4   rT   z,TestSystematic.test_hyp0f1.<locals>.<lambda>  s    q!22r22 r6   r  r  r   g     j@r  r  )r   r   r-   rP   r   )r  r\  s    @r4   test_hyp0f1zTestSystematic.test_hyp0f1  sb    #---I2222s^^SC[[)		
 	
 	
 	
 	
 	
r6   c                     t          d t          d           t          dd          t          t	          dd          t	          dd                    g           d S )Nc                 6    t          j        | j        |          S rN   rO   )ry   r3   s     r4   rT   z4TestSystematic.test_hyp0f1_complex.<locals>.<lambda>  s    161-- r6   c                 2    t          j        | |fi t          S rN   )r   rP   r  ry   rG   s     r4   rT   z4TestSystematic.test_hyp0f1_complex.<locals>.<lambda>  rD  r6   r   r   irL   )r   r   r   r   r)   r  s    r4   test_hyp0f1_complexz"TestSystematic.test_hyp0f1_complex  sa    --HHIIb\\:gdD&9&973;L;LMMN	
 	
 	
 	
 	
r6   c           
          d }t          t          j        |t          dd          t          ddd          t          dd          gdd           d S )	Nc                 h    	 t          j        | ||          S # t          $ r t          j        cY S w xY wrN   )r   hyp1f1ZeroDivisionErrorr$   rt  r-  s      r4   mpmath_hyp1f1z1TestSystematic.test_hyp1f1.<locals>.mpmath_hyp1f1  sA    }Q1---$   vs    11r  r8   r#   Fr(  r   )rF   r  )r   r-   re  r   )r  rg  s     r4   test_hyp1f1zTestSystematic.test_hyp1f1  sk    	 	 	 	Ib\\3q"%888#c2,,G	
 	
 	
 	
 	
 	
r6   c           	          t          t          d           t          d           t          dd          t          dd          t	                      gd           d S )Nc                 B    t          j        | j        |j        |          S rN   )r-   re  rQ   r-  s      r4   rT   z4TestSystematic.test_hyp1f1_complex.<locals>.<lambda>  s    ry'C'C r6   c                 4    t          j        | ||fi t          S rN   )r   re  r  r-  s      r4   rT   z4TestSystematic.test_hyp1f1_complex.<locals>.<lambda>      V]1a-N-Ng-N-N r6   r  r  i  r  )r   r   r   r   r   r  s    r4   test_hyp1f1_complexz"TestSystematic.test_hyp1f1_complex  sb    CCDDNNOOs^^Ss^^Z\\:		
 	
 	
 	
 	
 	
r6   c           
          t          d t          d           t          dd          t          dd          t          dd          t                      gd           d S )Nc                 N    t          j        | j        |j        |j        |          S rN   )r-   r   rQ   ry   rx   r   rG   s       r4   rT   z4TestSystematic.test_hyp2f1_complex.<locals>.<lambda>  s    ryCC r6   c                 6    t          j        | |||fi t          S rN   )r   r   r  rp  s       r4   rT   z4TestSystematic.test_hyp2f1_complex.<locals>.<lambda>      aAq0T0TG0T0T r6   g      Yg      Y@r   r  r  r  s    r4   test_hyp2f1_complexz"TestSystematic.test_hyp2f1_complex  se     	CCTTUUs^^Ss^^Ss^^Z\\J		
 	
 	
 	
 	
 	
r6   c                     t          t          j        t          d           t	                      t	                      t	                      g           d S )Nc                 4    t          j        | ||fi t          S rN   )r   rw   r  r-  s      r4   rT   z,TestSystematic.test_hyperu.<locals>.<lambda>  rl  r6   )r   r-   rw   r   r   r  s    r4   test_hyperuzTestSystematic.test_hyperu  sH    INNOOUUCEE355!	
 	
 	
 	
 	
r6   z:mpmath issue gh-342: unsupported operand mpz, long for powc           	      |    d }t          t          |t          ddd          t          dd          gd           d S )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  s0    <1%%fj!nn4V\!__DDr6   r   g  ļBFr(  r   r?   )r   r   r   )r  rz  s     r4   test_igam_faczTestSystematic.test_igam_fac  s_    	E 	E 	E 	De,,,c!Tll;		
 	
 	
 	
 	
 	
r6   c                     t          t          j        t          j        t	          dd          g           t          t          j        t          j        t	          dd          gd           d S Nr  r  r  r  r  r?   )r   r-   j0r   r   r  s    r4   test_j0zTestSystematic.test_j0  sQ     	BE69s4~~.>???BE69s4~~.>TJJJJJJr6   c                     t          t          j        t          j        t	          dd          g           t          t          j        t          j        t	          dd          gd           d S r}  )r   r-   j1r   r   r  s    r4   test_j1zTestSystematic.test_j1  sO    BE69s4~~.>???BE69s4~~.>TJJJJJJr6   c           	      h   t          t          j        t          d           t	                      t	                      t	                      t	                      g           t          d t          d           t                      t	                      t	                      t	                      g           d S )Nc                 6    t          j        | |||fi t          S rN   r   jacobir  rp  s       r4   rT   z,TestSystematic.test_jacobi.<locals>.<lambda>  rr  r6   c                 J    t          j        t          |           |||          S rN   r-   eval_jacobir   )rF   rx   r   rG   s       r4   rT   z,TestSystematic.test_jacobi.<locals>.<lambda>      r~c!ffaA>> r6   c                 6    t          j        | |||fi t          S rN   r  rp  s       r4   rT   z,TestSystematic.test_jacobi.<locals>.<lambda>  rr  r6   )r   r-   r  r   r   r   r  s    r4   test_jacobizTestSystematic.test_jacobi  s    NTTUUUUCEE355#%%(	
 	
 	

 	>>TTUUXXsuuceeSUU+	
 	
 	
 	
 	
r6   c           	          d t          d fdt                      t                      t                      t                      gdd           d S )Nc                 @    | dk    rdS t          j        | |||          S )Nr   r   )r   r  rF   ry   rx   rG   s       r4   r  z.TestSystematic.test_jacobi_int.<locals>.jacobi  s&    Avvs=Aq!,,,r6   c                 J    t          j        t          |           |||          S rN   r  r  s       r4   rT   z0TestSystematic.test_jacobi_int.<locals>.<lambda>   r  r6   c                 @     t                    | |||fi t          S rN   )r   r  )rF   ry   rx   rG   r  s       r4   rT   z0TestSystematic.test_jacobi_int.<locals>.<lambda>!  s)    7/771aNNgNN r6    N  r8   r  r   r   r   )r  r  s    @r4   test_jacobi_intzTestSystematic.test_jacobi_int  si    	- 	- 	-
 	>>NNNNXXsuuceeSUU+	
 	
 	
 	
 	
 	
r6   c                 d    d }t          t          j        |t          dd          gd           d S )Nc                 p    | dk    rt            dz  S  t          t          j                  d| fi t          S )Nr   r:   )r   r   r   keir  r   s    r4   r  z$TestSystematic.test_kei.<locals>.kei(  s;    Avvs1u/#FJ//1@@@@@r6   ꌠ9Y>)ꌠ9Y>)Fr  r  )r   r-   r  r   )r  r  s     r4   test_keizTestSystematic.test_kei'  sB    	A 	A 	A
 	BFC#eT*:*:);tDDDDDDr6   c                 z    t          t          j        t          d           t	          dd          gd           d S )Nc                 2    t          j        d| fi t          S r  )r   kerr  r   s    r4   rT   z)TestSystematic.test_ker.<locals>.<lambda>2  s    vz!Q'B'B''B'B r6   r  r  r  r  )r   r-   r  r   r   r  s    r4   test_kerzTestSystematic.test_ker/  sJ    FBBCC		
 	
 	
 	
 	
 	
r6   c                     t          t          t          j                  d t	                      t	                      g           d S )Nc                 N     t          t          j                  | |fi t          S rN   r   r   laguerrer  r@  s     r4   rT   z.TestSystematic.test_laguerre.<locals>.<lambda>;  &    :)&/::1aKK7KK r6   )r   r   r-   eval_laguerrer   r  s    r4   test_laguerrezTestSystematic.test_laguerre7  sA    r'((KKUUCEEN	
 	
 	
 	
 	
r6   c                 d    t          d d t                      t                      gd           d S )Nc                 F    t          j        t          |           |          S rN   )r-   r  r   r@  s     r4   rT   z2TestSystematic.test_laguerre_int.<locals>.<lambda>A      )#a&&!44 r6   c                 N     t          t          j                  | |fi t          S rN   r  r@  s     r4   rT   z2TestSystematic.test_laguerre_int.<locals>.<lambda>B  r  r6   r  r  r  r  s    r4   test_laguerre_intz TestSystematic.test_laguerre_int?  sB    44KKXXsuu		
 	
 	
 	
 	
 	
r6   zsee gh-3551 for bad pointsc           	          t          d d t          t          j         t          j                  t	          dd          gdd           d S )Nc                 P    t          j        | t          |j                            S rN   )r-   ri  r   rQ   rG   r8  s     r4   rT   z3TestSystematic.test_lambertw_real.<locals>.<lambda>J  s    QAF44 r6   c                 P    t          j        | t          |j                            S rN   )r   ri  r   rQ   r  s     r4   rT   z3TestSystematic.test_lambertw_real.<locals>.<lambda>K  s    CKK88 r6   r   r   r>   Fr@   r  )r   r   r$   rt  r   r  s    r4   test_lambertw_realz!TestSystematic.test_lambertw_realG  sT    4488((&B--8u		
 	
 	
 	
 	
 	
r6   c           	          d}t          j        d          dfd}t          |t          j        t          d|d          gd	           d S )
NgGase@r#   g  E@c                     t          j        d          5  | z   dz
  z  | dz
  z  }|t           j        k    r|t          |           z  }n+| z   dz
  z  d| dz
  z  z  }|t          |           z  }||z  }d d d            n# 1 swxY w Y   |S )Nr   )overrK   )r$   r   rt  r   )rG   facrW   egs      r4   r  z:TestSystematic.test_lanczos_sum_expg_scaled.<locals>.gammaU  s    (+++  AQ!c'2"&==6q999CCECK?c1s7m<C6q999C3JC               Js   A BB
Br   Fr(  r>   r?   )r$   r'   r   r   r  r   )r  maxgammar  r  r  s      @@r4   test_lanczos_sum_expg_scaledz+TestSystematic.test_lanczos_sum_expg_scaledP  s|    &F1II)		 		 		 		 		 		 	LH%0001		
 	
 	
 	
 	
 	
r6   c                     t          t          j        t          j        t                      t                      g           d S rN   )r   r-   eval_legendrer   legendrer   r  s    r4   test_legendrezTestSystematic.test_legendreg  s+    B,fosuu~NNNNNr6   c                     t          d d t                      t                      gd           t          d d t                      t          t	          j        ddd	                    g           d S )
Nc                 F    t          j        t          |           |          S rN   r-   r  r   r@  s     r4   rT   z2TestSystematic.test_legendre_int.<locals>.<lambda>m  r  r6   c                 N     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   r  r  c                 F    t          j        t          |           |          S rN   r  r@  s     r4   rT   z2TestSystematic.test_legendre_int.<locals>.<lambda>u  r  r6   c                 N     t          t          j                  | |fi t          S rN   r  r@  s     r4   rT   z2TestSystematic.test_legendre_int.<locals>.<lambda>v  r  r6   r*  r?  rj   )r   r   r   r   r$   r%   r  s    r4   test_legendre_intz TestSystematic.test_legendre_intk  s    44KKXXsuu		
 	
 	
 	
 	44KKXXxCR 8 89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	           d S )
Nc                     	 t          j        || |          d         d         }n# t          $ r t          j        cY S w xY wt          |          dk    r&t          j        t          j        |j                  z  }|S )Nr   r}   r}   )#v)	r-   lpmn
ValueErrorr$   r  r   rt  r  rQ   rF   rY  r3   rS   s       r4   lpnmz(TestSystematic.test_legenp.<locals>.lpnm{  sv    GAq!$$Q'.   v1vv~~FRWQV__,Hs   "% >>c                     t          j        || |          }t          |          dk    r&t          j        t          j        |j                  z  }|S )Nr  )r-   r   r   r$   rt  r  rQ   r  s       r4   lpnm_2z*TestSystematic.test_legenp.<locals>.lpnm_2  s?    1a  A1vv~~FRWQV__,Hr6   c                    |dk    s|dk    rNt          |           | k    r;|dk    r3| dk     r|  dz
  } t          j        t          j        |          |           S dS t	          |          dk     rt
          j        S t	          |          dk     rdnd} t          t          j                  | |||          }t	          |          dk    r&t          j	        t          j        |j
                  z  }|S )	Nr#   r}   r   rr   r   rq   typer  )r   r   ry  r  r   r$   r  r   r   rt  rQ   )rF   rY  r3   typrS   s        r4   r   z*TestSystematic.test_legenp.<locals>.legenp  s    Q!r''s1vv{{ 661uuBF!<A:::11vv~~v1vvzz!!qC/ //1acBBBA1vv~~JQV!4!44Hr6   rF  r<   r}   r#   r   r  r  )r  r  r  r   s       r4   test_legenpzTestSystematic.test_legenpz  s    	 	 		 	 		 	 	0 	D&6$+<+<fT3>O>OQTQVQV*WXXXD#D#B

;		
 	
 	
 	
 	
 	
r6   c           	      J   d }d }t          j        g d          }t          j        g d          }|d d d f         d|d d d f         z  z                                   }t          ||t	          g d          t	          g d          t	          |          gdd	           d S )
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   rY  r3   s      r4   clpnmz3TestSystematic.test_legenp_complex_2.<locals>.clpnm  T    x:::1=eDD   v   -0 A	A	c                     t          |          dk     rt          j        S  t          t          j                  t          | j                  t          |j                  |d          S Nrr   r   r  r   r$   r  r   r   r   r   rQ   r  s      r4   r   z4TestSystematic.test_legenp_complex_2.<locals>.legenp  M    1vv~~v2#FM223qv;;AFQUVWWWWr6   	r   r   rJ   r   r  rK   r   rj   g     @@r  rJ   rK   g?r    r   r}   r   r#   r   r   r   r   r  r$   r+   r   r   r   r  r  r   rG   rV   r3   s         r4   test_legenp_complex_2z$TestSystematic.test_legenp_complex_2      	 	 		X 	X 	X HCCCDDH+++,,qqqvYAd111fI%,,..+++,,+++,,a[[ 	
 	
 	
 	
 	
 	
r6   c           	      J   d }d }t          j        g d          }t          j        g d          }|d d d f         d|d d d f         z  z                                   }t          ||t	          g d          t	          g d          t	          |          gdd	           d S )
Nc                     	 t          j        |j        | j        |d          d         d         S # t          $ r t          j        cY S w xY w)Nrq   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 )Nrr   rq   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           	          d }d }t          ||t          dd          t          dd          t                      g           d S )Nc                 F    t          j        || |          d         d         S Nr   r  )r-   lqmnr  s      r4   lqnmz(TestSystematic.test_legenq.<locals>.lqnm  s     71a##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  s<    1vv~~v2#FM221aCCCCr6   r   r<   r  r  r  r  s      r4   test_legenqzTestSystematic.test_legenq  se    	. 	. 	.	D 	D 	D 	As^^VAs^^SUU3	
 	
 	
 	
 	
r6   c           	          d }d }t          ||t          dd          t          dd          t                      gd           d S )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  s0    73qv;;AFQ7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  sp    	B 	B 	B	X 	X 	X 	As^^VAs^^Z\\:		
 	
 	
 	
 	
 	
r6   c                 `    d }d }t          t          |t                      gdd|           d S )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,    8RXa[[A-!q&95$GGGr6   c                 :    t          j        d| z             j        S r  r1  r@  s    r4   	mp_lgam1pz-TestSystematic.test_lgam1p.<locals>.mp_lgam1p  s    ?1q5))..r6   r>   r<   r  )r   r   r   )r  r  r  s      r4   test_lgam1pzTestSystematic.test_lgam1p  s^    	H 	H 	H	/ 	/ 	/ 	UUG%	
 	
 	
 	
 	
 	
r6   c                 d    d }t          t          j        |t                      gddd           d S )Nc                     	 t          j        |           }n4# t          $ r' t          t          j        t          j                  }Y nw xY w|S rN   )r   r  r  r)   r$   r  )r3   rW   s     r4   mpmath_loggammaz5TestSystematic.test_loggamma.<locals>.mpmath_loggamma  sO    .oa(( . . .bfbf--.Js    .AAFr	  )r  distinguish_nan_and_infr@   )r   r-   r  r   )r  r   s     r4   test_loggammazTestSystematic.test_loggamma  sN    	 	 	 	K\\N$)	
 	
 	
 	
 	
 	
r6   c                 ~    d }t          |t          d           t                      t                      g           d S )Nc                 8    t          j        | |          d         S r  )r-   pbdvrK  s     r4   pcfdz&TestSystematic.test_pcfd.<locals>.pcfd-      71a==##r6   c                 2    t          j        | |fi t          S rN   )r   r  r  rK  s     r4   rT   z*TestSystematic.test_pcfd.<locals>.<lambda>1  s    &+a*F*Fg*F*F r6   )r   r   r   )r  r  s     r4   	test_pcfdzTestSystematic.test_pcfd+  sN    	$ 	$ 	$FFGGUUCEEN	
 	
 	
 	
 	
r6   zHit's not the same as the mpmath function --- maybe different definition?c                 h    d }t          |d t                      t                      gd           d S )Nc                 8    t          j        | |          d         S r  )r-   pbvvrK  s     r4   pcfvz&TestSystematic.test_pcfv.<locals>.pcfv8  r  r6   c                 x      t                      t          t          j                            | |fi t          S rN   )r   r   r   r  r  rK  s     r4   rT   z*TestSystematic.test_pcfv.<locals>.<lambda><  s4    F(8(E(EFFq!WWwWW r6   r  r  r  )r  r  s     r4   	test_pcfvzTestSystematic.test_pcfv5  sM    	$ 	$ 	$WWUUCEEN		
 	
 	
 	
 	
 	
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           d S )
Nc                 8    t          j        | |          d         S r  r-   pbwara  s     r4   pcfwz&TestSystematic.test_pcfw.<locals>.pcfwB  r  r6   c                 8    t          j        | |          d         S r  r  ra  s     r4   dpcfwz'TestSystematic.test_pcfw.<locals>.dpcfwE  r  r6   c                 F    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   rh   ri   g:0yU>r<   r  g&.!>)r   r   r  r   )r  r  r  r  s       r4   	test_pcfwzTestSystematic.test_pcfwA  s    	$ 	$ 	$	$ 	$ 	$	< 	< 	<
 	KQZZR$	
 	
 	
 	
 	QZZ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           d S )Nr   r  )r   r-   	polygammar   r   r   r   r   r  s    r4   test_polygammazTestSystematic.test_polygamma]  sV     	LLNN+F,<==>>At__cee$	
 	
 	
 	
 	
r6   c                     t          t          j        t          j        t	          dt
          j                  gddd           d S )Nir  FT)rF   r  r   )r   r-   r  r   r   r$   rt  r  s    r4   test_rgammazTestSystematic.test_rgammag  sH    IM  	
 	
 	
 	
 	
 	
r6   c                     t          t          j        t          t          j                  t                      gd           d S r!  )r   r-   r  r   r   r   r  s    r4   test_rgamma_complexz"TestSystematic.test_rgamma_complexq  sA    IV]++\\N		
 	
 	
 	
 	
 	
r6   zNsee gh-3551 for bad points on 32 bit systems and gh-8095 for another bad point)rH  c                     t          j        t          j                  t          j        d          k    rt          j        }nd }t          t          j        |t                      t                      gd           d S )Nr{   c                     t          | |z             t          | |z             k    r?t          | |z             dk    r)t          j        |           } t          | |z             | z
  }t          j        | |          S r  )rB   r   r   r  rf)ry   rY  s     r4   mppochz&TestSystematic.test_rf.<locals>.mppoch  sg     Q<<3q1u::--%A,,!2C2C
1AAE

QAyA&r6   r   r2  )
r   parser   r   Versionr$  r   r-   pochr   )r  r%  s     r4   test_rfzTestSystematic.test_rfy  sk     =+,,0H0HHHYFF' ' ' 	BGVceeSUU^EEEEEEr6   c                     t          j        t                    j        }t	          t
          t          j        t                      gdd|z             d S rt  )	r$   rJ  rB   rK  r   r   r   rH  r   ru  s     r4   
test_sinpizTestSystematic.test_sinpi  sN    huoo!LUUG3	
 	
 	
 	
 	
 	
r6   c                 f    t          t          t          j        t	                      gdd           d S )NFg+=r  )r   r   r   rH  r   r  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           d S )Nc                 6    t          j        |           d         S r  r[  r   s    r4   shiz$TestSystematic.test_shi.<locals>.shi  r^  r6   r_  )r   r   r0  r   r   r  r0  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           d S )Nc                 6    t          j        |           d         S r  r[  r@  s    r4   r0  z,TestSystematic.test_shi_complex.<locals>.shi  r^  r6   r  r  ra   r?   )r   r   r0  r   r)   r$   rt  r1  s     r4   test_shi_complexzTestSystematic.test_shi_complex  rg  r6   c                 \    d }t          |t          j        t                      g           d S )Nc                 6    t          j        |           d         S r  rj  r   s    r4   siz"TestSystematic.test_si.<locals>.si  rm  r6   )r   r   r8  r   r  r8  s     r4   test_sizTestSystematic.test_si  s1    	! 	! 	!B	CEE733333r6   c                     d }t          |t          j        t          t	          dt
          j                   t	          dt
          j                            gd           d S )Nc                 6    t          j        |           d         S r  rj  r@  s    r4   r8  z*TestSystematic.test_si_complex.<locals>.si  rm  r6   r  r  ra   r?   )r   r   r8  r   r)   r$   rt  r9  s     r4   test_si_complexzTestSystematic.test_si_complex  si    	! 	! 	! 	Irvg..RV0D0DEEF		
 	
 	
 	
 	
 	
r6   c                     d }t          t          j        t          |          t	          dt
          j                  gd           d S )Nc                 2    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-   rA  r   r   r$   rt  r  rA  s     r4   test_spencezTestSystematic.test_spence  sW    	, 	, 	, 	IU##BF^^		
 	
 	
 	
 	
 	
r6   c                 z    d }t          t          j        t          |          t	                      gd           d S )Nc                 2    t          j        dd| z
            S r>  r@  r@  s    r4   rA  z1TestSystematic.test_spence_complex.<locals>.dilog  rB  r6   r   r?   )r   r-   rA  r   r   rC  s     r4   test_spence_complexz"TestSystematic.test_spence_complex  sN    	, 	, 	,I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	           d S )
Nc                 T    || k    rt           j        S t          j        || ||          S rN   )r$   r  r-   sph_harm)lrY  r  r  s       r4   	spherharmz0TestSystematic.test_spherharm.<locals>.spherharm  s(    1uuv;q!S%000r6   r   r<   r   r   rr  ip  rZ   )ru   rF   r   )r   r   rL  r   r   r   )r  rL  s     r4   test_spherharmzTestSystematic.test_spherharm  s}    	1 	1 	1 	As^^VAs^^S1^^^S1"=M=M=MN	
 	
 	
 	
 	
 	
r6   c           	          t          t          j        t          t          j                  t          dd          t          dd          gd           d S )N     r'  r   &.>r?   )r   r-   struver   r   struvehr   r  s    r4   test_struvehzTestSystematic.test_struveh  sP    IV^,,s^^SC[[)		
 	
 	
 	
 	
 	
r6   c           	          d }t          t          j        t          |          t	          dd          t	          dd          gdd           d S )Nc                 *   | dk     ry||  k     rrt          |           dk    r_t          j        j        }	 dt          j        _        t          j        | |          |t          j        _        S # |t          j        _        w xY wt          j        | |          S )Nr   r  r)  )r   r   r   r   struvel)rS   r3   r   s      r4   
mp_struvelz/TestSystematic.test_struvel.<locals>.mp_struvel  s{    1uuaRCFFTMM )-,$'FIM!>!Q//$+FIMMGFIM++++>!Q'''s   %A* *A=rO  r'  r   rP  Tr   )r   r-   	modstruver   r   )r  rW  s     r4   test_struvelzTestSystematic.test_struvel  sb    		( 		( 		( 	LZ((s^^SC[[) 	
 	
 	
 	
 	
 	
r6   c                 h    d }t          t          j        |t          dd          gddd           d S )Nc                 t    t          j        t          j        |           t          j        d                    S )Nz-0.5)r   ri  r'   r  r   s    r4   mpmath_wrightomega_realzETestSystematic.test_wrightomega_real.<locals>.mpmath_wrightomega_real  s&    ?6:a==&*V2D2DEEEr6   r   gPKDg+<r   F)r@   ru   r  )r   r-   rw  r   )r  r\  s     r4   test_wrightomega_realz$TestSystematic.test_wrightomega_real  sX    	F 	F 	F 	N#	
 	
 	
 	
 	
 	
r6   c                 ^    t          t          j        d t                      gdd           d S )Nc                 "    t          | d          S )Nrm  )rk  r@  s    r4   rT   z1TestSystematic.test_wrightomega.<locals>.<lambda>  s    )!R00 r6   r   Fr  )r   r-   rw  r   r  s    r4   test_wrightomegazTestSystematic.test_wrightomega  s=    N00\\N	
 	
 	
 	
 	
 	
r6   c           	          t          t          j        t          t          j                  t          ddd          t          dd          g           d S )Nr#       _BF)ry   rx   r)  r   ry   r)  )r   r-   zetar   r   r   r  s    r4   test_hurwitz_zetaz TestSystematic.test_hurwitz_zeta  sT    GV[))1%000#u2M2M2MN	
 	
 	
 	
 	
r6   c                 b    t          t          j        d t          dd          gdd           d S )Nc                 N    | dk    rt          j        |           nt           j        S r  r   rd  rt  r   s    r4   rT   z2TestSystematic.test_riemann_zeta.<locals>.<lambda>$  s    Qfk!nnnFJ r6   rF  r<   Frs   r  )r   r-   rd  r   r  s    r4   test_riemann_zetaz TestSystematic.test_riemann_zeta!  sB    G>>s^^	
 	
 	
 	
 	
 	
r6   c                 d    t          t          j        d t          dd          gddd           d S )Nc                 T    | dk    rt          j        |           dz
  nt           j        S r  rh  r   s    r4   rT   z+TestSystematic.test_zetac.<locals>.<lambda>-  s"    AFFfk!nnq((
 r6   rF  r<   F-   rs   )r  r   r@   )r   r-   zetacr   r  s    r4   
test_zetaczTestSystematic.test_zetac*  sE    HBBs^^	
 	
 	
 	
 	
 	
r6   c                     d }t          t          j        t          |          t	          dd          t	                      gddd           d S )	Nc                    t           j                            |           } t           j                            |          }|dk    rt           j                            |           S t           j                            | |          |z  S r  r   r   r  r   powm1)rG   lmbdas     r4   	mp_boxcoxz-TestSystematic.test_boxcox.<locals>.mp_boxcox6  s`    	a  AIMM%((Ezzy}}Q'''yq%00588r6   r   Frc  r;   r  r>   r  )r   r-   boxcoxr   r   )r  rt  s     r4   test_boxcoxzTestSystematic.test_boxcox4  sf    	9 	9 	9 	IY''1%(((#%%0	
 	
 	
 	
 	
 	
r6   c                     d }t          t          j        t          |          t	          dd          t	                      gddd           d S )	Nc                 X   t           j                            |           } t           j                            |          }t           j                            d          }|dk    r"t           j                            || z             S t           j                            || z   |          |z  S r   rq  )rG   rs  ones      r4   mp_boxcox1pz1TestSystematic.test_boxcox1p.<locals>.mp_boxcox1pI  s{    	a  AIMM%((E)--""Czzy}}S1W---ysQw66>>r6   r}   Frc  r;   r  r>   r  )r   r-   boxcox1pr   r   )r  rz  s     r4   test_boxcox1pzTestSystematic.test_boxcox1pG  sf    	? 	? 	? 	K[))25)))3551	
 	
 	
 	
 	
 	
r6   c           	          d }t          d t          |          t          dd          t          dd          gd           d S )	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  r  r  r   rh  rQ   rF   r3   argouts       r4   mp_spherical_jnz9TestSystematic.test_spherical_jn.<locals>.mp_spherical_jn\  g    "1%%C>!fjmmAo"5s;;;quVY//0Cx1}}x
r6   c                 F    t          j        t          |           |          S rN   )r-   spherical_jnr   rF   r3   s     r4   rT   z2TestSystematic.test_spherical_jn.<locals>.<lambda>f  rW  r6   r   r;   r  r  r)  r2  r  r  r  s     r4   test_spherical_jnz TestSystematic.test_spherical_jn[  s`    	 	 	 	33_--As^^Ss^^,		
 	
 	
 	
 	
 	
r6   c                     d }t          d t          |          t          dd          t                      g           d S )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  r  s       r4   r  zATestSystematic.test_spherical_jn_complex.<locals>.mp_spherical_jnm  r  r6   c                 P    t          j        t          | j                  |          S rN   )r-   r  r   rQ   r  s     r4   rT   z:TestSystematic.test_spherical_jn_complex.<locals>.<lambda>w      QVa88 r6   r   r;   r   r   r   r   r  s     r4   test_spherical_jn_complexz(TestSystematic.test_spherical_jn_complexl  T    	 	 	 	88_--As^^Z\\*	
 	
 	
 	
 	
r6   c           	          d }t          d t          |          t          dd          t          dd          gd           d S )	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   r  r  r  r  r   rh  rQ   r  s       r4   mp_spherical_ynz9TestSystematic.test_spherical_yn.<locals>.mp_spherical_yn}  r  r6   c                 F    t          j        t          |           |          S rN   )r-   spherical_ynr   r  s     r4   rT   z2TestSystematic.test_spherical_yn.<locals>.<lambda>  rW  r6   r   r;   g    _rb  r<   r2  r  r  r  s     r4   test_spherical_ynz TestSystematic.test_spherical_yn|  sb    	 	 	 	33_--As^^S--.		
 	
 	
 	
 	
 	
r6   c                     d }t          d t          |          t          dd          t                      g           d S )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  r  s       r4   r  zATestSystematic.test_spherical_yn_complex.<locals>.mp_spherical_yn  r  r6   c                 P    t          j        t          | j                  |          S rN   )r-   r  r   rQ   r  s     r4   rT   z:TestSystematic.test_spherical_yn_complex.<locals>.<lambda>  r  r6   r   r;   r  r  s     r4   test_spherical_yn_complexz(TestSystematic.test_spherical_yn_complex  r  r6   c                     d }t          d t          |          t          dd          t                      gdd           d S )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   r  r  r  r  r   rh  rQ   r  s       r4   mp_spherical_inz9TestSystematic.test_spherical_in.<locals>.mp_spherical_in  r  r6   c                 F    t          j        t          |           |          S rN   )r-   spherical_inr   r  s     r4   rT   z2TestSystematic.test_spherical_in.<locals>.<lambda>  rW  r6   r   r;   g訰6r:  r  r  r  s     r4   test_spherical_inz TestSystematic.test_spherical_in  s_    	 	 	 	33_--As^^SUU#	
 	
 	
 	
 	
 	
r6   c                     d }t          d t          |          t          dd          t                      g           d S )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  r  s       r4   r  zATestSystematic.test_spherical_in_complex.<locals>.mp_spherical_in  r  r6   c                 P    t          j        t          | j                  |          S rN   )r-   r  r   rQ   r  s     r4   rT   z:TestSystematic.test_spherical_in_complex.<locals>.<lambda>  r  r6   r   r;   r  r  s     r4   test_spherical_in_complexz(TestSystematic.test_spherical_in_complex  r  r6   c                     d }t          d t          |          t          dd          t                      gd           d S )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  r  r  r   r  rh  rQ   )rF   r3   r  s      r4   mp_spherical_knz9TestSystematic.test_spherical_kn.<locals>.mp_spherical_kn  ss    >!fjmmAo"5q99;vy!F,<Q,?,?*?@AABC""'1,,x
r6   c                 F    t          j        t          |           |          S rN   )r-   spherical_knr   r  s     r4   rT   z2TestSystematic.test_spherical_kn.<locals>.<lambda>  rW  r6   r   rZ   r<   r2  r  r  r  s     r4   test_spherical_knz TestSystematic.test_spherical_kn  s\    	 	 	 	33_--As^^SUU#		
 	
 	
 	
 	
 	
r6   z.Accuracy issues near z = -1 inherited from kv.c                     d }t          d t          |          t          dd          t                      gd           d S )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   r  r  r  r  r   rh  rQ   r  s       r4   r  zATestSystematic.test_spherical_kn_complex.<locals>.mp_spherical_kn  r  r6   c                 P    t          j        t          | j                  |          S rN   )r-   r  r   rQ   r  s     r4   rT   z:TestSystematic.test_spherical_kn_complex.<locals>.<lambda>  r  r6   r   r;   r2  r  r  s     r4   test_spherical_kn_complexz(TestSystematic.test_spherical_kn_complex  s\    	 	 	 	8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/  r4  r<  rE  pytestmarkxfailrO  rU  rX  rb  rf  ro  rr  rv  rx  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.  r4  r8  r@  rD  r   rG  rN  rS  rY  r]  rb  rh  rm  rs  rv  xfail_on_32bitr{  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-  r2  r5  r:  r=  rD  rG  rM  rS  rY  r]  r`  re  ri  rn  rv  r|  r  r  r  r  r  r  r  r  r   r6   r4   r  r    s,       . . ., , ,
. . ., , ,
. . ., , ,
. . ., , ,
. . .
. . .
0 0 0
 
 

 
 

 
 
"
 
 

 
 

 
 

 
 

 
 
"
 
 

 
 
!
 !
 !
F	
 	
 	


 

 


 
 
B
 
 
 [5)RSS
 
 TS

 
 
 [5)RSS
 
 TS
U U U	
 	
 	
= = =	
 	
 	
U U U
 
 

 
 

 
 

 
 

 
 
0) ) ) 
 
 

 
 

 
 
E E E
 
 
D D DW W WI I IR R RI I I
 
 

 
 

 
 

 
 
$
 
 

 
 
F F FT T T
 
 

 
 
B B BI I I
 
 

 
 

 
 

 
 

 
 

 
 
@ @ @
@ @ @
O O O
 
 

 
 

 
 
F F F [5!!
 
 "!
0
 0
 0
d [5!!
 
 "!
 
 
 

 
 

 
 
 [5)PQQ
 
 RQ
	
 	
 	

 
 

 
 
 [5!!
 
 "!
 
 
 
 [5!!
 
 "!
 [ !H I I	
 	
I I	
K K KK K K
 [5!!

 

 "!


 
 
E E E
 
 
 
 
 

 
 
 [ <==
 
 >=

 
 
. O O O
 
 
1
 1
 1
f
 
 
8
 
 
8 [5)UVV
 
 WV
  
 
 
"
 
 
$
 
 
" [5!!
 
 "!
 [5 *G H H
 
H H

 
 
8 [56  7 7
 
7 7

 
 

 
 
 [  ' ) )F F) )F 
 
 

 
 
U U U	
 	
 	
4 4 4
	
 	
 	


 

 


 
 

 
 

 
 

 
 
(
 
 
 
 
 

 
 

 
 

 
 

 
 
&
 
 
(
 
 
"
 
 
 
 
 
"
 
 
 
 
 
$
 
 
 
 
 
  [5N  P P
 
P P
 
 
r6   r  )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   rf   rz   r   r   r   r   r  slowr   r   r   r  r
  r  r  r  r'  r-  r1  r;  rD  rM  rQ  rd  rk  r}  r  r  r  r   r  r  r   r6   r4   <module>r     sa        2 2 2 2 2 2 2 2                                                                        %MMMM % % %]8$$FFF% vv- - - vv	> 	> 	>  vv! ! !( vv6 6 6 vwO O  O, vwC C  C" vvG G G> vvC C C* vv/ / /$ vvE E  E8 vv: : :* vv0K 0K 0Kn vv: : :L   vv= = =  vv= = =& vv; ;  ;. vv< <  <* vv< < <& vv< < <( vvB B  B& vv; ;  ;& vv
8 
8 
8 vv8 8 8$ vv9 9 90   vv? ?  ?* vv
@ 
@  
@ vv
@ 
@  
@" vv= =  = $sS
)
)
) vvy
 y
 y
 y
 y
 y
 y
  y
 y
 y
s   A# #A65A6