U
    Hvf¯  ã                   @   sF  d dl Zd dlZd dlmZmZ d dlmZmZm	Z	m
Z
 d dlmZmZmZ d dlmZmZ zd dlZW n ek
r„   edƒZY nX zd dlZW n ek
r®   edƒZY nX eedƒd	d
„ ƒZejjeedƒeedƒej d¡dd„ ƒƒƒƒZejjeedƒeedƒdd„ ƒƒƒZeedƒdd„ ƒZejjeedƒdd„ ƒƒZdS )é    N)ÚMissingModuleÚcheck_version)ÚArgÚIntArgÚmp_assert_allcloseÚassert_mpmath_equal)Ú	compute_gÚcompute_alphaÚ	compute_d)ÚgammaincÚ	gammainccÚsympyÚmpmathz0.19c               
   C   s€   t  d¡l t  d¡t  d¡d t  d¡d t  d¡ d t  d¡ d t  d	¡d
 t  d¡d g} ttdƒ| ƒ W 5 Q R X d S )Né   é   é   i   é‹   i€Ê  i;  i ø% i'€ i `uicP l     
F é   )ÚmpÚworkdpsÚmpfr   r   )Úg© r   úP/tmp/pip-unpacked-wheel-96ln3f52/scipy/special/tests/test_precompute_gammainc.pyÚtest_g   s       þr   z0.7zrtol only 2e-11, see gh-6938c                  C   s”   t  d¡€ t  d¡t  d¡t  d¡d t  d¡d t  d¡ d t  d¡d t  d¡d t  d	¡ d
 t  d¡d g	} ttdƒ| ƒ W 5 Q R X d S )Nr   r   r   é   é$   i  ià  irB  r   i€S iX é	   )r   r   r   r   r	   )Úalphar   r   r   Ú
test_alpha    s    (   þr   c                     s€  t  d¡j ddt  d¡ fddt  d¡fddt  d¡ fddt  d¡fd	dt  d
¡fd	dt  d¡ fddt  d¡fddt  d¡ fddt  d¡ fddt  d¡fddt  d¡ fddt  d¡fddt  d¡fddt  d¡ fddt  d¡fddt  d¡ fddt  d¡ fddt  d¡fddt  d¡ fddt  d ¡fg} td!d"ƒ‰ ‡ fd#d$„| D ƒ}d%d$„ | D ƒ}t||ƒ W 5 Q R X d S )&Né2   r   z 0.333333333333333333333333333333r   z#0.102618097842403080425739573227e-7r   z#0.185185185185185185185185185185e-2z#0.119516285997781473243076536700e-7é   z#0.413359788359788359788359788360e-2z#0.140925299108675210532930244154e-7r   z#0.649434156378600823045267489712e-3z#0.191111684859736540606728140873e-7é   z#0.861888290916711698604702719929e-3z#0.288658297427087836297341274604e-7é   z#0.336798553366358150308767592718e-3z#0.482409670378941807563762631739e-7é   z#0.531307936463992223165748542978e-3z#0.882860074633048352505085243179e-7r   z#0.344367606892377671254279625109e-3z#0.175629733590604619378669693914e-6é   z#0.652623918595309418922034919727e-3z#0.377358774161109793380344937299e-6r   z#0.596761290192746250124390067179e-3z#0.870823417786464116761231237189e-6é
   é   c                    s   g | ]\}}}ˆ | | ‘qS r   r   )Ú.0ÚkÚnÚstd©Údr   r   Ú
<listcomp>O   s     ztest_d.<locals>.<listcomp>c                 S   s   g | ]}|d  ‘qS )r!   r   )r(   Úxr   r   r   r.   P   s     )r   r   r   r
   r   )ZdatasetÚresr+   r   r,   r   Útest_d-   s4    í
r1   c                	   C   s2   t tdd„ tddddtddƒgddddd	 d S )
Nc                 S   s   t j| |ddS )NT)ÚbÚregularized©r   r   ©Úar/   r   r   r   Ú<lambda>Z   ó    ztest_gammainc.<locals>.<lambda>r   éd   F)Zinclusive_aç—ÔFFõg<r    ©Znan_okZrtolr*   Údps)r   r   r   r   r   r   r   Útest_gammaincT   s       ýr=   c                	   C   s\   t dd„ dd„ tddƒtddƒgdddd	d
 t tdd„ tddƒtddƒgddddd
 d S )Nc                 S   s   t | |ddS )Néè  )r<   )r   r5   r   r   r   r7   d   r8   z test_gammaincc.<locals>.<lambda>c                 S   s   t j| |ddS ©NT)r6   r3   r4   r5   r   r   r   r7   e   r8   é   r9   Fr:   r    r>   r;   c                 S   s   t j| |ddS r?   r4   r5   r   r   r   r7   k   r8   r   r   )r   r   r   r   r   r   r   r   Útest_gammaincc_   s        ý   ýrA   )ZnumpyÚnpZpytestZscipy.special._testutilsr   r   Zscipy.special._mptestutilsr   r   r   r   Z&scipy.special._precompute.gammainc_asyr   r	   r
   Z'scipy.special._precompute.gammainc_datar   r   r   ÚImportErrorr   r   r   ÚmarkZslowZxfail_on_32bitr   Zxslowr1   r=   rA   r   r   r   r   Ú<module>   s:   
	
	$

