a
    h=v                     @   sT  d dl Zd dlZd dlmZ d dlZd dlmZm	Z	m
Z
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZCmDZDmEZEmFZFmGZGmHZHmIZImJZJmKZKmLZLmMZMmNZNmOZOmPZPmQZQmRZRmSZSmTZTmUZUmVZVmWZW d dlXmYZY d dlZm[Z[ ej\]dZ^e^_dZ`ej\ae`ZbecebZdW d   n1 s0    Y  e^_dZeej\aeeZbecebZfW d   n1 s
0    Y  e^_d	Zgej\aegZbecebZhW d   n1 sL0    Y  d
d Zidd Zjdd Zkdd Zldd Zmdd Zndd Zodd Zpdd Zqdd Zrdd Zsd d! Ztd"d# Zud$d% Zvd&d' Zwd(d) Zxd*d+ Zyd,d- Zzd.d/ Z{d0d1 Z|d2d3 Z}d4d5 Z~d6d7 Zd8d9 Zd:d; Zd<d= Zd>d? Zd@dA ZdBdC ZdDdE ZdFdG ZdHdI ZdJdK ZdLdM ZdNdO ZdPdQ ZdRdS ZdTdU ZdVdW ZdXdY ZdZd[ Zd\d] Zd^d_ Zd`da Zdbdc Zddde Zeieqdfdgdhdidjeierdkdldmdidjeierdndldmdodjeieudkdldmdpdqdreieudndldmdodqdreiesdkdldmdpdqdreiesdndldmdsdqdreie}dkdldmdtdjeie}dndldmdudjeie~dkdldmdvdjeie~dndldmdudjeietdkdldhdvdqdreietdndldhdwdqdreievdkdldhdvdqdreievdndldhdwdqdreie)dxdldmdydjeie)dxdldmdydjeie)dzdldmd{djeie*d|dgd}d~djeie*ddgd}d{djeie*ddgd}dvdjeie*ddgd}ddjeie+ddgdhddjeie?d|dgd}d~djeie?ddgd}ddjeie?ddgd}dvdjeie?ddgd}ddjeie@ddgdhddjeieddgdddjeieAdddhddjeiedddddjeieBddd}ddjeiedddddjeieddldmdydjeieddldmd{djeie>dddhddjeiedddddjeieHdddhddjeiedddddjeieIdddmddjeiedddhddjeieddd eie(dd deie(dddeie(dd ddudjeie(ddddydjeie(dd dddjeie(dddddjeie(dd dddjeie(dddddjeieldd deiemddldmddjeiendd deieoddldmddjeie7dd deie7ddddydjeie8dd dmd~djeie7dd deie7dddeie8dd dmddjeie7dd deie7ddddydjeie8dd dmeie9dd deie:dd deie:dd ddd deie;dddmdydjeie;dddmddjeie<dd ddydjeie<dd ddydjeie<dd deie=ddldmeie=ddldmddjeie"dd deie"dd deie"dd deie"dd deie"dd dddjeie"dd dddjeie"dddddjeie"dddddjeie"dddddjeie"dddddjeie"dddddjeie"ddddudjeie#dd dmddjeie#dd dmddjeie#dd dmddjeie#dd dmddjeie#dd dmddjeie#dd dmeie$ddld}ddjeie$ddld}dudjeie$ddld}dudjeie$ddld}ddjeieddld}dydjeieddld}dudjeieddld}dudjeieddld}ddjeie%ddldhdydjeie%ddldhdudjeie%ddldhddjeie%ddldhdidjeieddldhdydjeieddldhdudjeieddldhddjeieddldhdidjeiedddmddjeiedddhddjeieddldmdudjeieddldmeieddldmeieddldhdudjeieddldheieddldheieddldmdvdjeieddldmddjeieddldmddʍeieddgdhdudjeieddgdhddʍeiedd deiedd dmeieddldmddjeiedddmdddЍeieddldmddjeiedddmddjeieddldmddjeiedddmdddЍeieddldmddjeiedddmddjeieddldmddjeiedddmddjeieddldmddjeiedddmddjeieddldmddjeiedddmddjeieddldmdydjeiedddmdydjeieddldmdidjeiedddmddjeieddldmddjeie ddldmddjeie dddmddjeie ddldmddjeie dddmddjeie!ddldmddjeie!dddmddjeie!ddldmddjeie!dddmddjeieddldmddjeieddldmddjeieddldmddjeiedddmddjeieddldmddjeiedddmddjeieddldmddjeiedddmddjeiepdd ddd deiepdd ddd deiepdd ddd deiepdd ddd deie&ddldmdidjeie&ddldmddjeie&ddldmdidjeie'ddldhddjeie'ddldhddjeie'ddldhddjeieddldmdsddeieddldmddjeieddldmeieddldmddʍeieddldhd~djeieddldheieCdddhddjeieCdddhdddeiedddddd d d dd dd fdeieddldmdydjeieddldmddjeieJddldmdpdjeieJddldmd	djeie2d
dldmddjeie3ddgdhddjeie3ddgdhddjeie3ddgdhddjeie3ddgdhddjeie3ddgdhddjeie3ddgdhddjeie4ddgdhddjeie4ddgdhddjeie4ddgdhddjeie4ddgdhddjeie4ddgdhddjeie5ddgdhddjeie5ddgdhddjeie5ddgdhddjeie5ddgdhddjeie5ddgdhddjeie6d d!ddd"d#d fd$gZejjd%eed&d'd( ZejeKd)dldmdydydЍejeLd)dldhdydydЍejewd*dgdhd+dydЍejexd*dgdd+dydЍejeyd,dgdhd+dydЍejezd,dgdd+dydЍeje{d,dgd}d+dydЍeje|d,dgdd+dydЍgZejjd%eed&d-d. Zeke1d/dldmeke0d0d deke.d1dldmeked2dld3ddjeked2dldddjeke$d4dldmddjeke%d5dldmdidjekeTd6d7dddydЍekeSd6d7d}ddydЍekeWd8dgdhdidjg
Zejjd%eed&d9d: Zejfd;d<ZdS (=      N)suppress_warnings)Plpnlpmnlpmvlqnlqmnsph_harmeval_legendreeval_hermiteeval_laguerreeval_genlaguerrebinomcbrtexpm1log1pzetajnjvjvpynyvyvpivivpknkvkvpgammagammalngammainc	gammainccgammaincinvgammainccinvdigammabetabetainc
betaincinvpochellipe	ellipeincellipkellipkm1	ellipkincelliprcelliprdelliprfelliprgelliprjerferfcerfinverfcinvexp1expiexpnbdtrikbtdtrbtdtribtdtriabtdtribchndtrgdtrgdtrcgdtrixgdtribnbdtrikpdtrikowens_t	mathieu_a	mathieu_bmathieu_cemmathieu_semmathieu_modcem1mathieu_modsem1mathieu_modcem2mathieu_modsem2
ellip_harmellip_harm_2spherical_jnspherical_ynwright_bessel)IntegrationWarning)FuncDatazscipy.special.tests.dataz	boost.npzzgsl.npzz	local.npzc                 O   s(   | d| t| t| g|R i |S Ndataname)
setdefaultrT   DATASETS_BOOSTfuncrV   akw r]   Y/var/www/html/assistant/venv/lib/python3.9/site-packages/scipy/special/tests/test_data.pydata,   s    r_   c                 O   s(   | d| t| t| g|R i |S rU   )rW   rT   DATASETS_GSLrY   r]   r]   r^   data_gsl1   s    ra   c                 O   s(   | d| t| t| g|R i |S rU   )rW   rT   DATASETS_LOCALrY   r]   r]   r^   
data_local6   s    rc   c                 C   s   t | |  S N)r*   kr]   r]   r^   ellipk_;   s    rg   c                 C   s   t | || S rd   )r,   frf   r]   r]   r^   
ellipkinc_?   s    rj   c                 C   s   t | |  S rd   )r(   re   r]   r]   r^   ellipe_C   s    rk   c                 C   s   t | || S rd   )r)   rh   r]   r]   r^   
ellipeinc_G   s    rl   c                 C   s
   t | dS N      ?)r   )xr]   r]   r^   zeta_K   s    rp   c                 C   s   t || t|S rd   )r   astypeint)numuro   r]   r]   r^   assoc_legendre_p_boost_O   s    ru   c                 C   s   t d| |S Nr   )r   )rs   ro   r]   r]   r^   legendre_p_via_assoc_S   s    rw   c                 C   s   t | d|d d S Nlr   )r   rq   nro   r]   r]   r^   lpn_V   s    r}   c                 C   s   t | d|d d S rx   )r   rq   r{   r]   r]   r^   lqn_Y   s    r~   c                 C   s   t d| |d d S Nr   )r   rz   )r   r{   r]   r]   r^   legendre_p_via_lpmn\   s    r   c                 C   s   t d| |d d S r   )r   r{   r]   r]   r^   legendre_q_via_lqmn_   s    r   c                 C   s   t | ||d tj d S N   r   )rH   nppimqro   r]   r]   r^   mathieu_ce_radb   s    r   c                 C   s   t | ||d tj d S r   )rI   r   r   r   r]   r]   r^   mathieu_se_radf   s    r   c                 C   s    t | ||d ttjd  S Nr      )rJ   r   sqrtr   r   r]   r]   r^   mathieu_mc1_scaledj   s    r   c                 C   s    t | ||d ttjd  S r   )rK   r   r   r   r   r]   r]   r^   mathieu_ms1_scaledp   s    r   c                 C   s    t | ||d ttjd  S r   )rL   r   r   r   r   r]   r]   r^   mathieu_mc2_scaledt   s    r   c                 C   s    t | ||d ttjd  S r   )rM   r   r   r   r   r]   r]   r^   mathieu_ms2_scaledx   s    r   c                 C   s   t | d|S Nry   r	   rq   r{   r]   r]   r^   eval_legendre_ld{   s    r   c                 C   s   t | d|S Ndr   r{   r]   r]   r^   eval_legendre_dd~   s    r   c                 C   s   t | d|S r   )r
   rq   r{   r]   r]   r^   eval_hermite_ld   s    r   c                 C   s   t | d|S r   r   rq   r{   r]   r]   r^   eval_laguerre_ld   s    r   c                 C   s   t | d|S r   r   r{   r]   r]   r^   eval_laguerre_dd   s    r   c                 C   s   t | d||S r   r   rq   r|   r[   ro   r]   r]   r^   eval_genlaguerre_ldd   s    r   c                 C   s   t | d||S r   r   r   r]   r]   r^   eval_genlaguerre_ddd   s    r   c                 C   s   t d|  ||S N   )r9   yr|   pr]   r]   r^   bdtrik_comp   s    r   c                 C   s   t | |d| S r   )r;   )r[   br   r]   r]   r^   btdtri_comp   s    r   c                 C   s   t d|  ||S r   )r<   )r   r   ro   r]   r]   r^   btdtria_comp   s    r   c                 C   s   t | d| |S r   )r=   )r[   r   ro   r]   r]   r^   btdtrib_comp   s    r   c                 C   s   t d| |S rm   )r?   r   ro   r]   r]   r^   gdtr_   s    r   c                 C   s   t d| |S rm   )r@   r   r]   r]   r^   gdtrc_   s    r   c                 C   s   t d| |S rm   rA   r   r   r]   r]   r^   gdtrix_   s    r   c                 C   s   t d| d| S Nrn   r   r   r   r]   r]   r^   gdtrix_comp   s    r   c                 C   s   t d| |S rm   rB   r   r]   r]   r^   gdtrib_   s    r   c                 C   s   t dd|  |S r   r   r   r]   r]   r^   gdtrib_comp   s    r   c                 C   s   t d|  ||S r   )rC   r   r]   r]   r^   nbdtrik_comp   s    r   c                 C   s   t d|  |S r   )rD   )r   r   r]   r]   r^   pdtrik_comp   s    r   c                 C   s   dt | | S rm   r'   zr   r]   r]   r^   poch_   s    r   c                 C   s   dt | |  S rm   r   r   r]   r]   r^   
poch_minus   s    r   c                 C   s   t | d|S r   )rP   rq   r{   r]   r]   r^   spherical_jn_   s    r   c                 C   s   t | d|S r   )rQ   rq   r{   r]   r]   r^   spherical_yn_   s    r   c                 C   s   t | |||}|j|jfS rd   )r   realimag)r   r|   thetaphir   r]   r]   r^   	sph_harm_   s    r   c                 C   s   t | d|  }|j|jfS N              ?)r   r   r   ro   r   r   r]   r]   r^   cexpm1   s    r   c                 C   s   t | d|  }|j|jfS r   )r   r   r   r   r]   r]   r^   clog1p   s    r   z%assoc_legendre_p_ipp-assoc_legendre_p)r   r   r      gdy=)rtolzlegendre_p_ipp-legendre_p)r   r   r   z%legendre_p_large_ipp-legendre_p_largeg [n;=gvIh%,=F)r   Z
vectorizedg7QU=gt0=gvIh%L=g+=g-=zbeta_exp_data_ipp-beta_exp_datagvIh%<=zbeta_med_data_ipp-beta_med_datag-a=z%ibeta_small_data_ipp-ibeta_small_data   g [n<zibeta_data_ipp-ibeta_dataz!ibeta_int_data_ipp-ibeta_int_dataz%ibeta_large_data_ipp-ibeta_large_datag|=z!ibeta_inv_data_ipp-ibeta_inv_datagh㈵>gvIh%\=   gHת>z#ibeta_inva_data_ipp-ibeta_inva_data)r   r   r   g:0y5>)r   r   r      zbinomial_data_ipp-binomial_dataz+binomial_large_data_ipp-binomial_large_dataz,binomial_quantile_ipp-binomial_quantile_dataz>negative_binomial_quantile_ipp-negative_binomial_quantile_datag&.1>z*poisson_quantile_ipp-poisson_quantile_data)r   r   gA:)>zcbrt_data_ipp-cbrt_datar   zdigamma_data_ipp-digamma_datay                z%digamma_neg_data_ipp-digamma_neg_dataz'digamma_root_data_ipp-digamma_root_datagV瞯<z)digamma_small_data_ipp-digamma_small_datag+=zellint_k_data_ipp-ellint_k_datazellint_f_data_ipp-ellint_f_datazellint_e_data_ipp-ellint_e_dataz!ellint_e2_data_ipp-ellint_e2_datazerf_data_ipp-erf_dataz!erf_large_data_ipp-erf_large_datag+&=z!erf_small_data_ipp-erf_small_datazerf_inv_data_ipp-erf_inv_datazerfc_inv_data_ipp-erfc_inv_dataz'erfc_inv_big_data_ipp-erfc_inv_big_datac                 C   s   | dkS rv   r]   sr]   r]   r^   <lambda>L      r   )param_filterzexpint_1_data_ipp-expint_1_datar   zexpinti_data_ipp-expinti_dataz+expinti_data_double_ipp-expinti_data_doublez'expinti_data_long_ipp-expinti_data_longz'expint_small_data_ipp-expint_small_datazexpint_data_ipp-expint_dataztest_gamma_data_ipp-near_0ztest_gamma_data_ipp-near_1ztest_gamma_data_ipp-near_2ztest_gamma_data_ipp-near_m10ztest_gamma_data_ipp-near_m55gYLɞ=ztest_gamma_data_ipp-factorialsg&.!>g|=g|=z'igamma_small_data_ipp-igamma_small_datag+<z#igamma_med_data_ipp-igamma_med_dataz#igamma_int_data_ipp-igamma_int_dataz#igamma_big_data_ipp-igamma_big_datag-q=z%igamma_inva_data_ipp-igamma_inva_dataz3tgamma_delta_ratio_data_ipp-tgamma_delta_ratio_dataz1tgamma_delta_ratio_int_ipp-tgamma_delta_ratio_intz3tgamma_delta_ratio_int2_ipp-tgamma_delta_ratio_int2zhermite_ipp-hermitezlaguerre2_ipp-laguerre2zhyp2f1 insufficiently accurate.)knownfailurezlaguerre3_ipp-laguerre3z%log1p_expm1_data_ipp-log1p_expm1_datazbessel_i_data_ipp-bessel_i_data)r   r   gP7xf )r   atolz'bessel_i_int_data_ipp-bessel_i_int_datag&.>z3bessel_i_prime_int_data_ipp-bessel_i_prime_int_datagt@=gYnz'bessel_j_int_data_ipp-bessel_j_int_dataz+bessel_j_large_data_ipp-bessel_j_large_datagp~=zbessel_j_data_ipp-bessel_j_dataz3bessel_j_prime_int_data_ipp-bessel_j_prime_int_dataz7bessel_j_prime_large_data_ipp-bessel_j_prime_large_datagdy=z'bessel_k_int_data_ipp-bessel_k_int_datazbessel_k_data_ipp-bessel_k_dataz3bessel_k_prime_int_data_ipp-bessel_k_prime_int_datagt =z+bessel_k_prime_data_ipp-bessel_k_prime_datag(3=z#bessel_y01_data_ipp-bessel_y01_dataz!bessel_yn_data_ipp-bessel_yn_dataz!bessel_yv_data_ipp-bessel_yv_datag|=z-bessel_yv_prime_data_ipp-bessel_yv_prime_datazzeta_data_ipp-zeta_datac                 C   s   | dkS r   r]   r   r]   r]   r^   r     r   zzeta_neg_data_ipp-zeta_neg_datac                 C   s   | dkS r   r]   r   r]   r]   r^   r     r   z!zeta_1_up_data_ipp-zeta_1_up_datac                 C   s   | dkS r   r]   r   r]   r]   r^   r     r   z'zeta_1_below_data_ipp-zeta_1_below_datac                 C   s   | dkS r   r]   r   r]   r]   r^   r     r   z-gamma_inv_small_data_ipp-gamma_inv_small_dataz!gamma_inv_data_ipp-gamma_inv_dataz)gamma_inv_big_data_ipp-gamma_inv_big_datazgdtrix unflow some points)r   r   g [n<zgdtrix bad some pointsznccs_ipp-nccsgiUMu>znccs_big_ipp-nccs_biggMb@?zchndtr inaccurate some pointsz)spherical_harmonic_ipp-spherical_harmonic)r   r   r   r   )r   r   c                 C   s   t | jdS N?r   Zonesshaper   r]   r]   r^   r     r   c                 C   s   t | jdS r   r   r   r]   r]   r^   r   	  r   c                 C   s   t | dt j k | dkS )Nr   r   r   logical_andr   r   r]   r]   r^   r   
  r   c                 C   s   t | t jk | dkS rv   r   r   r]   r]   r^   r     r   )r   r   z#sph_bessel_data_ipp-sph_bessel_dataz%sph_neumann_data_ipp-sph_neumann_datagV瞯=zowens_t_ipp-owens_tz)owens_t_large_data_ipp-owens_t_large_datag-=z!ellint_rc_data_ipp-ellint_rc_datagV瞯<z!ellint_rd_data_ipp-ellint_rd_datazellint_rd_0xy_ipp-ellint_rd_0xyzellint_rd_0yy_ipp-ellint_rd_0yyzellint_rd_xxx_ipp-ellint_rd_xxxzellint_rd_xxz_ipp-ellint_rd_xxzg_1k<zellint_rd_xyy_ipp-ellint_rd_xyygMg<z!ellint_rf_data_ipp-ellint_rf_datazellint_rf_xxx_ipp-ellint_rf_xxxzellint_rf_xyy_ipp-ellint_rf_xyyzellint_rf_xy0_ipp-ellint_rf_xy0zellint_rf_0yy_ipp-ellint_rf_0yyzellint_rg_ipp-ellint_rggؗ<zellint_rg_xxx_ipp-ellint_rg_xxxzellint_rg_xyy_ipp-ellint_rg_xyyg [n<zellint_rg_xy0_ipp-ellint_rg_xy0zellint_rg_00x_ipp-ellint_rg_00xz!ellint_rj_data_ipp-ellint_rj_data)r   r   r   r   g}:c                 C   s   | dkS )Ng}:r]   r   r]   r]   r^   r   Y  r   )r   r   r   test)Zidsc                 C   sN   | j tttfv rBt  t|  W d    qJ1 s60    Y  nt|  d S rd   )rZ   r:   r;   r   pytestZdeprecated_call_test_factoryr   r]   r]   r^   
test_boost  s    
(r   Z
mathieu_abZmathieu_ce_segHz>Zmathieu_mc_msc                 C   s   t |  d S rd   r   r   r]   r]   r^   test_gsl  s    r   Zellipkinc_neg_mr+   Zellipeinc_neg_mZlog1p_expm1_complex)r   r   r   r    Zellip)r   r   r   r   r   rR   c                 C   s   t |  d S rd   r   r   r]   r]   r^   
test_local  s    r   c              	   C   sn   t  T}|td tjdd | j|d W d   n1 sB0    Y  W d   n1 s`0    Y  dS )z
Boost testz,The occurrence of roundoff error is detectedignore)all)dtypeN)r   filterrS   r   Zerrstatecheck)r   r   supr]   r]   r^   r     s    r   )importlib.resources	importlibnumpyr   Znumpy.testingr   r   Zscipy.specialr   r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   Zscipy.integraterS   Zscipy.special._testutilsrT   	resourcesfilesZ_datadirjoinpathZ
_boost_npzas_fileri   loadrX   Z_gsl_npzr`   Z
_local_npzrb   r_   ra   rc   rg   rj   rk   rl   rp   ru   rw   r}   r~   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   ZBOOST_TESTSmarkZparametrizereprr   Z	GSL_TESTSr   ZLOCAL_TESTSr   Zfloat64r   r]   r]   r]   r^   <module>   s,   I
*
*
*




	
      P




