
     h%                    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complex_r	   scexpicheck)datasetrpzs       [/var/www/html/Sam_Eipo/venv/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 hwbk222G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+   float_r	   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hwbi000G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hwbi000G	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hwbi000G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 hwbi000G	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|RY//G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hwbi000G. . . 
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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- 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 ZOej                            dN          dO             ZPdP ZQej                            dN          dQ             ZReSdR             ZTdS ZUdT ZVej                            ddU          dV             ZWdW ZXdX ZYdY ZZej                            dN          dZ             Z[eSd[             Z\ej                            dN          d\             Z]ej        ^                    d]          d^             Z_d_ Z`d` Zaej                            dN          da             Zbdb Zcdc Zddd ZeeSde             Zfdf Zgej        ^                    dg          dh             Zhdi ZieSdj             Zjdk Zkdl Zldm Zmdn Znej                            ddo          dp             ZoeSdq             Zpdr Zqds Zrej                            dN          dt             Zsej                            ddu          dv             Ztdw Zuej                            ddx          dy             Zvdz Zwd{ Zxej                            d|}          d~             Zyd 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 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:Y:YQX:Y:Y r6   }Ô%I}Ô%ITgJDru   )r   r-   ivr   r   r  s    r4   test_besselizTestSystematic.test_besseli  sO    BE,-Y-YZZ //7!'	) 	) 	) 	) 	) 	)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)9)9 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  N    99,-Y-YZZ //>	@ 	@ 	@ 	@ 	@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    BE,-Y-YZZ //T3@,0	2 	2 	2 	2 	BE,-Y-YZZ //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    99,-Y-YZZ UUJLL1	3 	3 	3 	3 	3r6   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  sK    BE"N s^^SBF^^<#(u	6 	6 	6 	6 	6 	6r6   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  sM    BE"N#D#..Arv?#(u	6 	6 	6 	6 	6 	6r6   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>  r  r6   c                 2    t          j        | |fi t          S rN   )r   r  r  rR   s     r4   rT   z5TestSystematic.test_besselk_complex.<locals>.<lambda>   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>.mpbessely$  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_bessely#  s`    	 	 	 	BE,Y77 //T3@"	$ 	$ 	$ 	$ 	$ 	$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>.mpbessely3  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>:  r  r6   i:  r  r  r  s     r4   test_bessely_complexz#TestSystematic.test_bessely_complex2  sX    	 	 	 	99,Y77 UUJLL1#	% 	% 	% 	% 	% 	%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>.mpbessely@  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>F  s    s1vvq)9)9 r6   r     r  r  r   r   r   r   r  s     r4   test_bessely_intzTestSystematic.test_bessely_int?  s_    	 	 	 	99,Y77#E400#dC..A	C 	C 	C 	C 	C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>.betaM  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>]  s    aD)A)A)A 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_betaJ  s    
	% 	% 	% 	% 	% 	% 	BGAAAA UUCEEN #,0		2 	2 	2 	2 	BG HZ00 #,0!&	( 	( 	( 	( 	( 	(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>k  s     FN[\^_abdeswLxLxLx r6   )r   r-   r*  r   r   r   r  s    r4   test_betainczTestSystematic.test_betainci  sV    BJ*LNN+;<x<x+y+yzz UUCEE3551	3 	3 	3 	3 	3r6   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   r/  z+TestSystematic.test_binom.<locals>.binomialq  s    1vvSVVaZ((( v1uuU1Q3ZZ"(51::*>*>>??%GG  "%%uQxxq&:;;;6M?1a(((r6   c                       | |d          S r$  r   )rF   r0  r/  s     r4   rT   z+TestSystematic.test_binom.<locals>.<lambda>  s    !Q)E)E)E r6   r   r   r   r   ru   r'  )r   r-   binomr   r$   r+   )r  r"  r/  s    @@r4   
test_binomzTestSystematic.test_binomn  s    
	) 	) 	) 	) 	) 	) 	BHEEEE UUCEEN #	% 	% 	% 	%
 	BH$HZ00 #!&		( 	( 	( 	( 	( 	(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)B)B r6   c                 2    t          j        | |fi t          S rN   )r   chebytr  r9  s     r4   rT   z0TestSystematic.test_chebyt_int.<locals>.<lambda>      &-1:X:XPW:X:X r6   r8   r2  r  r  s    r4   test_chebyt_intzTestSystematic.test_chebyt_int  J    BB,-X-XYY#XXsuu-2	7 	7 	7 	7 	7 	7r6   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   r<  r  r9  s     r4   rT   z,TestSystematic.test_chebyt.<locals>.<lambda>  7    )X8H8W8W)X)XYZ\])i)iah)i)i r6   e   '  r  )r   r-   r8  r   r  s    r4   test_chebytzTestSystematic.test_chebyt  sC    BNii s^^SUU3u	> 	> 	> 	> 	> 	>r6   c                 ~    t          d t          d           t                      t                      gd           d S )Nc                 F    t          j        t          |           |          S rN   )r-   eval_chebyur   r9  s     r4   rT   z0TestSystematic.test_chebyu_int.<locals>.<lambda>  r:  r6   c                 2    t          j        | |fi t          S rN   )r   chebyur  r9  s     r4   rT   z0TestSystematic.test_chebyu_int.<locals>.<lambda>  r=  r6   r8   r2  r  r  s    r4   test_chebyu_intzTestSystematic.test_chebyu_int  r?  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   rM  r  r9  s     r4   rT   z,TestSystematic.test_chebyu.<locals>.<lambda>  rD  r6   rE  rF  )r   r-   rK  r   r  s    r4   test_chebyuzTestSystematic.test_chebyu  s<    BNii s^^SUU3	5 	5 	5 	5 	5r6   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   rV  r   r   r  rV  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  rT  r@  s    r4   rV  z,TestSystematic.test_chi_complex.<locals>.chi  rW  r6   r  r  ra   r?   )r   r   rV  r   r)   r$   rt  rZ  s     r4   test_chi_complexzTestSystematic.test_chi_complex  i    	# 	# 	# 	C"J'(>(>PS@T@TUUV!&	( 	( 	( 	( 	( 	(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   re  r   r  re  s     r4   test_cizTestSystematic.test_ci  sD    	! 	! 	! 	B"I s^^,	. 	. 	. 	. 	.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  rc  r@  s    r4   re  z*TestSystematic.test_ci_complex.<locals>.ci  rf  r6   r  r  rr  r?   )r   r   re  r   r)   r$   rt  rg  s     r4   test_ci_complexzTestSystematic.test_ci_complex  sh    	! 	! 	! 	B"I'rvg(>(>RV@T@TUUV!%	' 	' 	' 	' 	' 	'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  sK    huoo!F"L UUGE#	? 	? 	? 	? 	? 	?r6   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  s=    F"L'\\N5u	F 	F 	F 	F 	F 	F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  sA    BJ,V^<< UUG%R	9 	9 	9 	9 	9 	9r6   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   rx  )r   r-   r"  r   r   r   )r  rx  s     r4   test_digamma_complexz#TestSystematic.test_digamma_complex  sX    	Q 	Q 	Q 	BJ,V^<<'\\NB)5	7 	7 	7 	7 	7 	7r6   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  s7    BG"I UUG%	1 	1 	1 	1 	1 	1r6   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    irG  y                )r   r-   r|  r   r}  r   r)   r$   rt  r&   r   r%   r   r  s    r4   test_e1_complexzTestSystematic.test_e1_complex  s#   BG"I'(>(>PS@T@TUUV!&	( 	( 	( 	( 	BG"I[b#66qqq$w?U1bk"a&<&<$&KAr$:$:#:$; <<>??@E!&	( 	( 	( 	( 	BG"I[c599B>!&	( 	( 	( 	( 	( 	(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>  +    166fl1ooa&7&7vzRWGXGX 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>  r  r6   ra   gW:r   g   mBgyCxDr&  r?   )r   r-   exprelr   r$   r   rJ  doubler   r+   rt  r   isinfr  s    r4   test_exprelzTestSystematic.test_exprel  s    BIXX BF28BI+>+>+B$C$C#CrvbhWYW`NaNaNeGfGfgggh	j 	j 	j 	BIXXHeUAtT26%JKKRW	Y 	Y 	Y 	Y 	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_complex  sW    BH"L'(>(>PS@T@TUUV	X 	X 	X 	X 	X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>  s    fj1oo r6   <   r2  )r   r-   log1pr   r  s    r4   test_log1p_complexz!TestSystematic.test_log1p_complex  s8    BH55'\\N	4 	4 	4 	4 	4 	4r6   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>  s    fjQ&7&7!&; r6   r  r   )r   r@   )r   r   r   r  s    r4   test_log1pmxzTestSystematic.test_log1pmx
  s8    H;; UUG%	9 	9 	9 	9 	9 	9r6   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_ei  s8    BG"I UUG!&	( 	( 	( 	( 	( 	(r6   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_complex  sZ    BG"I'(>(>PS@T@TUUV!%	' 	' 	' 	' 	' 	'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  s4    BI"M 3ZZZL	* 	* 	* 	* 	*r6   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!  s?    BL"M s^^S3ZZZ8	: 	: 	: 	: 	:r6   c                     t          t          j        t          j        t                      t                      g           d S rN   r  r  s    r4   test_ellipeinc_largephiz&TestSystematic.test_ellipeinc_largephi&  6    BL"M UUCEEN	, 	, 	, 	, 	,r6   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"M s^^SUU3	5 	5 	5 	5 	5r6   c                     t          t          j        t          j        t                      t                      g           d S rN   r  r  s    r4   test_ellipf_largephiz#TestSystematic.test_ellipf_largephi0  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_ellipk5  sg    BI"M 3ZZZL	* 	* 	* 	BK:: 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>  sT    	- 	- 	-BL% s^^S3ZZZ8,0	2 	2 	2 	2 	2 	2r6   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>.ellipkincG  r  r6   r   r  Tr  r  r  s     r4   test_ellipkinc_largephiz&TestSystematic.test_ellipkinc_largephiF  sP    	- 	- 	-BL% UUC#JJJ/,0	2 	2 	2 	2 	2 	2r6   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>.snO  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>Y      1a); r6       .    .Ar   r#   r   rr  r?   r  )r  r  s     r4   test_ellipfun_snzTestSystematic.test_ellipfun_snN  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      a)H)H)H r6   r  r  r   r#   r   rr  r?   r  r  s    r4   test_ellipfun_cnzTestSystematic.test_ellipfun_cn^  L    ;;HH 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>g  r  r6   c                 0    t          j        d| |          S r\  r  rW  s     r4   rT   z1TestSystematic.test_ellipfun_dn.<locals>.<lambda>h  r  r6   r  r  r   r#   r   rr  r?   r  r  s    r4   test_ellipfun_dnzTestSystematic.test_ellipfun_dne  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>n      fjmm r6   )r   r-   r   r   r  s    r4   test_erfzTestSystematic.test_erfl  s1    BF33 UUG	% 	% 	% 	% 	%r6   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>s  r  r6   r;   r  )r   r-   r   r   r  s    r4   r   zTestSystematic.test_erf_complexq  s8    BF33'\\Nc	3 	3 	3 	3 	3 	3r6   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>x      v{1~~ r6   r>   r?   )r   r-   r   r   r   r  s    r4   	test_erfczTestSystematic.test_erfcv  sA    BG,-E-EFF UUG%	1 	1 	1 	1 	1 	1r6   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{  sA    BG,-E-EFF'\\Nc	3 	3 	3 	3 	3 	3r6   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  s7    BG"K UUGs	, 	, 	, 	, 	, 	,r6   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  s7    BG"K'\\Nc	3 	3 	3 	3 	3 	3r6   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  sA    BG,-E-EFF UUGs	, 	, 	, 	, 	, 	,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[[.&A&A"&D r6   rG  r   r   r  )r   r-   r  r   r)   r  s    r4   test_ndtr_complexz TestSystematic.test_ndtr_complex  s^    BGDD''&&*A*AWUTYEZEZ[[[\`c	e 	e 	e 	e 	e 	e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..7Q7Q r6   iX  r)  r>   rF   r   r@   )r   r-   log_ndtrr   r   r  s    r4   test_log_ndtrzTestSystematic.test_log_ndtr  sK    BK,-Q-QRR UUGs%	A 	A 	A 	A 	A 	A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>  s3    vz&+qbQSQXY[Q\Q\nB]B]^`B`7a7a r6   r  rF  rG  r<   r   r;   r)  rF   r   )r   r-   r  r   r   r)   r  s    r4   test_log_ndtr_complexz$TestSystematic.test_log_ndtr_complex  sr    BK,-a-abb''&$*?*?*1%*=*=? ? ? @CFC	Q 	Q 	Q 	Q 	Q 	Q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#   rG  r  )r   r   eulernumr   r  s    r4   test_eulernumzTestSystematic.test_eulernum  s@    55"O#Au--.%	9 	9 	9 	9 	9 	9r6   c           	          t          t          j        t          j        t          dd          t          dt          j                  gdd           d S )Nr   r;   r>      rs  )	r   r-   rE   r   rC   r   r   r$   rt  r  s    r4   test_expintzTestSystematic.test_expint  sK    BG"M#As^^SBF^^<!&C	1 	1 	1 	1 	1 	1r6   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  =    	$ 	$ 	$H"O UUG	% 	% 	% 	% 	%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  s8    BH,V\:: UUG	% 	% 	% 	% 	%r6   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  s?    BH,V\::'\\N	8 	8 	8 	8 	8 	8r6   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>      aT)R)R)R r6   r        @Finclusive_ar&  r  )r   r-   r6  r   r  s    r4   test_gammainczTestSystematic.test_gammainc  sQ    BKRR CU;;;SC[[I#(u	6 	6 	6 	6 	6 	6r6   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  sQ    BLRR CU;;;SC[[I#(u	6 	6 	6 	6 	6 	6r6   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>.f  s    ?1%%**r6   )r   r-   gammalnr   r   )r  r+  s     r4   test_gammalnzTestSystematic.test_gammaln  s<    	+ 	+ 	+ 	BJ(8(;(;ceeWEEEEEr6   )r@  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_gegenbauer  sK    B.,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   r0  rB   r   r  rt  rF   ry   rG   r1   s       r4   r0  z6TestSystematic.test_gegenbauer_int.<locals>.gegenbauer  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 )Nr4  )r-   r/  r   r   r$   rt  r5  s       r4   sc_gegenbauerz9TestSystematic.test_gegenbauer_int.<locals>.sc_gegenbauer  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  r0  r7  s      r4   test_gegenbauer_intz"TestSystematic.test_gegenbauer_int  s    	 	 	6	 	 	 	M,Z88#As^^Ss^^SUUC#,0t		= 	= 	= 	= 	M,Z88#As^^SUUHR[bRT=U=U4V4VW #,0		2 	2 	2 	2 	2 	2r6   c                     t          d t          t          j                  t	          dd          t                      t                      g           d S )Nc                 R    t          j        t          |           |j        |          S rN   )r-   r/  r   rQ   rF   ry   rG   s      r4   rT   z8TestSystematic.test_gegenbauer_complex.<locals>.<lambda>  s    B,>s1vvqvq,Q,Q r6   r   r<   )r   r   r   r0  r   r   r   r  s    r4   test_gegenbauer_complexz&TestSystematic.test_gegenbauer_complex  sQ    QQ,V->??#As^^SUUJLLA	C 	C 	C 	C 	Cr6   c                     t          d t          t          j                  t	          dd          t	                      t                      g           d S )Nc                 B    t          j        | j        |j        |          S rN   )r-   r/  rQ   r<  s      r4   rT   z@TestSystematic.test_gegenbauer_complex_general.<locals>.<lambda>  s    B,>qvqvq,Q,Q r6   r  r  )r   r   r   r0  r   r   r  s    r4   test_gegenbauer_complex_generalz.TestSystematic.test_gegenbauer_complex_general  sQ    QQ,V->?? s^^SUUJLLA	C 	C 	C 	C 	C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>  s'    &.A ;U ;ULS;U ;U r6   @x@xD)r   r-   rC  r   r   r  s    r4   test_hankel1zTestSystematic.test_hankel1  sS    BJ, .U .U V V --suu5	7 	7 	7 	7 	7r6   c                     t          t          j        t          d           t	          dd          t	                      g           d S )Nc                 2    t          j        | |fi t          S rN   )r   hankel2r  rD  s     r4   rT   z-TestSystematic.test_hankel2.<locals>.<lambda>!  r  r6   rE  rF  )r   r-   rJ  r   r   r  s    r4   test_hankel2zTestSystematic.test_hankel2  sG    BJ,-Y-YZZ --suu5	7 	7 	7 	7 	7r6   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   r9  s     r4   rT   z-TestSystematic.test_hermite.<locals>.<lambda>&      Q)C)C r6   r   rG  )r   r   r   hermiter   r   r  s    r4   test_hermitezTestSystematic.test_hermite$  sG    CC,V^<<#Au--suu5	7 	7 	7 	7 	7r6   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>1  s    q!)B)Br)B)B r6   r  r  r   g     j@r  r  )r   r   r-   rP   r   )r  rT  s    @r4   test_hyp0f1zTestSystematic.test_hyp0f1,  sa    #---BIBBBB s^^SC[[9"	$ 	$ 	$ 	$ 	$ 	$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>;  r=  r6   r   r   irL   )r   r   r   r   r)   r  s    r4   test_hyp0f1_complexz"TestSystematic.test_hyp0f1_complex9  sh    ==,-X-XYY b\\:gdD6I6I7SVX[K\K\+]+]^	` 	` 	` 	` 	`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_hyp1f1B  sA    }Q1---$   vs    11r  r8   r#   Fr!  r   )rF   r  )r   r-   r]  r   )r  r_  s     r4   test_hyp1f1zTestSystematic.test_hyp1f1A  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-   r]  rQ   r+  s      r4   rT   z4TestSystematic.test_hyp1f1_complex.<locals>.<lambda>R  s    ryQR7S7S r6   c                 4    t          j        | ||fi t          S rN   )r   r]  r  r+  s      r4   rT   z4TestSystematic.test_hyp1f1_complex.<locals>.<lambda>S      V]1aQR=^=^V]=^=^ r6   r  r  i  r  )r   r   r   r   r   r  s    r4   test_hyp1f1_complexz"TestSystematic.test_hyp1f1_complexP  sa    J'S'STT,-^-^__ s^^Ss^^Z\\J"	$ 	$ 	$ 	$ 	$ 	$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>Z  s    ryQR/S/S r6   c                 6    t          j        | |||fi t          S rN   )r   r   r  rh  s       r4   rT   z4TestSystematic.test_hyp2f1_complex.<locals>.<lambda>[  "    aQRTUWX@d@d\c@d@d r6   g      Yg      Y@r   r  r  r  s    r4   test_hyp2f1_complexz"TestSystematic.test_hyp2f1_complexW  se     	SS,-d-dee s^^Ss^^Ss^^Z\\Z 	" 	" 	" 	" 	" 	"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>b  rd  r6   )r   r-   rw   r   r   r  s    r4   test_hyperuzTestSystematic.test_hyperu_  sG    BI,-^-^__ UUCEE3551	3 	3 	3 	3 	3r6   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  rY  s     r4   mp_igam_facz1TestSystematic.test_igam_fac.<locals>.mp_igam_facg  s0    <1%%fj!nn4V\!__DDr6   r   g  ļBFr!  r   r?   )r   r   r   )r  rr  s     r4   test_igam_faczTestSystematic.test_igam_face  s^    	E 	E 	E 	I' De<<<c!TllK!&	( 	( 	( 	( 	( 	(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_j0o  sj     	BE"I s^^,	. 	. 	. 	BE"I s^^,!%	' 	' 	' 	' 	' 	'r6   c                     t          t          j        t          j        t	          dd          g           t          t          j        t          j        t	          dd          gd           d S ru  )r   r-   j1r   r   r  s    r4   test_j1zTestSystematic.test_j1}  sh    BE"I s^^,	. 	. 	. 	BE"I s^^,!%	' 	' 	' 	' 	' 	'r6   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  rh  s       r4   rT   z,TestSystematic.test_jacobi.<locals>.<lambda>  rj  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/N/N r6   c                 6    t          j        | |||fi t          S rN   r}  rh  s       r4   rT   z,TestSystematic.test_jacobi.<locals>.<lambda>  rj  r6   )r   r-   r  r   r   r   r  s    r4   test_jacobizTestSystematic.test_jacobi  s    BN,-d-dee UUCEE355#%%8	: 	: 	: 	NN,-d-dee#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+    /G/?/G/G1aQR/^/^V]/^/^ r6    N  r8   r   r   r   r   )r  r~  s    @r4   test_jacobi_intzTestSystematic.test_jacobi_int  sh    	- 	- 	-
 	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  sP    	A 	A 	A
 	BF --.$	8 	8 	8 	8 	8 	8r6   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>  r  r6   r  r  r  r  )r   r-   r  r   r   r  s    r4   test_kerzTestSystematic.test_ker  sH    BF,-R-RSS --.$	8 	8 	8 	8 	8 	8r6   c                     t          t          t          j                  d t	                      t	                      g           d S )Nc                 N     t          t          j                  | |fi t          S rN   r   r   laguerrer  r9  s     r4   rT   z.TestSystematic.test_laguerre.<locals>.<lambda>  '    )J)9&/)J)J1a)[)[SZ)[)[ r6   )r   r   r-   eval_laguerrer   r  s    r4   test_laguerrezTestSystematic.test_laguerre  s@    Jr'788[[ UUCEEN	, 	, 	, 	, 	,r6   c                 d    t          d d t                      t                      gd           d S )Nc                 F    t          j        t          |           |          S rN   )r-   r  r   r9  s     r4   rT   z2TestSystematic.test_laguerre_int.<locals>.<lambda>      )9#a&&!)D)D r6   c                 N     t          t          j                  | |fi t          S rN   r  r9  s     r4   rT   z2TestSystematic.test_laguerre_int.<locals>.<lambda>  r  r6   r  r  r  r  s    r4   test_laguerre_intz TestSystematic.test_laguerre_int  sA    DD[[#XXsuu-	8 	8 	8 	8 	8 	8r6   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   r0  s     r4   rT   z3TestSystematic.test_lambertw_real.<locals>.<lambda>  s    QAF)D)D r6   c                 P    t          j        | t          |j                            S rN   )r   ri  r   rQ   r  s     r4   rT   z3TestSystematic.test_lambertw_real.<locals>.<lambda>  s    CKK)H)H r6   r   r   r>   Fr@   r  )r   r   r$   rt  r   r  s    r4   test_lambertw_realz!TestSystematic.test_lambertw_real  sT    DDHH'88&B--H!&u	6 	6 	6 	6 	6 	6r6   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>.gamma  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_scaled  s{    &F1II)		 		 		 		 		 		 	E"L H%@@@A!&	( 	( 	( 	( 	( 	(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_legendre  s7    B,"O UUCEEN	, 	, 	, 	, 	,r6   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   r9  s     r4   rT   z2TestSystematic.test_legendre_int.<locals>.<lambda>  r  r6   c                 N     t          t          j                  | |fi t          S rN   r   r   r  r  r9  s     r4   rT   z2TestSystematic.test_legendre_int.<locals>.<lambda>  r  r6   r  r  c                 F    t          j        t          |           |          S rN   r  r9  s     r4   rT   z2TestSystematic.test_legendre_int.<locals>.<lambda>  r  r6   c                 N     t          t          j                  | |fi t          S rN   r  r9  s     r4   rT   z2TestSystematic.test_legendre_int.<locals>.<lambda>  r  r6   r*  r8  rj   )r   r   r   r   r$   r%   r  s    r4   test_legendre_intz TestSystematic.test_legendre_int  s    DD[[#XXsuu-#	% 	% 	% 	% 	DD[[#XXxCR0H0H'I'IJ	L 	L 	L 	L 	L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   rq  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_legenp  s    	 	 		 	 		 	 	0 	D"#D#..tS0A0A355I	K 	K 	K 	F"#D#..D#B

K!&	( 	( 	( 	( 	( 	(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%,,..E"%&;&;&;<<hG\G\G\>]>]_ghi_j_jk!%!		# 	# 	# 	# 	# 	#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>.legenp5  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>.lqnmH  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>.legenqK  s<    1vv~~v2#FM221aCCCCr6   r   r<   r  r  r  r  s      r4   test_legenqzTestSystematic.test_legenqF  si    	. 	. 	.	D 	D 	D 	D"#As^^VAs^^SUUC	E 	E 	E 	E 	E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>.lqnmW  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>.legenqZ  r  r6   r   r<   r  )r   r   r   r  s      r4   test_legenq_complexz"TestSystematic.test_legenq_complexU  so    	B 	B 	B	X 	X 	X 	D"#As^^VAs^^Z\\J!	# 	# 	# 	# 	# 	#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$   rw  floorr   s    r4   rx  z0TestSystematic.test_lgam1p.<locals>.param_filterf  s,    8RXa[[A-!q&95$GGGr6   c                 :    t          j        d| z             j        S r  r*  r@  s    r4   	mp_lgam1pz-TestSystematic.test_lgam1p.<locals>.mp_lgam1pj  s    ?1q5))..r6   r>   r<   ry  )r   r   r   )r  rx  r  s      r4   test_lgam1pzTestSystematic.test_lgam1pe  s[    	H 	H 	H	/ 	/ 	/ 	G% UUG%S)5	7 	7 	7 	7 	7 	7r6   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_loggammat  sO    .oa(( . . .bfbf--.Js    .AAFr	  )r  distinguish_nan_and_infr@   )r   r-   r  r   )r  r  s     r4   test_loggammazTestSystematic.test_loggammas  sQ    	 	 	 	BK+'\\N549	G 	G 	G 	G 	G 	Gr6   c                 ~    d }t          |t          d           t                      t                      g           d S )Nc                 8    t          j        | |          d         S r  )r-   pbdvrD  s     r4   pcfdz&TestSystematic.test_pcfd.<locals>.pcfd      71a==##r6   c                 2    t          j        | |fi t          S rN   )r   r  r  rD  s     r4   rT   z*TestSystematic.test_pcfd.<locals>.<lambda>  s    &+a:V:Vg:V:V r6   )r   r   r   )r  r  s     r4   	test_pcfdzTestSystematic.test_pcfd  sM    	$ 	$ 	$D,-V-VWW 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-   pbvvrD  s     r4   pcfvz&TestSystematic.test_pcfv.<locals>.pcfv  r  r6   c                 x      t                      t          t          j                            | |fi t          S rN   )r   r   r   r  r  rD  s     r4   rT   z*TestSystematic.test_pcfv.<locals>.<lambda>  s7    )V8H8U8U)V)VWXZ[)g)g_f)g)g r6   r  r  r  )r  r  s     r4   	test_pcfvzTestSystematic.test_pcfv  sK    	$ 	$ 	$Dgg UUCEENd	4 	4 	4 	4 	4 	4r6   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-   pbwarY  s     r4   pcfwz&TestSystematic.test_pcfw.<locals>.pcfw  r  r6   c                 8    t          j        | |          d         S r  r
  rY  s     r4   dpcfwz'TestSystematic.test_pcfw.<locals>.dpcfw  r  r6   c                 F    t          j        t           j        | |fd          S )Nr=   )r   diffr  rY  s     r4   mpmath_dpcfwz.TestSystematic.test_pcfw.<locals>.mpmath_dpcfw  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_pcfw  s    	$ 	$ 	$	$ 	$ 	$	< 	< 	<
 	D"K QZZR443	H 	H 	H 	H 	E( QZZR443	H 	H 	H 	H 	H 	H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  sS    BL*LNN+;F<L+M+MNN#At__cee4	6 	6 	6 	6 	6r6   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_rgamma  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_complex  s?    BI,V];;'\\N	8 	8 	8 	8 	8 	8r6   zNsee gh-3551 for bad points on 32 bit systems and gh-8095 for another bad point)rA  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_rf  sz     =+,,0H0HHHYFF' ' ' 	BG" UUCEEN #	% 	% 	% 	% 	% 	%r6   c                     t          j        t                    j        }t	          t
          t          j        t                      gdd|z             d S rm  )	r$   rJ  rB   rK  r   r   r   rH  r   rn  s     r4   
test_sinpizTestSystematic.test_sinpi  sJ    huoo!FFL UUGE#	? 	? 	? 	? 	? 	?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  s<    FFL'\\N5u	F 	F 	F 	F 	F 	Fr6   c                     d }t          |t          j        t                      g           t          |t          j        t	          g d          g           d S )Nc                 6    t          j        |           d         S r  rT  r   s    r4   shiz$TestSystematic.test_shi.<locals>.shi  rW  r6   rX  )r   r   r(  r   r   r  r(  s     r4   test_shizTestSystematic.test_shi  r\  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  rT  r@  s    r4   r(  z,TestSystematic.test_shi_complex.<locals>.shi  rW  r6   r  r  ra   r?   )r   r   r(  r   r)   r$   rt  r)  s     r4   test_shi_complexzTestSystematic.test_shi_complex  r`  r6   c                 \    d }t          |t          j        t                      g           d S )Nc                 6    t          j        |           d         S r  rc  r   s    r4   siz"TestSystematic.test_si.<locals>.si  rf  r6   )r   r   r0  r   r  r0  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  rc  r@  s    r4   r0  z*TestSystematic.test_si_complex.<locals>.si  rf  r6   r  r  ra   r?   )r   r   r0  r   r)   r$   rt  r1  s     r4   test_si_complexzTestSystematic.test_si_complex  sh    	! 	! 	! 	B"I'rvg(>(>RV@T@TUUV!&	( 	( 	( 	( 	( 	(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  r9  s     r4   test_spencezTestSystematic.test_spence  sU    	, 	, 	, 	BI,U33 BF^^,5	: 	: 	: 	: 	: 	:r6   c                 z    d }t          t          j        t          |          t	                      gd           d S )Nc                 2    t          j        dd| z
            S r>  r8  r@  s    r4   r9  z1TestSystematic.test_spence_complex.<locals>.dilog   r:  r6   r   r?   )r   r-   rA  r   r   r;  s     r4   test_spence_complexz"TestSystematic.test_spence_complex  sL    	, 	, 	,BI,U33'\\N	8 	8 	8 	8 	8 	8r6   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   rD  r   r   r   )r  rD  s     r4   test_spherharmzTestSystematic.test_spherharm  s~    	1 	1 	1 	I",#As^^VAs^^ 1^^^S1"-=-=-=?!% #	% 	% 	% 	% 	% 	%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  sO    BI,V^<< s^^SC[[9!&	( 	( 	( 	( 	( 	(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=rG  r   r   rH  Tr   )r   r-   	modstruver   r   )r  rO  s     r4   test_struvelzTestSystematic.test_struvel  sa    		( 		( 		( 	BL,Z88 s^^SC[[9!&,0		2 	2 	2 	2 	2 	2r6   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  rT  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    &9!R&@&@ r6   r   Fr  )r   r-   rw  r   r  s    r4   test_wrightomegazTestSystematic.test_wrightomega:  s@    BN@@'\\Nu	F 	F 	F 	F 	F 	F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?  sV    BG,V[99 1%@@@ 1%888:	; 	; 	; 	; 	;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   r\  rt  r   s    r4   rT   z2TestSystematic.test_riemann_zeta.<locals>.<lambda>H  s    Qfk!nnnFJ r6   rF  r<   Frs   r  )r   r-   r\  r   r  s    r4   test_riemann_zetaz TestSystematic.test_riemann_zetaE  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  r`  r   s    r4   rT   z+TestSystematic.test_zetac.<locals>.<lambda>P  s*    *+q&& (.{1~~'9'96<j r6   rF  r<   F-   rs   )r  r   r@   )r   r-   zetacr   r  s    r4   
test_zetaczTestSystematic.test_zetacN  sH    BHB B s^^,#(bu		> 	> 	> 	> 	> 	>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_boxcoxW  s`    	a  AIMM%((Ezzy}}Q'''yq%00588r6   r   Fr[  r;   r  r>   r  )r   r-   boxcoxr   r   )r  rl  s     r4   test_boxcoxzTestSystematic.test_boxcoxU  se    	9 	9 	9 	BI,Y77 1%888#%%@! "!&	( 	( 	( 	( 	( 	(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   ri  )rG   rk  ones      r4   mp_boxcox1pz1TestSystematic.test_boxcox1p.<locals>.mp_boxcox1ph  s{    	a  AIMM%((E)--""Czzy}}S1W---ysQw66>>r6   r}   Fr[  r;   r  r>   r  )r   r-   boxcox1pr   r   )r  rr  s     r4   test_boxcox1pzTestSystematic.test_boxcox1pf  se    	? 	? 	? 	BK,[99 25999355A! "!&	( 	( 	( 	( 	( 	(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_jny  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>  rO  r6   r   r;   r  r  r)  r2  r  r  r}  s     r4   test_spherical_jnz TestSystematic.test_spherical_jnx  s`    	 	 	 	CC,_==#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 rw  rx  rz  s       r4   r}  zATestSystematic.test_spherical_jn_complex.<locals>.mp_spherical_jn  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>      QVa)H)H r6   r   r;   r   r   r   r   r  s     r4   test_spherical_jn_complexz(TestSystematic.test_spherical_jn_complex  T    	 	 	 	HH,_==#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 rw  r   ry  r  r  r  r   rh  rQ   rz  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>  rO  r6   r   r;   g    _rZ  r<   r2  r  r  r  s     r4   test_spherical_ynz TestSystematic.test_spherical_yn  sb    	 	 	 	CC,_==#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 rw  r  rz  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 rw  r   ry  r  r  r  r   rh  rQ   rz  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>  rO  r6   r   r;   g訰6r3  r  r  r  s     r4   test_spherical_inz TestSystematic.test_spherical_in  s^    	 	 	 	CC,_==#As^^SUU3 #*	6 	6 	6 	6 	6 	6r6   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 rw  r  rz  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 rw  )r   r  r  r  r   ry  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>  rO  r6   r   rZ   r<   r2  r  r  r  s     r4   test_spherical_knz TestSystematic.test_spherical_kn  s\    	 	 	 	CC,_==#As^^SUU3 #	% 	% 	% 	% 	% 	%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 rw  )r   ry  r  r  r  r   rh  rQ   rz  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\    	 	 	 	HH,_==#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,  r5  r>  pytestmarkxfailrH  rN  rQ  r[  r_  rh  rk  ro  rq  rt  rz  r~  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r  r  r  r  r  r  r  r	  r  r  r  r  r#  r'  r-  r1  r9  r=  r   r@  rG  rK  rQ  rU  rZ  r`  re  rk  rn  xfail_on_32bitrs  rw  rz  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r!  r#  r%  r*  r-  r2  r5  r<  r?  rE  rK  rQ  rU  rX  r]  ra  rf  rn  rt  r  r  r  r  r  r  r  r  r   r6   r4   r  r    s
       . . ., , ,
. . ., , ,
. . ., , ,
. . ., , ,
. . .
. . .
0 0 0) ) )@ @ @
' ' '3 3 3
6 6 66 6 6@ @ @
$ $ $% % %	C 	C 	C( ( (>3 3 3
( ( (:7 7 7
 [5)RSS> > TS>
7 7 7
 [5)RSS5 5 TS5
U U U( ( (. . .' ' '? ? ?F F F
9 9 9
	7 	7 	71 1 1
( ( (&) ) )X X X4 4 4
9 9 9
( ( (' ' '* * *
: : :
, , ,
5 5 5
, , ,
% % %2 2 22 2 2' ' ' ' ' '' ' '% % %
3 3 3
1 1 1
3 3 3
, , ,
3 3 3
, , ,
e e e
A A A
Q Q Q9 9 9
1 1 1% % %% % %% % %
8 8 8
6 6 66 6 6F F F [5!!< < "!<
.2 .2 .2` [5!!C C "!C
 C C C
7 7 77 7 7
 [5)PQQ7 7 RQ7$ $ $` ` `
 
 
 [5!!$ $ "!$ " " " [5!!3 3 "!3
 [ \]]( ( ^](' ' '' ' ' [5!!= = "!=
- 
- 
-8 8 88 8 8
 , , ,
8 8 8
 [ <==6 6 >=6( ( (* , , ,
	L 	L 	L1( 1( 1(f# # #0# # #0 [5)UVVE E WVE # # #7 7 7G G G [5!!, , "!, [5)stt4 4 ut4H H H( [5)noo6 6 po6

 
 
8 8 8
 [  ' ) )% %) )%&? ? ?
F F FU U U( ( (4 4 4
( ( (: : :8 8 8
% 
% 
%( ( (2 2 2$
 
 
 F F F
; ; ;
 
 
> > >( ( ("( ( ($% % %< < <% % %< < <6 6 6< < <% % % [5)YZZ% % [Z% % %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D% D% D% D% D% D% D%  D% D% D%s   A# #A65A6