
    ^Mh+                     \   d Z ddlZddlmZ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             Z0 ee&d          ej1        j2        d                         Z3 ee&d          d             Z4 ee&d          d             Z5 ee&d          d             Z6dZ7 ee&d          d              Z8 ee&d          d!             Z9 ee&d          ej1        j2        d"                         Z: ee&d          ej1        j2        d#                         Z; ee&d          d$             Z< ee&d          d%             Z= ee&d          ej1        j2        d&                         Z> ee&d          ej1        j2        d'                         Z? ee&d          d(             Z@ ee&d          d)             ZA ee&d          d*             ZBd+ ZCej1        j2         ee&d          d,                         ZDej1        j2         ee&d          d-                         ZEej1        j2         ee&d          d.                         ZFej1        j2         ee&d          d/                         ZG eHd0d01          ZIej1        j2         ee&d2           G d3 d4                                  ZJdS )5z4
Test SciPy functions versus mpmath, if available.

    N)assert_assert_allclosesuppress_warnings)pi)_pep440)MissingModulecheck_versionFuncDataassert_func_equal)
ArgFixedArg
ComplexArgIntArgassert_mpmath_equalnonfunctional_tooslow
trace_argstime_limitedexception_to_nan
inf_to_nan)_sinpi_cospi_lgam1p_lanczos_sum_expg_scaled_log1pmx	_igam_facmpmathz0.10c            
         g } t          j        ddd          D ]x}t          j        ddt           j        z  d          D ]R}|t          j        d|z            z  }|                     |t          t          j        |                    f           Syt          j	        | t           j
                  } t          t          j        | dd                                           d S )	Ni   
   r                    ?dtype   )nplogspacelinspacer   expappendcomplexr   eiarraycdoubler
   scexpicheck)datasetrpzs       _/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/scipy/special/tests/test_mpmath.pytest_expi_complexr6   #   s    G[a$$ 7 7Q"%,, 	7 	7A"&A,,ANNAwvy||4456666	7 hwbj111GRWgq!$$**,,,,,    z0.19c                     g } dD ]}t          j        ddd          D ]f}t          j        d          5  |                     ||t          t          j        ||                    f           d d d            n# 1 swxY w Y   gt          j        |           } t          t          j
        | ddd	                                           d S )
N)2   3   r         d   r   r$   r   vIh%<=rtol)r%   r&   r   workdpsr)   floatexpintasarrayr
   r.   expnr0   )r1   nxs      r5   test_expn_large_nrI   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vr4   s     r5   <lambda>z$test_hyp0f1_gh5764.<locals>.<lambda>U   s    ")AFA.. r7   r>   r   r?   r@   )	r   rB   r*   rQ   r)   r%   r,   r
   r0   )r1   axisrT   rH   yr4   ress          r5   test_hyp0f1_gh5764rY   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         rL   c                 8    g | ]}t          j        |d           S )rL   r   rQ   ).0rT   s     r5   
<listcomp>z'test_hyp0f1_gh_1609.<locals>.<listcomp>^   s$    555Q6=C((555r7   -q=r@   )r%   r'   r.   rQ   r,   r   astyperC   )vvafmfs      r5   test_hyp0f1_gh_1609rg   Y   sm     
S#r	"	"B	2s		B	55"555	6	6BB		%((u555555r7   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$   )      %      rK   r   rL   r$   r   )      rK   r   rL   r$         ?r         @r   r$   r      V瞯<-a=rA   atol)r%   aranger'   r)   rC   r   hyperur,   r
   r.   r0   )r1   rG   bas       r5   test_hyperu_around_0r{   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Nr7   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`   rz   ry   crH   s        r5   ra   z.test_hyp2f1_strange_points.<locals>.<listcomp>   sW       #Aq!66eAhh!mmA!u** 
Aq!2<**r7   T)	eliminatec           
      T    g | ]$}|t          t          j        |i           fz   %S  rC   r   hyp2f1)r`   r3   kws     r5   ra   z.test_hyp2f1_strange_points.<locals>.<listcomp>   s8    BBBqE&-1b112244BBBr7   r"   r   r$   r   rr   绽|=r@   )list	itertoolsproductdictr%   r,   float64r
   r.   r   r0   )ptsr1   r   s     @r5   test_hyp2f1_strange_pointsr   }   s     	C 4	!"5"5"5a@@@AAAC '*  C 
			BBBBBcBBBGhwbj111GRYAE:::@@BBBBBr7   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   rr   r   )UUUUUU?gUUUUUU?g?g      ?)      ?rL   g      ?gX<ݚ?)r   r   rr   )r   r   r   rr   )r   rm   rm   rr   r   )gx&?r~   ri   g333333?)r   r   r   +?)r   r   r   r~   )r   rr   rj   Gz?)ro   rK   rr   r   )r   rp   g      
r   )g*4]92@g|O%@gCu?)  rl   r   )r   r         %@r   )r~   r   r$         ?)r~   r   r$   rn   )r      rj   r   )r   r   rj   rn   )rL   g     pro   gm˟?c                 L    g | ]!}|t          t          j        |           fz   "S r   r   )r`   r3   s     r5   ra   z0test_hyp2f1_real_some_points.<locals>.<listcomp>   s/    <<<1qE&-+,,..<<<r7   r"   ignoreinvalidr   r;   r   r@   )r%   r,   r   errstater
   r.   r   r0   )r   r1   s     r5   test_hyp2f1_real_some_pointsr      s      C. =<<<<Ghwbj111G	X	&	&	& G GGY>>>DDFFFG G G G G G G G G G G G G G G G G Gs   1BBB0.14c                      g d} d fd| D             }t          j        |t           j                  }t          t          j        |ddd                                           d S )	N))p   )r:   r   )r   gwJ)r   |r   r   )r   r   rl   r   c                 l    t          | t                    rt          | d                   | d         z  S | S )Nr   r$   )
isinstancetuplerC   rH   s    r5   fevz&test_hyp2f1_some_points_2.<locals>.fev   s2    a 	1;;1%%Hr7   c                     g | ]<}t          t          |                    t          t          j        |           fz   =S r   )r   maprC   r   r   )r`   r3   r   s     r5   ra   z-test_hyp2f1_some_points_2.<locals>.<listcomp>   s@    MMMAuSa[[!!U6=!+<%=%=$??MMMr7   r"   r   r;   r   r@   )r%   r,   r   r
   r.   r   r0   )r   r1   r   s     @r5   test_hyp2f1_some_points_2r      s      C   NMMMMMMGhwbj111GRYAE:::@@BBBBBr7   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   ri   g?rj   r   )g      r~   r$   g@)r   r   rj   gffffff4@)r   g)\(Gzr   g333333?gffffff?ro   r   r"   r   r   r   r;   &.>TrA   ignore_inf_sign)rC   r   r   	Exceptionr)   r%   r,   r   r   r
   r.   r0   )r1   rz   ry   r   r4   rT   s         r5   test_hyp2f1_real_somer      sp   G( 4 4# 	4 	4A( 4 4C 4 4A!!&-1a";";<<$ ! ! ! !NNAq!Q?333344	4 hwbj111G	X	&	&	& / /GY!%	' 	' 	'',uwww/ / / / / / / / / / / / / / / / / /s!   $9
AA2CC"Cz0.12c            
         d} t          j        | dft           j                  }t           j                            d           t           j                            d|           |d d df<   t           j                            d|           |d d df<   t           j                            d|           |d d df<   dt           j                            |           z  dz
  |d d df<   |d d dfxx         d	t           j                            d|           z  z  cc<   |d d dfxx         d	t           j                            d|           z  z  cc<   |d d dfxx         d	t           j                            d|           z  z  cc<   |D ]}t          j	        d
k     rlt          |d d                                                   t          |d                   k    r,t          |d d                                                   |d<   t          t          j        t          |d d                              |d<   t          t           j        |ddd                                           d S )N  rj     ro   r   r$   r   rr   r~   r   r;   r   r   r@   )r%   zerosr   randomseedparetorandrandintr   __version__absmaxrC   r   r   r
   r.   r0   )npointsr1   dss      r5   test_hyp2f1_real_randomr      s%    Gh|RZ00GINN4I$$S'22GAAAqDMI$$S'22GAAAqDMI$$S'22GAAAqDMbinnW---1GAAAqDMAAAqDMMMb29,,Q8888MMMAAAqDMMMb29,,Q8888MMMAAAqDMMMb29,,Q8888MMM 5 5&&2bqb6{{  3r!u::--BrrF))1fmU2bqb6]]3441RYqt<<<BBDDDDDr7   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 rO   )r*   r   erfr   s    r5   rU   z"test_erf_complex.<locals>.<lambda>   s    GFJqMM,B,B r7   Fr?   
vectorizedrA   c                 D    t          t          j        |                     S rO   )r*   r   erfcr   s    r5   rU   z"test_erf_complex.<locals>.<lambda>  s    WV[^^-D-D r7   )r   mpdpsprecr%   meshgridr'   r&   r_ravelr   r.   r   r   )old_dpsold_precx1y1x2y2pointss          r5   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   rr      rj   r   ri   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murH   s      r5   mplegenpztest_lpmv.<locals>.mplegenp-  s@    R==Q!VVQwwqq}RQ'''r7   c           	      V    g | ]%}| |d          |d         |d                   fz   &S )r$   r   r   r   )r`   r3   r   s     r5   ra   ztest_lpmv.<locals>.<listcomp>6  s;    >>>QqHHQqT1Q41..00>>>r7   r"   c                 ^    t          j        |                     t                    ||          S rO   )r.   lpmvrc   r   )r   r   rH   s      r5   evfztest_lpmv.<locals>.evf9  s     wryy~~r1---r7   r   r   rq   r   +=ru   )extendr%   r,   r   r   r
   r0   )r   rH   r1   r   r   s       @r5   	test_lpmvr     s$   
C,  

1IAJAJQKQKaLaLqMAJAJ1IAJAJQKAJQKQKaLQKaLaLqMaLqMqMN5
 	 	 	 	:( ( ( ?>>>#>>>Ghwbj111G. . . 
X	&	&	& K KgwEBBBHHJJJK K K K K K K K K K K K K K K K K Ks   (DDDc                  r   t           j                            d           t           j        t          j        ddd          t          j        ddd          t          j        ddd          t          j        dd	d          t          j        dd	d          d
z   dddddf
         } | }t          j        t          j        |d d d f         | d d d f                                                 dd          j	        }t          j        j        t          j        j        }}	 dt          j        _        t          t          j        d |ddd           t          t          j        d |dd           ||ct          j        _        t          j        _        d S # ||ct          j        _        t          j        _        w xY w)Nr   8r<   r;   r   r   r~   r$   r   rL   gffffffr   g33333Yg3333r     c                 F    t          t          j        | |                    S rO   )rC   r   betarz   ry   s     r5   rU   ztest_beta.<locals>.<lambda>W  s    uV[A->->'?'? r7   Fr   T)r   rA   r   c           
          t          t          j        t          t          j        | |                                        S rO   )rC   r   logr   r   r   s     r5   rU   ztest_beta.<locals>.<lambda>_  s,    vz#fk!Q.?.?*@*@AABB r7   r   )r%   r   r   r   r&   rw   r,   broadcast_arraysreshapeTr   r   r   r   r   r.   r   betaln)ry   rz   abr   r   s        r5   	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   rk   r!   r$   c                 T    g | ]%}|t          t          j        |                    f&S r   r*   r   loggammar`   z0s     r5   ra   z3test_loggamma_taylor_transition.<locals>.<listcomp>y  /    >>>bGFOB//001>>>r7   vIh%,=r@   )LOGGAMMA_TAYLOR_RADIUSr%   r,   r'   r   r   r(   r   flattenr
   r.   r  r0   r2   thetadzr4   r1   s        r5   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::<<<<<r7   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   rk   r!   r$   c                 T    g | ]%}|t          t          j        |                    f&S r   r  r  s     r5   ra   z(test_loggamma_taylor.<locals>.<listcomp>  r	  r7   r
  r@   )r%   r&   log10r  r'   r   r   r(   r   r  r,   r
   r.   r  r0   r  s        r5   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::<<<<<r7   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~   rr   r   r!   iVr$   r=   c                 T    g | ]%}|t          t          j        |                    f&S r   )r*   r   rgammar  s     r5   ra   z%test_rgamma_zeros.<locals>.<listcomp>  s/    @@@Bb 1 1223@@@r7   rb   r@   )r%   r   r&   copyr   rw   r   dstacksizer  r   rB   r,   r
   r.   r  r0   )dxdyr  r   r4   r1   s         r5   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 )Nro   rK   gQοr~   r   r   gQ?r!   r    c                 T    g | ]%}|t          t          j        |                    f&S r   r*   r   digammar  s     r5   ra   z&test_digamma_roots.<locals>.<listcomp>  /    AAABr 2 2334AAAr7   r$   r   r@   )r   findrootr#  rC   r)   r%   r,   r   r&   r  r   r  r  r  rB   r
   r.   r0   )rootrootsr  r  r  r4   r1   s          r5   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   rj   r!   (   c                 D    g | ]}|t           |                    fS r   )r*   )r`   r  r#  s     r5   ra   z(test_digamma_negreal.<locals>.<listcomp>  s.    :::"B,,-:::r7   r$   r?   r@   )r   r   r#  r%   r&   r   r   r  rB   rE   r
   r.   r0   )rH   rW   r4   r1   r#  s       @r5   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     r5   ra   z)test_digamma_boundary.<locals>.<listcomp>  r$  r7   r   r$   r?   r@   )r%   r&   r,   r   r  r   rB   rE   r
   r.   r#  r0   rH   rW   r4   r1   s       r5   test_digamma_boundaryr2    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 )
Nrk   rL   r   r9   r=   c                 b    g | ],\  }}||t          t          j        ||d                     f-S )Try   regularized)rC   r   gammainc)r`   a0x0s      r5   ra   z*test_gammainc_boundary.<locals>.<listcomp>  sL     , , ,r2 E&/""M"M"MNNO , , ,r7   r>   rb   r@   )r%   r'   r  r   r  r   rB   zipr,   r
   r.   r7  r0   )smallrz   rH   r1   s       r5   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r4   s    r5   spencez"test_spence_circle.<locals>.spence  s     v~aQ//000r7   rL   ro   r   r   r$   r!   c                 *    g | ]}| |          fS r   r   )r`   r  rB  s     r5   ra   z&test_spence_circle.<locals>.<listcomp>  s&    777r2vvbzz*777r7   r   r@   )r%   r'   r   outerr(   r  rE   r
   r.   rB  r0   )r2   r  r4   r1   rB  s       @r5   test_spence_circlerE    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:::::r7   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  rr   r!   r=   r$   r~   c                 T    g | ]%}|t          t          j        |                    f&S r   )r*   r   sinpir  s     r5   ra   z$test_sinpi_zeros.<locals>.<listcomp>  ?     ' ' '  wv|B'7'7889 ' ' 'r7   r   r@   )r%   finforC   epsr   r&   r  r   rw   r   r  r  r  rE   r
   r   r0   rL  r  r  r  r   r4   r1   s          r5   test_sinpi_zerosrN    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7r7   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  rr   r!   rG  r=   r$   rL   r~   c                 T    g | ]%}|t          t          j        |                    f&S r   )r*   r   cospir  s     r5   ra   z$test_cospi_zeros.<locals>.<listcomp>-  rJ  r7   r   r@   )r%   rK  rC   rL  r   r&   r  r   rw   r   r  r  r  rE   r
   r   r0   rM  s          r5   test_cospi_zerosrR  $  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7r7   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     r5   dnz"test_dn_quarter_period.<locals>.dn9  s    yAq!!r7   c                 J    t          t          j        d| |                    S Nr[  rX  )rC   r   ellipfunrX  s     r5   	mpmath_dnz)test_dn_quarter_period.<locals>.mpmath_dn<  s!    V_TQ!444555r7   r   r$   rk   r~   r   r   r>   r   r   r@   )r%   r'   r   r&   rC   r   ellipkr)   rE   r
   r0   )	r[  r_  rZ  dur1   m0u0du0r3   s	            r5   test_dn_quarter_periodre  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8r7   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 rU  )r   rB   mpcceilimagr   lambertwr(   )r4   r   unwindrX   s       r5   _mpmath_wrightomegarl  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      r9   r~   r!   c           	      L    g | ]!}|t          t          |d                     f"S rn  r*   rl  r  s     r5   ra   z+test_wrightomega_branch.<locals>.<listcomp>i  @     ' ' '  w':2r'B'BCCD ' ' 'r7   r$   :0yE>r@   )r%   r&   	nextafterr   infranger)   hstackr   r  rE   r
   r.   wrightomegar0   )	rH   picut_abovepicut_belownpicut_abovenpicut_belowirW   r4   r1   s	            r5   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<<>>>>>r7   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 rp  rq  r  s     r5   ra   z,test_wrightomega_region1.<locals>.<listcomp>x  rr  r7   r   rs   r@   
r%   r'   r   r   r  rE   r
   r.   rx  r0   r1  s       r5   test_wrightomega_region1r  o  s     	BA
AqwA;q!DAq	
RTAj ' '$%' ' ' ( (G R^Wa777==?????r7   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 rp  rq  r  s     r5   ra   z,test_wrightomega_region2.<locals>.<listcomp>  rr  r7   r   rs   r@   r  r1  s       r5   test_wrightomega_region2r  ~  s     	BA
BruHb!!A;q!DAq	
RTAj ' '$%' ' ' ( (G R^Wa777==?????r7   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$   rn  r!   c                 T    g | ]%}|t          t          j        |                    f&S r   )r*   r   rj  r  s     r5   ra   z(test_lambertw_smallz.<locals>.<listcomp>  s?     ' ' '  wvr':':;;< ' ' 'r7   r   r?   r@   )	r%   r'   r   r  rE   r
   r.   rj  r0   r1  s       r5   test_lambertw_smallzr    s     ;r1b!!2;r1b#9#9qA;q!DAq	
RTAj ' '$%' ' ' ( (G R['1ae444::<<<<<r7   r<   maxprecmaxtermsz0.17c                      e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zej                            dd          d             Z d Z!ej                            dd          d              Z"d! Z#d" Z$d# Z%d$ Z&d% Z'd& Z(d' Z)d( Z*d) Z+d* Z,d+ Z-d, Z.d- Z/d. Z0d/ Z1d0 Z2d1 Z3d2 Z4d3 Z5d4 Z6d5 Z7d6 Z8d7 Z9d8 Z:d9 Z;d: Z<d; Z=d< Z>d= Z?d> Z@d? ZAd@ ZBdA ZCdB ZDdC ZEdD ZFdE ZGdF ZHdG ZIdH ZJdI ZKdJ ZLdK ZMdL ZNdM ZOdN ZPej                            dO          dP             ZQdQ ZRej                            dO          dR             ZSeTdS             ZUdT ZVdU ZWej                            ddV          dW             ZXdX ZYdY ZZdZ Z[ej                            dO          d[             Z\eTd\             Z]ej                            dO          d]             Z^ej        _                    d^          d_             Z`d` Zada Zbej                            dO          db             Zcdc Zddd Zede ZfeTdf             Zgdg Zhej        _                    dh          di             Zidj ZjeTdk             Zkdl Zldm Zmdn Zndo Zoej                            ddp          dq             ZpeTdr             Zqds Zrdt Zsej                            dO          du             Ztej                            ddv          dw             Zudx Zvej                            ddy          dz             Zwd{ Zxd| Zyej                            d}~          d             Zzd Z{d Z|d Z}d Z~d Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zej                            dd          d             ZdS )TestSystematicc                     t          d t          j        t          dd          gd           t          d t          j        t          dd          g           d S )	Nc                 6    t          j        |           d         S Nr   r.   airyrA  s    r5   rU   z,TestSystematic.test_airyai.<locals>.<lambda>      bgajjm r7       ח    חAh㈵>r@   c                 6    t          j        |           d         S r  r  rA  s    r5   rU   z,TestSystematic.test_airyai.<locals>.<lambda>  r  r7        @     @@)r   r   airyair   selfs    r5   test_airyaizTestSystematic.test_airyai  sl    33"M s^^,!%	' 	' 	' 	' 	33"M s^^,	. 	. 	. 	. 	.r7   c                 X    t          d t          j        t                      g           d S )Nc                 6    t          j        |           d         S r  r  rA  s    r5   rU   z4TestSystematic.test_airyai_complex.<locals>.<lambda>  r  r7   )r   r   r  r   r  s    r5   test_airyai_complexz"TestSystematic.test_airyai_complex  s2    33"M'\\N	, 	, 	, 	, 	,r7   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  rA  s    r5   rU   z2TestSystematic.test_airyai_prime.<locals>.<lambda>  r  r7   c                 .    t          j        | d          S Nr$   )
derivativer   r  rA  s    r5   rU   z2TestSystematic.test_airyai_prime.<locals>.<lambda>      "M!::: r7   r  r  r  r@   c                 6    t          j        |           d         S r  r  rA  s    r5   rU   z2TestSystematic.test_airyai_prime.<locals>.<lambda>  r  r7   c                 .    t          j        | d          S r  r  rA  s    r5   rU   z2TestSystematic.test_airyai_prime.<locals>.<lambda>  r  r7   r  r  r   r   r  s    r5   test_airyai_primez TestSystematic.test_airyai_prime  v    33 6; 6; s^^,!%	' 	' 	' 	' 	33 6; 6; s^^,	. 	. 	. 	. 	.r7   c                 F    t          d d t                      g           d S )Nc                 6    t          j        |           d         S r  r  rA  s    r5   rU   z:TestSystematic.test_airyai_prime_complex.<locals>.<lambda>  r  r7   c                 .    t          j        | d          S r  r  rA  s    r5   rU   z:TestSystematic.test_airyai_prime_complex.<locals>.<lambda>  r  r7   r   r   r  s    r5   test_airyai_prime_complexz(TestSystematic.test_airyai_prime_complex  7    33 6; 6;'\\N	, 	, 	, 	, 	,r7   c                     t          d d t          dd          gd           t          d d t          d	d
          g           d S )Nc                 6    t          j        |           d         S rU  r  rA  s    r5   rU   z,TestSystematic.test_airybi.<locals>.<lambda>  r  r7   c                 *    t          j        |           S rO   r   airybirA  s    r5   rU   z,TestSystematic.test_airybi.<locals>.<lambda>      "M!,, r7   r  r  r  r@   c                 6    t          j        |           d         S rU  r  rA  s    r5   rU   z,TestSystematic.test_airybi.<locals>.<lambda>  r  r7   c                 *    t          j        |           S rO   r  rA  s    r5   rU   z,TestSystematic.test_airybi.<locals>.<lambda>  r  r7   r  r  r  r  s    r5   test_airybizTestSystematic.test_airybi  sv    33 6- 6- s^^,!%	' 	' 	' 	' 	33 6- 6- s^^,	. 	. 	. 	. 	.r7   c                 F    t          d d t                      g           d S )Nc                 6    t          j        |           d         S rU  r  rA  s    r5   rU   z4TestSystematic.test_airybi_complex.<locals>.<lambda>  r  r7   c                 *    t          j        |           S rO   r  rA  s    r5   rU   z4TestSystematic.test_airybi_complex.<locals>.<lambda>  r  r7   r  r  s    r5   test_airybi_complexz"TestSystematic.test_airybi_complex  s7    33 6- 6-'\\N	, 	, 	, 	, 	,r7   c                     t          d d t          dd          gd           t          d d t          d	d
          g           d S )Nc                 6    t          j        |           d         S Nrr   r  rA  s    r5   rU   z2TestSystematic.test_airybi_prime.<locals>.<lambda>  r  r7   c                 .    t          j        | d          S r  r  rA  s    r5   rU   z2TestSystematic.test_airybi_prime.<locals>.<lambda>  r  r7   r  r  r  r@   c                 6    t          j        |           d         S r  r  rA  s    r5   rU   z2TestSystematic.test_airybi_prime.<locals>.<lambda>  r  r7   c                 .    t          j        | d          S r  r  rA  s    r5   rU   z2TestSystematic.test_airybi_prime.<locals>.<lambda>  r  r7   r  r  r  r  s    r5   test_airybi_primez TestSystematic.test_airybi_prime  r  r7   c                 F    t          d d t                      g           d S )Nc                 6    t          j        |           d         S r  r  rA  s    r5   rU   z:TestSystematic.test_airybi_prime_complex.<locals>.<lambda>  r  r7   c                 .    t          j        | d          S r  r  rA  s    r5   rU   z:TestSystematic.test_airybi_prime_complex.<locals>.<lambda>  r  r7   r  r  s    r5   test_airybi_prime_complexz(TestSystematic.test_airybi_prime_complex  r  r7   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HYPERKWrA  s    r5   rU   z)TestSystematic.test_bei.<locals>.<lambda>      vz!Q7R7R'7R7R r7   r  r  )r   r.   r  r   r   r  s    r5   test_beizTestSystematic.test_bei  ?    BF,-R-RSS s^^,	. 	. 	. 	. 	.r7   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  rA  s    r5   rU   z)TestSystematic.test_ber.<locals>.<lambda>  r  r7   r  r  )r   r.   r  r   r   r  s    r5   test_berzTestSystematic.test_ber  r  r7   c                 P    t          d d t          dd          gdd           d S )Nc                 j    t          j        t          |                     t          |                    S rO   )r.   	bernoullir   rG   s    r5   rU   z/TestSystematic.test_bernoulli.<locals>.<lambda>  s!    bl3q66&:&:3q66&B r7   c                 ^    t          t          j        t          |                               S rO   )rC   r   r  r   r  s    r5   rU   z/TestSystematic.test_bernoulli.<locals>.<lambda>  s    eF,<SVV,D,D&E&E r7   r   i2  r   rA   rG   )r   r   r  s    r5   test_bernoullizTestSystematic.test_bernoulli  sD    BBEE#Au--.!%	0 	0 	0 	0 	0 	0r7   c                     t          t          j        t          d           t	          dd          t	                      gd           d S )Nc                 2    t          j        | |fi t          S rO   r   besselir  rS   s     r5   rU   z-TestSystematic.test_besseli.<locals>.<lambda>       &.A*I*I*I*I r7   }Ô%I}Ô%ITgJDrv   )r   r.   ivr   r   r  s    r5   test_besselizTestSystematic.test_besseli  sP    EIIJJ'		
 	
 	
 	
 	
 	
r7   c                 ~    t          d t          d           t          dd          t                      g           d S )Nc                 6    t          j        | j        |          S rO   )r.   r  rR   rS   s     r5   rU   z5TestSystematic.test_besseli_complex.<locals>.<lambda>      qvq)) r7   c                 2    t          j        | |fi t          S rO   r  rS   s     r5   rU   z5TestSystematic.test_besseli_complex.<locals>.<lambda>  r  r7   r  r  r   r   r   r   r  s    r5   test_besseli_complexz#TestSystematic.test_besseli_complex  I    ))IIJJ.	
 	
 	
 	
 	
r7   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 rO   r   besseljr  rS   s     r5   rU   z-TestSystematic.test_besselj.<locals>.<lambda>  r  r7   r  r  r  r  Tr   c                 2    t          j        | |fi t          S rO   r  rS   s     r5   rU   z-TestSystematic.test_besselj.<locals>.<lambda>  r  r7   r  r  r  )r   rA   )r   r.   jvr   r   r  s    r5   test_besseljzTestSystematic.test_besselj  s    EIIJJT30 		
 	
 	
 	
 	EIIJJT30 	
 	
 	
 	
 	
 	
r7   c                 z    t          d t          d           t                      t                      g           d S )Nc                 6    t          j        | j        |          S rO   )r.   r  rR   rS   s     r5   rU   z5TestSystematic.test_besselj_complex.<locals>.<lambda>  r  r7   c                 2    t          j        | |fi t          S rO   r  rS   s     r5   rU   z5TestSystematic.test_besselj_complex.<locals>.<lambda>   r  r7   r  r  s    r5   test_besselj_complexz#TestSystematic.test_besselj_complex  sC    ))IIJJUUJLL!	
 	
 	
 	
 	
r7   c           	          t          t          j        t          j        t          dd          t          dt          j                  gdd           d S Nr   r<   r   Frb   nan_okrA   )r   r.   kvr   besselkr   r%   ru  r  s    r5   test_besselkzTestSystematic.test_besselk$  sM    ENs^^SBF^^,	
 	
 	
 	
 	
 	
r7   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%   ru  r  s    r5   test_besselk_intzTestSystematic.test_besselk_int-  sO    END#Arv/	
 	
 	
 	
 	
 	
r7   c                 ~    t          d t          d           t          dd          t                      g           d S )Nc                 6    t          j        | j        |          S rO   )r.   r  rR   rS   s     r5   rU   z5TestSystematic.test_besselk_complex.<locals>.<lambda>8  r  r7   c                 2    t          j        | |fi t          S rO   )r   r   r  rS   s     r5   rU   z5TestSystematic.test_besselk_complex.<locals>.<lambda>9  r  r7   r  r  r  r  s    r5   test_besselk_complexz#TestSystematic.test_besselk_complex6  r  r7   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   )	rC   r   besselyr  r   r%   ru  signnanrT   rH   r2   s      r5   	mpbesselyz.TestSystematic.test_bessely.<locals>.mpbessely>  si    fnQ55W5566A1vv~~FRWQZZ'1vv{{qAvvvHr7   r  r  r  r    r  )r   r.   yvr   r   r  r  s     r5   test_besselyzTestSystematic.test_bessely=  sa    	 	 	 	EY''T30		
 	
 	
 	
 	
 	
r7   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   ru  r  r  s      r5   r  z6TestSystematic.test_bessely_complex.<locals>.mpbesselyO  s    q!77w7788A1vv~~[222 , ,+A, , , , , , , , , , , , , , ,Hs   "A<<B B c                 6    t          j        | j        |          S rO   )r.   r  rR   rS   s     r5   rU   z5TestSystematic.test_bessely_complex.<locals>.<lambda>W  r  r7   i:  r  r  r  s     r5   test_bessely_complexz#TestSystematic.test_bessely_complexN  sX    	 	 	 	))Y''UUJLL!		
 	
 	
 	
 	
 	
r7   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  )rC   r   r  r   r%   r  r  s      r5   r  z2TestSystematic.test_bessely_int.<locals>.mpbessely^  s>    fnQ**++A1vv{{qAvvvHr7   c                 F    t          j        t          |           |          S rO   )r.   ynr   rS   s     r5   rU   z1TestSystematic.test_bessely_int.<locals>.<lambda>e  s    s1vvq)) r7   r     r  r  r   r   r   r   r  s     r5   test_bessely_intzTestSystematic.test_bessely_int]  sZ    	 	 	 	))Y''E4  #dC..1	
 	
 	
 	
 	
r7   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   rC   r)   r   r   )rz   ry   nonzero
bad_pointss      r5   r   z&TestSystematic.test_beta.<locals>.betam  s    5yyAII vAQSq1u%6%6%:q$@$@  "%%uQxxq&:;;;6M;q!$$$r7   c                       | |d          S NT)r"  r   )rz   ry   r   s     r5   rU   z*TestSystematic.test_beta.<locals>.<lambda>~  s    aD111 r7   r   Tr   r   dy=)r   r   rv   F)r   r.   r   r   r%   r,   )r  r#  r   s    @@r5   r  zTestSystematic.test_betaj  s    
	% 	% 	% 	% 	% 	% 	G1111UUCEEN 	
 	
 	
 	
 	GHZ   	
 	
 	
 	
 	
 	
r7   c                     t          t          j         t                      t	          d                     t                      t                      t                      g           d S )Nc                 4    t          j        | |d|d          S )Nr   Tr6  r   betaincrz   ry   rH   s      r5   rU   z-TestSystematic.test_betainc.<locals>.<lambda>      FN1aA4$P$P$P r7   )r   r.   r-  r   r   r   r  s    r5   test_betainczTestSystematic.test_betainc  sa    JLNN PP  
 UUCEE355!	
 	
 	
 	
 	
r7   c                     t          t          j         t                      t	          d                     t                      t                      t                      gd           d S )Nc                 4    t          j        | ||dd          S )Nr$   Tr+  r,  r.  s      r5   rU   z.TestSystematic.test_betaincc.<locals>.<lambda>  r/  r7   r   r   )r   r.   betainccr   r   r   r  s    r5   test_betaincczTestSystematic.test_betaincc  si    KLNN PP  
 UUCEE355!		
 		
 		
 		
 		
 		
r7   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$   rs   )r   r%   r  rC   r   r)   r   binomial)rG   kr"  r#  s      r5   r8  z+TestSystematic.test_binom.<locals>.binomial  s    1vvSVVaZ((( v1uuU1Q3ZZ"(51::*>*>>??%GG  "%%uQxxq&:;;;6M?1a(((r7   c                       | |d          S r%  r   )rG   r9  r8  s     r5   rU   z+TestSystematic.test_binom.<locals>.<lambda>  s    !Q555 r7   r   r3  r   r   rv   r(  )r   r.   binomr   r%   r,   )r  r#  r8  s    @@r5   
test_binomzTestSystematic.test_binom  s    
	) 	) 	) 	) 	) 	) 	H5555UUCEEN		
 	
 	
 	
 	HHZ  	
 	
 	
 	
 	
 	
r7   c                 ~    t          d t          d           t                      t                      gd           d S )Nc                 F    t          j        t          |           |          S rO   )r.   eval_chebytr   rG   rH   s     r5   rU   z0TestSystematic.test_chebyt_int.<locals>.<lambda>      A22 r7   c                 2    t          j        | |fi t          S rO   )r   chebytr  rA  s     r5   rU   z0TestSystematic.test_chebyt_int.<locals>.<lambda>      &-1*H*H*H*H r7   r9   r3  r  r  s    r5   test_chebyt_intzTestSystematic.test_chebyt_int  K    22HHIIXXsuu		
 	
 	
 	
 	
 	
r7   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 rO   )r   r   r   rD  r  rA  s     r5   rU   z,TestSystematic.test_chebyt.<locals>.<lambda>  D      //    r7   e   '  r  )r   r.   r@  r   r  s    r5   test_chebytzTestSystematic.test_chebyt  sK    N  s^^SUU#	
 	
 	
 	
 	
 	
r7   c                 ~    t          d t          d           t                      t                      gd           d S )Nc                 F    t          j        t          |           |          S rO   )r.   eval_chebyur   rA  s     r5   rU   z0TestSystematic.test_chebyu_int.<locals>.<lambda>  rB  r7   c                 2    t          j        | |fi t          S rO   )r   chebyur  rA  s     r5   rU   z0TestSystematic.test_chebyu_int.<locals>.<lambda>  rE  r7   r9   r3  r  r  s    r5   test_chebyu_intzTestSystematic.test_chebyu_int  rG  r7   c                 v    t          t          j        d t          dd          t                      g           d S )Nc                 x      t                      t          t          j                            | |fi t          S rO   )r   r   r   rU  r  rA  s     r5   rU   z,TestSystematic.test_chebyu.<locals>.<lambda>  rL  r7   rM  rN  )r   r.   rS  r   r  s    r5   test_chebyuzTestSystematic.test_chebyu  sC    N  s^^SUU#	
 	
 	
 	
 	
r7   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    r5   chiz$TestSystematic.test_chi.<locals>.chi      9Q<<?"r7   gU@X   g   V@)r   r   r^  r   r   r  r^  s     r5   test_chizTestSystematic.test_chi  W    	# 	# 	#CceeW555Ch7Q7Q7Q.R.R-STTTTTr7   c                     d }t          |t          j        t          t	          t
          j         d          t	          t
          j        d                    gd           d S )Nc                 6    t          j        |           d         S r  r\  rA  s    r5   r^  z,TestSystematic.test_chi_complex.<locals>.chi  r_  r7   r  r  rb   r@   )r   r   r^  r   r*   r%   ru  rb  s     r5   test_chi_complexzTestSystematic.test_chi_complex  i    	# 	# 	# 	J..0D0DEEF		
 	
 	
 	
 	
 	
r7   c                 `    d }t          |t          j        t          dd          g           d S )Nc                 6    t          j        |           d         S r  r.   sicir   s    r5   ciz"TestSystematic.test_ci.<locals>.ci      71::a= r7   r  r  )r   r   rm  r   r  rm  s     r5   test_cizTestSystematic.test_ci  s8    	! 	! 	! 	B	CcNN+;<<<<<r7   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  rk  rA  s    r5   rm  z*TestSystematic.test_ci_complex.<locals>.ci  rn  r7   r  r  rs  r@   )r   r   rm  r   r*   r%   ru  ro  s     r5   test_ci_complexzTestSystematic.test_ci_complex  si    	! 	! 	! 	Irvg..RV0D0DEEF		
 	
 	
 	
 	
 	
r7   c                     t          j        t                    j        }t	          t
          t          j        t                      gdd|z             d S NFr   r  )	r%   rK  rC   rL  r   r   r   rQ  r   r  rL  s     r5   
test_cospizTestSystematic.test_cospi  s>    huoo!FFL355'%aPSeTTTTTTr7   c                 f    t          t          t          j        t	                      gdd           d S )NFr?   r  )r   r   r   rQ  r   r  s    r5   test_cospi_complexz!TestSystematic.test_cospi_complex  :    L\\N	
 	
 	
 	
 	
 	
r7   c                     t          t          j        t          t          j                  t                      gdd           d S )Nrb   r9   rA   r   )r   r.   r#  r   r   r   r  s    r5   test_digammazTestSystematic.test_digamma  sD    JV^,,UUG	
 	
 	
 	
 	
 	
r7   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%   whererR   r   ri  rA  s    r5   param_filterz9TestSystematic.test_digamma_complex.<locals>.param_filter&  s0    8QVaZBF16NNT,ABE4PPPr7   r?   r,  rA   r   r  )r   r.   r#  r   r   r   )r  r  s     r5   test_digamma_complexz#TestSystematic.test_digamma_complex#  s[    	Q 	Q 	Q 	JV^,,\\N%	
 	
 	
 	
 	
 	
r7   c                 n    t          t          j        t          j        t                      gd           d S )Nr   r@   )r   r.   exp1r   e1r   r  s    r5   test_e1zTestSystematic.test_e12  s9    GIUUG		
 	
 	
 	
 	
 	
r7   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@   r9      r   r   r   =   r   r!   irO  y                )r   r.   r  r   r  r   r*   r%   ru  r'   r   r&   r   r  s    r5   test_e1_complexzTestSystematic.test_e1_complex:  s   GI..0D0DEEF		
 	
 	
 	
 	GI[b#&&qqq$w/uQB2..RB1G1G0GGHKLMRUWW	
 	
 	
 	
 	GI[c5))B.		
 	
 	
 	
 	
 	
r7   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    r5   rU   z,TestSystematic.test_exprel.<locals>.<lambda>U  *    166fl1ooa''vz%7H7H r7   r   c                 d    | dk    rt          j        |           | z  nt          j        d          S r  r  r   s    r5   rU   z,TestSystematic.test_exprel.<locals>.<lambda>[  r  r7   rb   gW:r   g   mBgyCxDr'  r@   )r   r.   exprelr   r%   r   rK  r   r   r,   ru  r   isinfr  s    r5   test_exprelzTestSystematic.test_exprelR  s    IHHBF28BJ//34446"(2:..2335 5 5 6	
 	
 	
 	IHHHeUAtT26:;;		
 	
 	
 	
 	26**++,,,	26'""a'(((((r7   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%   ru  r  s    r5   test_expm1_complexz!TestSystematic.test_expm1_complexb  sR    HL..0D0DEEF	
 	
 	
 	
 	
r7   c                 \    t          t          j        d t                      gd           d S )Nc                 0    t          j        | dz             S r  r   r   r   s    r5   rU   z3TestSystematic.test_log1p_complex.<locals>.<lambda>m  s    fj1oo r7   <   r3  )r   r.   log1pr   r  s    r5   test_log1p_complexz!TestSystematic.test_log1p_complexj  s:    H%%\\N		
 	
 	
 	
 	
 	
r7   c                 T    t          t          d t                      gdd           d S )Nc                 6    t          j        | dz             | z
  S r  r  r   s    r5   rU   z-TestSystematic.test_log1pmx.<locals>.<lambda>u  s    fjQ''!+ r7   r  r   )r   rA   )r   r   r   r  s    r5   test_log1pmxzTestSystematic.test_log1pmxr  s;    ++UUG	
 	
 	
 	
 	
 	
r7   c                 n    t          t          j        t          j        t                      gd           d S )Nr'  r@   )r   r.   r/   r   r+   r   r  s    r5   test_eizTestSystematic.test_ei{  s)    BGVYeDDDDDDr7   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%   ru  r  s    r5   test_ei_complexzTestSystematic.test_ei_complex~  sZ    GI..0D0DEEF		
 	
 	
 	
 	
 	
r7   c                 n    t          t          j        t          j        t	          d          g           d S )Nr   ry   )r   r.   elliper   r   r  s    r5   test_ellipezTestSystematic.test_ellipe  s(    BIv}sSzzzlCCCCCr7   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    r5   test_ellipeinczTestSystematic.test_ellipeinc  s4    BL&-#dC..#PS***9UVVVVVr7   c                     t          t          j        t          j        t                      t                      g           d S rO   r  r  s    r5   test_ellipeinc_largephiz&TestSystematic.test_ellipeinc_largephi  *    BL&-#%%HHHHHr7   c                     t          t          j        t          j        t          dd          t                      g           d S Nr  r  r   r.   	ellipkincr   ellipfr   r  s    r5   test_ellipfzTestSystematic.test_ellipf  s/    BL&-#dC..#%%9PQQQQQr7   c                     t          t          j        t          j        t                      t                      g           d S rO   r  r  s    r5   test_ellipf_largephiz#TestSystematic.test_ellipf_largephi  r  r7   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`  )rZ  s    r5   rU   z,TestSystematic.test_ellipk.<locals>.<lambda>  s    fmAE** r7   g        )rz   r   r3  )r   r.   r`  r   r   ellipkm1r  s    r5   test_ellipkzTestSystematic.test_ellipk  s^    BIv}sSzzzlCCCK**3ZZZL		
 	
 	
 	
 	
 	
r7   c                     d }t          t          j        |t          dd          t          d          gd           d S )Nc                 .    t          j        d| |          S r  r   ellippiphirZ  s     r5   r  z0TestSystematic.test_ellipkinc.<locals>.ellipkinc      >!S!,,,r7   r  r  r   r  Tr  r   r.   r  r   r  r  s     r5   test_ellipkinczTestSystematic.test_ellipkinc  sU    	- 	- 	-Ls^^S3ZZZ( 		
 	
 	
 	
 	
 	
r7   c                 ~    d }t          t          j        |t                      t          d          gd           d S )Nc                 .    t          j        d| |          S r  r  r  s     r5   r  z9TestSystematic.test_ellipkinc_largephi.<locals>.ellipkinc  r  r7   r   r  Tr  r  r  s     r5   test_ellipkinc_largephiz&TestSystematic.test_ellipkinc_largephi  sQ    	- 	- 	-LUUC#JJJ 		
 	
 	
 	
 	
 	
r7   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   snrX  r   r^  rX  s     r5   r  z+TestSystematic.test_ellipfun_sn.<locals>.sn  s'    AvvqtqA6666r7   c                 8    t          j        | |          d         S r  rV  rX  s     r5   rU   z1TestSystematic.test_ellipfun_sn.<locals>.<lambda>      1a+ r7       .    .Ar   r$   r   rs  r@   r  )r  r  s     r5   test_ellipfun_snzTestSystematic.test_ellipfun_sn  sZ    	7 	7 	7 	++s^^S1]]]+		
 	
 	
 	
 	
 	
r7   c           	      n    t          d d t          dd          t          dd          gd	           d S )
Nc                 8    t          j        | |          d         S r  rV  rX  s     r5   rU   z1TestSystematic.test_ellipfun_cn.<locals>.<lambda>  r  r7   c                 0    t          j        d| |          S )NcnrX  r  rX  s     r5   rU   z1TestSystematic.test_ellipfun_cn.<locals>.<lambda>      a888 r7   r  r  r   r$   r   rs  r@   r  r  s    r5   test_ellipfun_cnzTestSystematic.test_ellipfun_cn  L    ++88s^^S1]]]+		
 	
 	
 	
 	
 	
r7   c           	      n    t          d d t          dd          t          dd          gd	           d S )
Nc                 8    t          j        | |          d         S rU  rV  rX  s     r5   rU   z1TestSystematic.test_ellipfun_dn.<locals>.<lambda>  r  r7   c                 0    t          j        d| |          S r]  r  rX  s     r5   rU   z1TestSystematic.test_ellipfun_dn.<locals>.<lambda>  r  r7   r  r  r   r$   r   rs  r@   r  r  s    r5   test_ellipfun_dnzTestSystematic.test_ellipfun_dn  r  r7   c                 X    t          t          j        d t                      g           d S )Nc                 *    t          j        |           S rO   r   r   rA  s    r5   rU   z)TestSystematic.test_erf.<locals>.<lambda>      fjmm r7   )r   r.   r   r   r  s    r5   test_erfzTestSystematic.test_erf  s&    BF$;$;ceeWEEEEEr7   c                 \    t          t          j        d t                      gd           d S )Nc                 *    t          j        |           S rO   r  rA  s    r5   rU   z1TestSystematic.test_erf_complex.<locals>.<lambda>  r  r7   r<   r  )r   r.   r   r   r  s    r5   r   zTestSystematic.test_erf_complex  s+    BF$;$;jll^sSSSSSSr7   c                 v    t          t          j        t          d           t	                      gd           d S )Nc                 *    t          j        |           S rO   r   r   rA  s    r5   rU   z*TestSystematic.test_erfc.<locals>.<lambda>      v{1~~ r7   r?   r@   )r   r.   r   r   r   r  s    r5   	test_erfczTestSystematic.test_erfc  sC    G5566UUG		
 	
 	
 	
 	
 	
r7   c                 v    t          t          j        t          d           t	                      gd           d S )Nc                 *    t          j        |           S rO   r  rA  s    r5   rU   z2TestSystematic.test_erfc_complex.<locals>.<lambda>  r  r7   r<   r  )r   r.   r   r   r   r  s    r5   test_erfc_complexz TestSystematic.test_erfc_complex  sC    G5566\\N		
 	
 	
 	
 	
 	
r7   c                 n    t          t          j        t          j        t	                      gd           d S Nr<   r  )r   r.   erfir   r   r  s    r5   	test_erfizTestSystematic.test_erfi  s)    BGV[355'SAAAAAAr7   c                 n    t          t          j        t          j        t	                      gd           d S r  )r   r.   r  r   r   r  s    r5   test_erfi_complexz TestSystematic.test_erfi_complex  s)    BGV[:<<.CHHHHHHr7   c                 v    t          t          j        t          d           t	                      gd           d S )Nc                 *    t          j        |           S rO   )r   ncdfrA  s    r5   rU   z*TestSystematic.test_ndtr.<locals>.<lambda>  r  r7   r<   r  )r   r.   ndtrr   r   r  s    r5   	test_ndtrzTestSystematic.test_ndtr  sC    G5566UUG		
 	
 	
 	
 	
 	
r7   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%   sqrtrA  s    r5   rU   z2TestSystematic.test_ndtr_complex.<locals>.<lambda>  s#    fk1"RWR[[.11"4 r7   rO  r   r   r  )r   r.   r  r   r*   r  s    r5   test_ndtr_complexz TestSystematic.test_ndtr_complex  sX    G44'&&11WUE5J5JKKKL		
 	
 	
 	
 	
 	
r7   c                 z    t          t          j        t          d           t	                      gddd           d S )Nc                 N    t          j        t          j        |                     S rO   )r   r   r  rA  s    r5   rU   z.TestSystematic.test_log_ndtr.<locals>.<lambda>  s    vz&+a..'A'A r7   iX  r*  r?   rG   r   rA   )r   r.   log_ndtrr   r   r  s    r5   test_log_ndtrzTestSystematic.test_log_ndtr  sF    KAABBUUGs%	
 	
 	
 	
 	
 	
r7   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  rA  s    r5   rU   z6TestSystematic.test_log_ndtr_complex.<locals>.<lambda>  s-    vz&+qbn2M2Mb2P'Q'Q r7   r  rG  rO  r=   r   r<   r*  rG   r   )r   r.   r  r   r   r*   r  s    r5   test_log_ndtr_complexz$TestSystematic.test_log_ndtr_complex
  sc    KQQRR'&$//75#3F3FGGGHs		
 	
 	
 	
 	
 	
r7   c                 `    t          d t          j        t          dd          gd           d S )Nc                 6    t          j        |           d         S )Nr~   )r.   eulerr  s    r5   rU   z.TestSystematic.test_eulernum.<locals>.<lambda>  s    bhqkk"o r7   r$   rO  r  )r   r   eulernumr   r  s    r5   test_eulernumzTestSystematic.test_eulernum  sA    %%OAu		
 	
 	
 	
 	
 	
r7   c           	          t          t          j        t          j        t          dd          t          dt          j                  gdd           d S )Nr   r<   r?      r|  )	r   r.   rF   r   rD   r   r   r%   ru  r  s    r5   test_expintzTestSystematic.test_expint  sM    GMAs^^SBF^^,	
 	
 	
 	
 	
 	
r7   c                 \    d }t          |t          j        t                      g           d S )Nc                 6    t          j        |           d         S r  r.   fresnelr   s    r5   fresnelsz.TestSystematic.test_fresnels.<locals>.fresnels$      :a==##r7   )r   r   r  r   )r  r  s     r5   test_fresnelszTestSystematic.test_fresnels#  1    	$ 	$ 	$Hfow?????r7   c                 \    d }t          |t          j        t                      g           d S )Nc                 6    t          j        |           d         S r  r  r   s    r5   fresnelcz.TestSystematic.test_fresnelc.<locals>.fresnelc)  r  r7   )r   r   r  r   )r  r  s     r5   test_fresnelczTestSystematic.test_fresnelc(  r  r7   c                     t          t          j        t          t          j                  t                      g           d S rO   )r   r.   gammar   r   r   r  s    r5   
test_gammazTestSystematic.test_gamma-  s-    BH&6v|&D&DsuugNNNNNr7   c                     t          t          j        t          t          j                  t                      gd           d S Nrt   r@   )r   r.   r  r   r   r   r  s    r5   test_gamma_complexz!TestSystematic.test_gamma_complex0  sA    HV\**\\N		
 	
 	
 	
 	
 	
r7   c           	          t          t          j        d t          ddd          t          dd          gdd           d S )Nc                 0    t          j        | |d          S )NTr5  r   r7  )r4   ry   s     r5   rU   z.TestSystematic.test_gammainc.<locals>.<lambda><      aTBBB r7   r        @Finclusive_ar'  r  )r   r.   r7  r   r  s    r5   test_gammainczTestSystematic.test_gammainc8  sS    KBBCU+++SC[[9	
 	
 	
 	
 	
 	
r7   c           	          t          t          j        d t          ddd          t          dd          gdd           d S )Nc                 0    t          j        | |d          S )NT)rz   r6  r&  )r4   rz   s     r5   rU   z/TestSystematic.test_gammaincc.<locals>.<lambda>F  r'  r7   r   r(  Fr)  r'  r  )r   r.   	gammainccr   r  s    r5   test_gammaincczTestSystematic.test_gammainccB  sS    LBBCU+++SC[[9	
 	
 	
 	
 	
 	
r7   c                 v    d }t          t          j        t          |          t	                      g           d S )Nc                 4    t          j        |           j        S rO   r   r  rR   rA  s    r5   fz&TestSystematic.test_gammaln.<locals>.fN  s    ?1%%**r7   )r   r.   gammalnr   r   )r  r3  s     r5   test_gammalnzTestSystematic.test_gammalnL  s<    	+ 	+ 	+ 	BJ(8(;(;ceeWEEEEEr7   )rH  c                     t          t          j        t          t          j                  t          dd          t                      t                      g           d S r  )r   r.   eval_gegenbauerr   r   
gegenbauerr   r  s    r5   test_gegenbauerzTestSystematic.test_gegenbauerS  sL    V.//s^^SUUCEE*	
 	
 	
 	
 	
r7   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   r8  rC   r   r  ru  rG   rz   rH   r2   s       r5   r8  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Hr7   c                     t          j        t          |           ||          }t          |          dk    rt          j        S |S )Nr<  )r.   r7  r   r   r%   ru  r=  s       r5   sc_gegenbauerz9TestSystematic.test_gegenbauer_int.<locals>.sc_gegenbauerx  s7    "3q661a00A1vv~~vHr7   r   r=   g    eg    eAi@  Tr   )rG   r   r   rA   r+  r    r&  )r   r   r   r   r   r%   r&   )r  r8  r?  s      r5   test_gegenbauer_intz"TestSystematic.test_gegenbauer_int[  s    	 	 	6	 	 	 	Z((As^^Ss^^SUU3d		
 	
 	
 	
 	Z((As^^SUUHR[b"-E-E$F$FGT		
 	
 	
 	
 	
 	
r7   c                     t          d t          t          j                  t	          dd          t                      t                      g           d S )Nc                 R    t          j        t          |           |j        |          S rO   )r.   r7  r   rR   rG   rz   rH   s      r5   rU   z8TestSystematic.test_gegenbauer_complex.<locals>.<lambda>  s    B.s1vvqvqAA r7   r   r=   )r   r   r   r8  r   r   r   r  s    r5   test_gegenbauer_complexz&TestSystematic.test_gegenbauer_complex  sL    AAV.//As^^SUUJLL1	
 	
 	
 	
 	
r7   c                     t          d t          t          j                  t	          dd          t	                      t                      g           d S )Nc                 B    t          j        | j        |j        |          S rO   )r.   r7  rR   rD  s      r5   rU   z@TestSystematic.test_gegenbauer_complex_general.<locals>.<lambda>  s    B.qvqvqAA r7   r  r  )r   r   r   r8  r   r   r  s    r5   test_gegenbauer_complex_generalz.TestSystematic.test_gegenbauer_complex_general  sL    AAV.//s^^SUUJLL1	
 	
 	
 	
 	
r7   c                     t          t          j        t          d           t	          dd          t	                      g           d S )Nc                 2    t          j        | |fi t          S rO   )r   hankel1r  rT   rH   s     r5   rU   z-TestSystematic.test_hankel1.<locals>.<lambda>  r  r7   @x@xD)r   r.   rK  r   r   r  s    r5   test_hankel1zTestSystematic.test_hankel1  H    JIIJJsuu%	
 	
 	
 	
 	
r7   c                     t          t          j        t          d           t	          dd          t	                      g           d S )Nc                 2    t          j        | |fi t          S rO   )r   hankel2r  rL  s     r5   rU   z-TestSystematic.test_hankel2.<locals>.<lambda>  r  r7   rM  rN  )r   r.   rS  r   r   r  s    r5   test_hankel2zTestSystematic.test_hankel2  rP  r7   z%issues at intermediately large ordersc                     t          d t          t          j                  t	          dd          t                      g           d S )Nc                 F    t          j        t          |           |          S rO   )r.   eval_hermiter   rA  s     r5   rU   z-TestSystematic.test_hermite.<locals>.<lambda>      Q33 r7   r   rO  )r   r   r   hermiter   r   r  s    r5   test_hermitezTestSystematic.test_hermite  sG    33V^,,Ausuu%	
 	
 	
 	
 	
r7   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 rO   r_   )rz   rH   KWs     r5   rU   z,TestSystematic.test_hyp0f1.<locals>.<lambda>  s    q!22r22 r7   r  r  r   g     j@r  r  )r   r   r.   rQ   r   )r  r]  s    @r5   test_hyp0f1zTestSystematic.test_hyp0f1  sb    #---I2222s^^SC[[)		
 	
 	
 	
 	
 	
r7   c                     t          d t          d           t          dd          t          t	          dd          t	          dd                    g           d S )Nc                 6    t          j        | j        |          S rO   rP   )rz   r4   s     r5   rU   z4TestSystematic.test_hyp0f1_complex.<locals>.<lambda>  s    161-- r7   c                 2    t          j        | |fi t          S rO   )r   rQ   r  rz   rH   s     r5   rU   z4TestSystematic.test_hyp0f1_complex.<locals>.<lambda>  rE  r7   r   r   irM   )r   r   r   r   r*   r  s    r5   test_hyp0f1_complexz"TestSystematic.test_hyp0f1_complex  sa    --HHIIb\\:gdD&9&973;L;LMMN	
 	
 	
 	
 	
r7   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rO   )r   hyp1f1ZeroDivisionErrorr%   ru  r.  s      r5   mpmath_hyp1f1z1TestSystematic.test_hyp1f1.<locals>.mpmath_hyp1f1  sA    }Q1---$   vs    11r  r9   r$   Fr)  r   )rG   r  )r   r.   rf  r   )r  rh  s     r5   test_hyp1f1zTestSystematic.test_hyp1f1  sk    	 	 	 	Ib\\3q"%888#c2,,G	
 	
 	
 	
 	
 	
r7   c           	          t          t          d           t          d           t          dd          t          dd          t	                      gd           d S )Nc                 B    t          j        | j        |j        |          S rO   )r.   rf  rR   r.  s      r5   rU   z4TestSystematic.test_hyp1f1_complex.<locals>.<lambda>  s    ry'C'C r7   c                 4    t          j        | ||fi t          S rO   )r   rf  r  r.  s      r5   rU   z4TestSystematic.test_hyp1f1_complex.<locals>.<lambda>      V]1a-N-Ng-N-N r7   r  r  i  r  )r   r   r   r   r   r  s    r5   test_hyp1f1_complexz"TestSystematic.test_hyp1f1_complex  sb    CCDDNNOOs^^Ss^^Z\\:		
 	
 	
 	
 	
 	
r7   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 rO   )r.   r   rR   rz   ry   r   rH   s       r5   rU   z4TestSystematic.test_hyp2f1_complex.<locals>.<lambda>  s    ryCC r7   c                 6    t          j        | |||fi t          S rO   )r   r   r  rq  s       r5   rU   z4TestSystematic.test_hyp2f1_complex.<locals>.<lambda>      aAq0T0TG0T0T r7   g      Yg      Y@r   r  r  r  s    r5   test_hyp2f1_complexz"TestSystematic.test_hyp2f1_complex  se     	CCTTUUs^^Ss^^Ss^^Z\\J		
 	
 	
 	
 	
 	
r7   c                     t          t          j        t          d           t	                      t	                      t	                      g           d S )Nc                 4    t          j        | ||fi t          S rO   )r   rx   r  r.  s      r5   rU   z,TestSystematic.test_hyperu.<locals>.<lambda>  rm  r7   )r   r.   rx   r   r   r  s    r5   test_hyperuzTestSystematic.test_hyperu  sH    INNOOUUCEE355!	
 	
 	
 	
 	
r7   z:mpmath issue gh-342: unsupported operand mpz, long for powc           	      ~    d }t          t          |t          ddd          t          dd          gdd           d S )	Nc                     t          j        ||           t          j        |           z  t          j        |           z  S rO   )r   powerr(   r  rb  s     r5   mp_igam_facz1TestSystematic.test_igam_fac.<locals>.mp_igam_fac  s0    <1%%fj!nn4V\!__DDr7   r   g  ļBFr)  r      r|  )r   r   r   )r  r{  s     r5   test_igam_faczTestSystematic.test_igam_fac  sb    	E 	E 	E 	De,,,c!Tll;	
 	
 	
 	
 	
 	
r7   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    r5   test_j0zTestSystematic.test_j0  sQ     	BE69s4~~.>???BE69s4~~.>TJJJJJJr7   c                     t          t          j        t          j        t	          dd          g           t          t          j        t          j        t	          dd          gd           d S r  )r   r.   j1r   r   r  s    r5   test_j1zTestSystematic.test_j1  sO    BE69s4~~.>???BE69s4~~.>TJJJJJJr7   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 rO   r   jacobir  rq  s       r5   rU   z,TestSystematic.test_jacobi.<locals>.<lambda>  rs  r7   c                 J    t          j        t          |           |||          S rO   r.   eval_jacobir   )rG   ry   r   rH   s       r5   rU   z,TestSystematic.test_jacobi.<locals>.<lambda>      r~c!ffaA>> r7   c                 6    t          j        | |||fi t          S rO   r  rq  s       r5   rU   z,TestSystematic.test_jacobi.<locals>.<lambda>  rs  r7   )r   r.   r  r   r   r   r  s    r5   test_jacobizTestSystematic.test_jacobi  s    NTTUUUUCEE355#%%(	
 	
 	

 	>>TTUUXXsuuceeSUU+	
 	
 	
 	
 	
r7   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  rG   rz   ry   rH   s       r5   r  z.TestSystematic.test_jacobi_int.<locals>.jacobi#  s&    Avvs=Aq!,,,r7   c                 J    t          j        t          |           |||          S rO   r  r  s       r5   rU   z0TestSystematic.test_jacobi_int.<locals>.<lambda>)  r  r7   c                 @     t                    | |||fi t          S rO   )r   r  )rG   rz   ry   rH   r  s       r5   rU   z0TestSystematic.test_jacobi_int.<locals>.<lambda>*  s)    7/771aNNgNN r7    N  r9   r  r   r   r   )r  r  s    @r5   test_jacobi_intzTestSystematic.test_jacobi_int!  si    	- 	- 	-
 	>>NNNNXXsuuceeSUU+	
 	
 	
 	
 	
 	
r7   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    r5   r  z$TestSystematic.test_kei.<locals>.kei1  s;    Avvs1u/#FJ//1@@@@@r7   ꌠ9Y>)ꌠ9Y>)Fr  r  )r   r.   r  r   )r  r  s     r5   test_keizTestSystematic.test_kei0  sB    	A 	A 	A
 	BFC#eT*:*:);tDDDDDDr7   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    r5   rU   z)TestSystematic.test_ker.<locals>.<lambda>;  s    vz!Q'B'B''B'B r7   r  r  r  r  )r   r.   r  r   r   r  s    r5   test_kerzTestSystematic.test_ker8  sJ    FBBCC		
 	
 	
 	
 	
 	
r7   c                     t          t          t          j                  d t	                      t	                      g           d S )Nc                 N     t          t          j                  | |fi t          S rO   r   r   laguerrer  rA  s     r5   rU   z.TestSystematic.test_laguerre.<locals>.<lambda>D  &    :)&/::1aKK7KK r7   )r   r   r.   eval_laguerrer   r  s    r5   test_laguerrezTestSystematic.test_laguerre@  sA    r'((KKUUCEEN	
 	
 	
 	
 	
r7   c                 d    t          d d t                      t                      gd           d S )Nc                 F    t          j        t          |           |          S rO   )r.   r  r   rA  s     r5   rU   z2TestSystematic.test_laguerre_int.<locals>.<lambda>J      )#a&&!44 r7   c                 N     t          t          j                  | |fi t          S rO   r  rA  s     r5   rU   z2TestSystematic.test_laguerre_int.<locals>.<lambda>K  r  r7   r  r  r  r  s    r5   test_laguerre_intz TestSystematic.test_laguerre_intH  sB    44KKXXsuu		
 	
 	
 	
 	
 	
r7   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 rO   )r.   rj  r   rR   rH   r9  s     r5   rU   z3TestSystematic.test_lambertw_real.<locals>.<lambda>S  s    QAF44 r7   c                 P    t          j        | t          |j                            S rO   )r   rj  r   rR   r  s     r5   rU   z3TestSystematic.test_lambertw_real.<locals>.<lambda>T  s    CKK88 r7   r   r   r?   FrA   r  )r   r   r%   ru  r   r  s    r5   test_lambertw_realz!TestSystematic.test_lambertw_realP  sT    4488((&B--8u		
 	
 	
 	
 	
 	
r7   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   )overrL   )r%   r   ru  r   )rH   facrX   egs      r5   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      @@r5   test_lanczos_sum_expg_scaledz+TestSystematic.test_lanczos_sum_expg_scaledY  s|    &F1II)		 		 		 		 		 		 	LH%0001		
 	
 	
 	
 	
 	
r7   c                     t          t          j        t          j        t                      t                      g           d S rO   )r   r.   eval_legendrer   legendrer   r  s    r5   test_legendrezTestSystematic.test_legendrep  s+    B,fosuu~NNNNNr7   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 rO   r.   r  r   rA  s     r5   rU   z2TestSystematic.test_legendre_int.<locals>.<lambda>v  r  r7   c                 N     t          t          j                  | |fi t          S rO   r   r   r  r  rA  s     r5   rU   z2TestSystematic.test_legendre_int.<locals>.<lambda>w  r  r7   r  r  c                 F    t          j        t          |           |          S rO   r  rA  s     r5   rU   z2TestSystematic.test_legendre_int.<locals>.<lambda>~  r  r7   c                 N     t          t          j                  | |fi t          S rO   r  rA  s     r5   rU   z2TestSystematic.test_legendre_int.<locals>.<lambda>  r  r7   r+  r@  rk   )r   r   r   r   r%   r&   r  s    r5   test_legendre_intz TestSystematic.test_legendre_intt  s    44KKXXsuu		
 	
 	
 	
 	44KKXXxCR 8 899:	
 	
 	
 	
 	
r7   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                 z   	 t                      5 }|                    t                     t          j        || |          d         d         }d d d            n# 1 swxY w Y   n# t
          $ r t          j        cY S w xY wt          |          dk    r&t          j	        t          j
        |j                  z  }|S )Ncategoryr   r~   r~   )#v)r   filterDeprecationWarningr.   lpmn
ValueErrorr%   r  r   ru  r  rR   )rG   rZ  r4   suprT   s        r5   lpnmz(TestSystematic.test_legenp.<locals>.lpnm  s    &(( 3CJJ(:J;;;1a((+E2A3 3 3 3 3 3 3 3 3 3 3 3 3 3 3    v1vv~~FRWQV__,Hs4   A& >AA& AA& !A"A& &A?>A?c                     t          j        || |          }t          |          dk    r&t          j        t          j        |j                  z  }|S )Nr  )r.   r   r   r%   ru  r  rR   )rG   rZ  r4   rT   s       r5   lpnm_2z*TestSystematic.test_legenp.<locals>.lpnm_2  s?    1a  A1vv~~FRWQV__,Hr7   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   rs   r   rr   typer  )r   r   rz  r  r   r%   r  r   r   ru  rR   )rG   rZ  r4   typrT   s        r5   r   z*TestSystematic.test_legenp.<locals>.legenp  s    Q!r''s1vv{{ 661uuBF!<A:::11vv~~v1vv{{!!C/ //1acBBBA1vv~~JQV!4!44Hr7   rG  r=   r~   r$   r   r  r  )r  r  r  r   s       r5   test_legenpzTestSystematic.test_legenp  s    
	 
	 
		 	 		 	 	0 	D&6$+<+<fT3>O>OQTQVQV*WXXXD#D#B

;		
 	
 	
 	
 	
 	
r7   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                      5 }|                    t                     t          j        |j        | j        |d          d         d         cd d d            S # 1 swxY w Y   d S # t          $ r t          j        cY S w xY w)Nr  r   r  r   r  	r   r  r  r.   clpmnrR   r  r%   r  rG   rZ  r4   r  s       r5   clpnmz3TestSystematic.test_legenp_complex_2.<locals>.clpnm      &(( ICJJ(:J;;;8AFAFAA>>>qA%HI I I I I I I I I I I I I I I I I I    v5   A3 A	A&A3 &A**A3 -A*.A3 3BBc                     t          |          dk     rt          j        S  t          t          j                  t          | j                  t          |j                  |d          S Nrs   r   r  r   r%   r  r   r   r   r   rR   rG   rZ  r4   s      r5   r   z4TestSystematic.test_legenp_complex_2.<locals>.legenp  M    1vv~~v2#FM223qv;;AFQUVWWWWr7   	r   r   rK   r   r  rL   r   rk   g     @@r  rK   rL   g?r!   r   r~   r   r$   r   r   r   r   r  r%   r,   r   r   r   r  r  r   rH   rW   r4   s         r5   test_legenp_complex_2z$TestSystematic.test_legenp_complex_2      	 	 		X 	X 	X HCCCDDH+++,,qqqvYAd111fI%,,..+++,,+++,,a[[ 	
 	
 	
 	
 	
 	
r7   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                      5 }|                    t                     t          j        |j        | j        |d          d         d         cd d d            S # 1 swxY w Y   d S # t          $ r t          j        cY S w xY w)Nr  rr   r  r   r  r  r  s       r5   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 )Nrs   rr   r  r  r  s      r5   r   z4TestSystematic.test_legenp_complex_3.<locals>.legenp  r  r7   r  r  r!   r  r   r   r  r  r  s         r5   test_legenp_complex_3z$TestSystematic.test_legenp_complex_3  r  r7   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      r5   lqnmz(TestSystematic.test_legenq.<locals>.lqnm  s     71a##A&u--r7   c                     t          |          dk     rt          j        S  t          t          j                  | ||d          S r  )r   r%   r  r   r   legenqr  s      r5   r  z*TestSystematic.test_legenq.<locals>.legenq  s<    1vv~~v2#FM221aCCCCr7   r   r=   r  r  r  r  s      r5   test_legenqzTestSystematic.test_legenq  se    	. 	. 	.	D 	D 	D 	As^^VAs^^SUU3	
 	
 	
 	
 	
r7   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   rR   r  s      r5   r  z0TestSystematic.test_legenq_complex.<locals>.lqnm  s0    73qv;;AFQ77:5AAr7   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   rR   r  s      r5   r  z2TestSystematic.test_legenq_complex.<locals>.legenq
  r  r7   r   r=   r  )r   r   r   r  s      r5   test_legenq_complexz"TestSystematic.test_legenq_complex  sp    	B 	B 	B	X 	X 	X 	As^^VAs^^Z\\:		
 	
 	
 	
 	
 	
r7   c                 `    d }d }t          t          |t                      gdd|           d S )Nc                 h    t          j        t          j        |           | k    | dk    z  dd          S )Nr   FT)r%   r  floorr   s    r5   r  z0TestSystematic.test_lgam1p.<locals>.param_filter  s,    8RXa[[A-!q&95$GGGr7   c                 :    t          j        d| z             j        S r  r2  rA  s    r5   	mp_lgam1pz-TestSystematic.test_lgam1p.<locals>.mp_lgam1p  s    ?1q5))..r7   r?   r=   r  )r   r   r   )r  r  r  s      r5   test_lgam1pzTestSystematic.test_lgam1p  s^    	H 	H 	H	/ 	/ 	/ 	UUG%	
 	
 	
 	
 	
 	
r7   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 rO   )r   r  r  r*   r%   r  )r4   rX   s     r5   mpmath_loggammaz5TestSystematic.test_loggamma.<locals>.mpmath_loggamma*  sO    .oa(( . . .bfbf--.Js    .AAFr
  )r  distinguish_nan_and_infrA   )r   r.   r  r   )r  r  s     r5   test_loggammazTestSystematic.test_loggamma)  sN    	 	 	 	K\\N$)	
 	
 	
 	
 	
 	
r7   c                 ~    d }t          |t          d           t                      t                      g           d S )Nc                 8    t          j        | |          d         S r  )r.   pbdvrL  s     r5   pcfdz&TestSystematic.test_pcfd.<locals>.pcfd<      71a==##r7   c                 2    t          j        | |fi t          S rO   )r   r  r  rL  s     r5   rU   z*TestSystematic.test_pcfd.<locals>.<lambda>@  s    &+a*F*Fg*F*F r7   )r   r   r   )r  r  s     r5   	test_pcfdzTestSystematic.test_pcfd:  sN    	$ 	$ 	$FFGGUUCEEN	
 	
 	
 	
 	
r7   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.   pbvvrL  s     r5   pcfvz&TestSystematic.test_pcfv.<locals>.pcfvG  r  r7   c                 x      t                      t          t          j                            | |fi t          S rO   )r   r   r   r  r  rL  s     r5   rU   z*TestSystematic.test_pcfv.<locals>.<lambda>K  s4    F(8(E(EFFq!WWwWW r7   r  r  r  )r  r  s     r5   	test_pcfvzTestSystematic.test_pcfvD  sM    	$ 	$ 	$WWUUCEEN		
 	
 	
 	
 	
 	
r7   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.   pbwarb  s     r5   pcfwz&TestSystematic.test_pcfw.<locals>.pcfwQ  r  r7   c                 8    t          j        | |          d         S r  r  rb  s     r5   dpcfwz'TestSystematic.test_pcfw.<locals>.dpcfwT  r  r7   c                 F    t          j        t           j        | |fd          S )Nr>   )r   diffr  rb  s     r5   mpmath_dpcfwz.TestSystematic.test_pcfw.<locals>.mpmath_dpcfwW  s    ;v{QFF;;;r7   ri   rj   g:0yU>r=   r  g&.!>)r   r   r  r   )r  r  r  r   s       r5   	test_pcfwzTestSystematic.test_pcfwP  s    	$ 	$ 	$	$ 	$ 	$	< 	< 	<
 	KQZZR$	
 	
 	
 	
 	QZZR$	
 	
 	
 	
 	
 	
r7   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    r5   test_polygammazTestSystematic.test_polygammal  sV     	LLNN+F,<==>>At__cee$	
 	
 	
 	
 	
r7   c                     t          t          j        t          j        t	          dt
          j                  gddd           d S )Nir  FT)rG   r  r   )r   r.   r  r   r   r%   ru  r  s    r5   test_rgammazTestSystematic.test_rgammav  sH    IM  	
 	
 	
 	
 	
 	
r7   c                     t          t          j        t          t          j                  t                      gd           d S r"  )r   r.   r  r   r   r   r  s    r5   test_rgamma_complexz"TestSystematic.test_rgamma_complex  sA    IV]++\\N		
 	
 	
 	
 	
 	
r7   zNsee gh-3551 for bad points on 32 bit systems and gh-8095 for another bad point)rI  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  )rC   r   r   r  rf)rz   rZ  s     r5   mppochz&TestSystematic.test_rf.<locals>.mppoch  sg     Q<<3q1u::--%A,,!2C2C
1AAE

QAyA&r7   r   r3  )
r   parser   r   Versionr+  r   r.   pochr   )r  r,  s     r5   test_rfzTestSystematic.test_rf  sk     =+,,0H0HHHYFF' ' ' 	BGVceeSUU^EEEEEEr7   c                     t          j        t                    j        }t	          t
          t          j        t                      gdd|z             d S ru  )	r%   rK  rC   rL  r   r   r   rI  r   rv  s     r5   
test_sinpizTestSystematic.test_sinpi  sN    huoo!LUUG3	
 	
 	
 	
 	
 	
r7   c                 f    t          t          t          j        t	                      gdd           d S )NFg+=r  )r   r   r   rI  r   r  s    r5   test_sinpi_complexz!TestSystematic.test_sinpi_complex  rz  r7   c                     d }t          |t          j        t                      g           t          |t          j        t	          g d          g           d S )Nc                 6    t          j        |           d         S r  r\  r   s    r5   shiz$TestSystematic.test_shi.<locals>.shi  r_  r7   r`  )r   r   r7  r   r   r  r7  s     r5   test_shizTestSystematic.test_shi  rd  r7   c                     d }t          |t          j        t          t	          t
          j         d          t	          t
          j        d                    gd           d S )Nc                 6    t          j        |           d         S r  r\  rA  s    r5   r7  z,TestSystematic.test_shi_complex.<locals>.shi  r_  r7   r  r  rb   r@   )r   r   r7  r   r*   r%   ru  r8  s     r5   test_shi_complexzTestSystematic.test_shi_complex  rh  r7   c                 \    d }t          |t          j        t                      g           d S )Nc                 6    t          j        |           d         S r  rk  r   s    r5   siz"TestSystematic.test_si.<locals>.si  rn  r7   )r   r   r?  r   r  r?  s     r5   test_sizTestSystematic.test_si  s1    	! 	! 	!B	CEE733333r7   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  rk  rA  s    r5   r?  z*TestSystematic.test_si_complex.<locals>.si  rn  r7   r  r  rb   r@   )r   r   r?  r   r*   r%   ru  r@  s     r5   test_si_complexzTestSystematic.test_si_complex  si    	! 	! 	! 	Irvg..RV0D0DEEF		
 	
 	
 	
 	
 	
r7   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    r5   dilogz)TestSystematic.test_spence.<locals>.dilog      >!QU+++r7   r   r   r@   )r   r.   rB  r   r   r%   ru  r  rH  s     r5   test_spencezTestSystematic.test_spence  sW    	, 	, 	, 	IU##BF^^		
 	
 	
 	
 	
 	
r7   c                 z    d }t          t          j        t          |          t	                      gd           d S )Nc                 2    t          j        dd| z
            S r?  rG  rA  s    r5   rH  z1TestSystematic.test_spence_complex.<locals>.dilog  rI  r7   r   r@   )r   r.   rB  r   r   rJ  s     r5   test_spence_complexz"TestSystematic.test_spence_complex  sN    	, 	, 	,IU##\\N		
 	
 	
 	
 	
 	
r7   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                     || k    rt           j        S t                      5 }|                    t                     t          j        || ||          cd d d            S # 1 swxY w Y   d S )Nr  )r%   r  r   r  r  r.   sph_harm)lrZ  r  r  r  s        r5   	spherharmz0TestSystematic.test_spherharm.<locals>.spherharm  s    1uuv"$$ 5

$6
777{1ae445 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5s   2A  A$'A$r   r=   r   r   rs  ip  r[   )rv   rG   r   )r   r   rS  r   r   r   )r  rS  s     r5   test_spherharmzTestSystematic.test_spherharm  s}    	5 	5 	5 	As^^VAs^^S1^^^S1"=M=M=MN	
 	
 	
 	
 	
 	
r7   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    r5   test_struvehzTestSystematic.test_struveh  sP    IV^,,s^^SC[[)		
 	
 	
 	
 	
 	
r7   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)rT   r4   r   s      r5   
mp_struvelz/TestSystematic.test_struvel.<locals>.mp_struvel  s{    1uuaRCFFTMM )-,$'FIM!>!Q//$+FIMMGFIM++++>!Q'''s   %A* *A=rV  r(  r   rW  Tr   )r   r.   	modstruver   r   )r  r^  s     r5   test_struvelzTestSystematic.test_struvel  sb    		( 		( 		( 	LZ((s^^SC[[) 	
 	
 	
 	
 	
 	
r7   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   rj  r(   r  r   s    r5   mpmath_wrightomega_realzETestSystematic.test_wrightomega_real.<locals>.mpmath_wrightomega_real  s&    ?6:a==&*V2D2DEEEr7   r   gPKDg+<r   F)rA   rv   r  )r   r.   rx  r   )r  rc  s     r5   test_wrightomega_realz$TestSystematic.test_wrightomega_real  sX    	F 	F 	F 	N#	
 	
 	
 	
 	
 	
r7   c                 ^    t          t          j        d t                      gdd           d S )Nc                 "    t          | d          S )Nrn  )rl  rA  s    r5   rU   z1TestSystematic.test_wrightomega.<locals>.<lambda>%  s    )!R00 r7   r   Fr  )r   r.   rx  r   r  s    r5   test_wrightomegazTestSystematic.test_wrightomega"  s=    N00\\N	
 	
 	
 	
 	
 	
r7   c           	          t          t          j        t          t          j                  t          ddd          t          dd          g           d S )Nr$       _BF)rz   ry   r*  r   rz   r*  )r   r.   zetar   r   r   r  s    r5   test_hurwitz_zetaz TestSystematic.test_hurwitz_zeta+  sT    GV[))1%000#u2M2M2MN	
 	
 	
 	
 	
r7   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   rk  ru  r   s    r5   rU   z2TestSystematic.test_riemann_zeta.<locals>.<lambda>5  s    Qfk!nnnFJ r7   rG  r=   Frt   r  )r   r.   rk  r   r  s    r5   test_riemann_zetaz TestSystematic.test_riemann_zeta2  sB    G>>s^^	
 	
 	
 	
 	
 	
r7   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  ro  r   s    r5   rU   z+TestSystematic.test_zetac.<locals>.<lambda>>  s"    AFFfk!nnq((
 r7   rG  r=   F-   rt   )r  r   rA   )r   r.   zetacr   r  s    r5   
test_zetaczTestSystematic.test_zetac;  sE    HBBs^^	
 	
 	
 	
 	
 	
r7   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)rH   lmbdas     r5   	mp_boxcoxz-TestSystematic.test_boxcox.<locals>.mp_boxcoxG  s`    	a  AIMM%((Ezzy}}Q'''yq%00588r7   r   Frj  r<   r  r?   r  )r   r.   boxcoxr   r   )r  r{  s     r5   test_boxcoxzTestSystematic.test_boxcoxE  sf    	9 	9 	9 	IY''1%(((#%%0	
 	
 	
 	
 	
 	
r7   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   rx  )rH   rz  ones      r5   mp_boxcox1pz1TestSystematic.test_boxcox1p.<locals>.mp_boxcox1pZ  s{    	a  AIMM%((E)--""Czzy}}S1W---ysQw66>>r7   r~   Frj  r<   r  r?   r  )r   r.   boxcox1pr   r   )r  r  s     r5   test_boxcox1pzTestSystematic.test_boxcox1pX  sf    	? 	? 	? 	K[))25)))3551	
 	
 	
 	
 	
 	
r7   c           	          d }t          d t          |          t          dd          t          dd          gdd d f	           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   ri  rR   rG   r4   argouts       r5   mp_spherical_jnz9TestSystematic.test_spherical_jn.<locals>.mp_spherical_jnm  g    "1%%C>!fjmmAo"5s;;;quVY//0Cx1}}x
r7   c                 F    t          j        t          |           |          S rO   )r.   spherical_jnr   rG   r4   s     r5   rU   z2TestSystematic.test_spherical_jn.<locals>.<lambda>w  rX  r7   r   r<   r  r  r*  c                 2    t          j        |           dk    S )Ng#B;)r%   r   rA  s    r5   rU   z2TestSystematic.test_spherical_jn.<locals>.<lambda>|  s    "&))e*; r7   )r   r  r  r  r  s     r5   test_spherical_jnz TestSystematic.test_spherical_jnl  sl    	 	 	 	33_--As^^Ss^^, ; ;<	
 	
 	
 	
 	
 	
r7   c                     d }t          d t          |          t          dd          t                      g           d S )Nc                     t          j        |          }t          j        | t          j        d          dz  z   |          t          j        d|z  t           j        z            z  }|j        dk    r|j        S |S r  r  r  s       r5   r  zATestSystematic.test_spherical_jn_complex.<locals>.mp_spherical_jn  r  r7   c                 P    t          j        t          | j                  |          S rO   )r.   r  r   rR   r  s     r5   rU   z:TestSystematic.test_spherical_jn_complex.<locals>.<lambda>      QVa88 r7   r   r<   r   r   r   r   r  s     r5   test_spherical_jn_complexz(TestSystematic.test_spherical_jn_complex  T    	 	 	 	88_--As^^Z\\*	
 	
 	
 	
 	
r7   c           	          d }t          d t          |          t          dd          t          dd          gd           d S )	Nc                     t          j        |          }t          j        | t          j        d          dz  z   |          t          j        d|z  t           j        z            z  }|j        dk    r|j        S |S r  r   r  r  r  r  r   ri  rR   r  s       r5   mp_spherical_ynz9TestSystematic.test_spherical_yn.<locals>.mp_spherical_yn  r  r7   c                 F    t          j        t          |           |          S rO   )r.   spherical_ynr   r  s     r5   rU   z2TestSystematic.test_spherical_yn.<locals>.<lambda>  rX  r7   r   r<   g    _ri  r=   r3  r  r  r  s     r5   test_spherical_ynz TestSystematic.test_spherical_yn  sb    	 	 	 	33_--As^^S--.		
 	
 	
 	
 	
 	
r7   c                     d }t          d t          |          t          dd          t                      g           d S )Nc                     t          j        |          }t          j        | t          j        d          dz  z   |          t          j        d|z  t           j        z            z  }|j        dk    r|j        S |S r  r  r  s       r5   r  zATestSystematic.test_spherical_yn_complex.<locals>.mp_spherical_yn  r  r7   c                 P    t          j        t          | j                  |          S rO   )r.   r  r   rR   r  s     r5   rU   z:TestSystematic.test_spherical_yn_complex.<locals>.<lambda>  r  r7   r   r<   r  r  s     r5   test_spherical_yn_complexz(TestSystematic.test_spherical_yn_complex  r  r7   c                     d }t          d t          |          t          dd          t                      gdd           d S )Nc                     t          j        |          }t          j        | t          j        d          dz  z   |          t          j        d|z  t           j        z            z  }|j        dk    r|j        S |S r  r   r  r  r  r  r   ri  rR   r  s       r5   mp_spherical_inz9TestSystematic.test_spherical_in.<locals>.mp_spherical_in  r  r7   c                 F    t          j        t          |           |          S rO   )r.   spherical_inr   r  s     r5   rU   z2TestSystematic.test_spherical_in.<locals>.<lambda>  rX  r7   r   r<   g訰6r;  r  r  r  s     r5   test_spherical_inz TestSystematic.test_spherical_in  s_    	 	 	 	33_--As^^SUU#	
 	
 	
 	
 	
 	
r7   c                     d }t          d t          |          t          dd          t                      g           d S )Nc                     t          j        |          }t          j        | t          j        d          dz  z   |          t          j        d|z  t           j        z            z  }|j        dk    r|j        S |S r  r  r  s       r5   r  zATestSystematic.test_spherical_in_complex.<locals>.mp_spherical_in  r  r7   c                 P    t          j        t          | j                  |          S rO   )r.   r  r   rR   r  s     r5   rU   z:TestSystematic.test_spherical_in_complex.<locals>.<lambda>  r  r7   r   r<   r  r  s     r5   test_spherical_in_complexz(TestSystematic.test_spherical_in_complex  r  r7   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  }t          j        |          j        dk    r|j        S |S r  r   r  r   r  r  r   ri  rR   r  s       r5   mp_spherical_knz9TestSystematic.test_spherical_kn.<locals>.mp_spherical_kn  su    "1%%C>!fjmmAo"5s;;;quVY//0C""'1,,x
r7   c                 F    t          j        t          |           |          S rO   )r.   spherical_knr   r  s     r5   rU   z2TestSystematic.test_spherical_kn.<locals>.<lambda>  rX  r7   r   r[   r=   r3  r  r  r  s     r5   test_spherical_knz TestSystematic.test_spherical_kn  s\    	 	 	 	33_--As^^SUU#		
 	
 	
 	
 	
 	
r7   z.Accuracy issues near z = -1 inherited from kv.c                     d }t          d t          |          t          dd          t                      gd           d S )Nc                     t          j        |          }t          j        | t          j        d          dz  z   |          t          j        d|z  t           j        z            z  }|j        dk    r|j        S |S r  r  r  s       r5   r  zATestSystematic.test_spherical_kn_complex.<locals>.mp_spherical_kn  r  r7   c                 P    t          j        t          | j                  |          S rO   )r.   r  r   rR   r  s     r5   rU   z:TestSystematic.test_spherical_kn_complex.<locals>.<lambda>  r  r7   r   r<   r3  r  r  s     r5   test_spherical_kn_complexz(TestSystematic.test_spherical_kn_complex  s\    	 	 	 	88_--As^^Z\\*		
 	
 	
 	
 	
 	
r7   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  r0  r5  r=  rF  pytestmarkxfailrP  rV  rY  rc  rg  rp  rs  rw  ry  r}  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r  r  r  r   r  r	  r  r  r  r  r   r#  r+  r/  r5  r9  rA  rE  r   rH  rO  rT  rZ  r^  rc  ri  rn  rt  rw  xfail_on_32bitr}  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r	  r  r  r!  r$  r&  r(  r0  r2  r4  r9  r<  rA  rD  rK  rN  rT  rZ  r`  rd  rg  rl  rp  ru  r}  r  r  r  r  r  r  r  r  r  r   r7   r5   r  r    s,       . . ., , ,
. . ., , ,
. . ., , ,
. . ., , ,
. . .
. . .
0 0 0
 
 

 
 

 
 
"
 
 

 
 

 
 

 
 

 
 
"
 
 

 
 
!
 !
 !
F	
 	
 	


 

 


 
 
B
 
 
 [5)RSS
 
 TS

 
 
 [5)RSS
 
 TS
U U U	
 	
 	
= = =	
 	
 	
U U U
 
 

 
 

 
 

 
 

 
 
0) ) ) 
 
 

 
 

 
 
E E E
 
 
D D DW W WI I IR R RI I I
 
 

 
 

 
 

 
 
$
 
 

 
 
F F FT T T
 
 

 
 
B B BI I I
 
 

 
 

 
 

 
 

 
 

 
 
@ @ @
@ @ @
O O O
 
 

 
 

 
 
F F F [5!!
 
 "!
0
 0
 0
d [5!!
 
 "!
 
 
 

 
 

 
 
 [5)PQQ
 
 RQ
	
 	
 	

 
 

 
 
 [5!!
 
 "!
 
 
 
 [5!!
 
 "!
 [ !H I I

 

I I

K K KK K K
 [5!!

 

 "!


 
 
E E E
 
 
 
 
 

 
 
 [ <==
 
 >=

 
 
. O O O
 
 
3
 3
 3
j
 
 
<
 
 
< [5)UVV
 
 WV
  
 
 
"
 
 
$
 
 
" [5!!
 
 "!
 [5 *G H H
 
H H

 
 
8 [56  7 7
 
7 7

 
 

 
 
 [  ' ) )F F) )F 
 
 

 
 
U U U	
 	
 	
4 4 4
	
 	
 	


 

 


 
 

 
 
 
 
 

 
 
(
 
 
 
 
 

 
 

 
 

 
 

 
 
&
 
 
(
 
 
&
 
 
 
 
 
"
 
 
 
 
 
$
 
 
 
 
 
" [5N  P P
 
P P
 
 
r7   r  )K__doc__numpyr%   numpy.testingr   r   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   ImportErrorr6   rI   rY   rg   r{   r   r   r   r   r  slowr   r   r   r  r  r  r  r  r(  r.  r2  r<  rE  rN  rR  re  rl  r~  r  r  r  r   r  r  r   r7   r5   <module>r     sg        E E E E E E E E E E                                                                        %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E
 E
 E
 E
 E
 E
 E
  E
 E
 E
s    A% %A87A8