o
    Ö­jç  ã                   @   sr   d dl Z d dlZd dlmZmZ d dlmZ d dl	m
Z
 dddejdfdejfgZG dd	„ d	ƒZG d
d„ dƒZdS )é    N)Úassert_allcloseÚassert_array_equal)ÚFuncData)é   éÿÿÿÿ)r   r   )r   r   r   c                	   @   sœ   e Zd Zej de¡dd„ ƒZdd„ Zej de	j
ddfe	j
ddfe	j
e	j
e	jfde	j
dfg¡d	d
„ ƒZdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ ZdS )ÚTestGammaincúa, xc                 C   ó   t  t ||¡¡sJ ‚d S ©N)ÚnpÚisnanÚscÚgammainc©ÚselfÚaÚx© r   ú^/var/www/html/CropPilot/venv/lib/python3.10/site-packages/scipy/special/tests/test_gammainc.pyÚtest_domain   ó   zTestGammainc.test_domainc                 C   s   t  dd¡dks
J ‚d S ©Nr   r   )r   r   ©r   r   r   r   Útest_a_eq_0_x_gt_0   ó   zTestGammainc.test_a_eq_0_x_gt_0úa, x, desiredr   r   c                 C   ó8   t  ||¡}t |¡rt |¡sJ ‚d S ||ksJ ‚d S r
   )r   r   r   r   ©r   r   r   ÚdesiredÚresultr   r   r   Útest_infinite_arguments   ó   
z$TestGammainc.test_infinite_argumentsc                 C   sD   t t dd¡t tjd¡ddd� t dd¡t dtj¡ks J ‚d S ©Niè  éd   g¬÷N’~hr   )ÚatolÚrtol)r   r   r   r   Úinfr   r   r   r   Útest_infinite_limits)   s   
ü"z!TestGammainc.test_infinite_limitsc                 C   s"   t  dd¡}tt |d¡dƒ d S ©Nr   é
   r   )r   Úaranger   r   r   ©r   r   r   r   r   Útest_x_zero4   ó   zTestGammainc.test_x_zeroc                 C   ó,   t  dd¡}t  dd¡}t ||¡sJ ‚d S ©Nç»½×Ùß|Û=r   r   )r   r   r   Úisclose©r   r   Úlimitr   r   r   Útest_limit_check8   ó   zTestGammainc.test_limit_checkc                 C   sX   t  g d¢¡}d}d}|D ]}||| 8 }|| }q|t  dt j | ¡ }|d7 }|S )N)gUUUUUUÕ¿gtåÉ:W^¿gæ™;dîp?g¶â4;ÙGE?gù{Ú>L¿g
ÁŠ6¿r   r   é   g      à?)r   ÚarrayÚsqrtÚpi)r   r   ÚcÚresÚxfacÚckr   r   r   Úgammainc_line=   s   
zTestGammainc.gammainc_linec                 C   sL   t  t  d¡dd¡}|}t  |||  |¡f¡j}ttj|dddd� 	¡  d S )Né   i,  iô  )r   r   r6   g•dyáý¥=©r%   )
r   ÚlogspaceÚlog10Úvstackr>   ÚTr   r   r   Úcheck)r   r   r   Údatasetr   r   r   Ú	test_lineK   s   zTestGammainc.test_linec                 C   óB   t  ddd¡}t  ddd¡}t |t ||¡¡}t||dd� d S )Néûÿÿÿr)   r#   r0   r@   )r   rA   r   Úgammaincinvr   r   ©r   r   r   Úyr   r   r   Útest_roundtripQ   ó   zTestGammainc.test_roundtripN)Ú__name__Ú
__module__Ú__qualname__ÚpytestÚmarkÚparametrizeÚINVALID_POINTSr   r   r   r&   Únanr    r'   r,   r4   r>   rG   rM   r   r   r   r   r      s"    



ü
r   c                	   @   sŒ   e Zd Zej de¡dd„ ƒZdd„ Zej de	j
ddfe	j
ddfe	j
e	j
e	jfde	j
dfg¡d	d
„ ƒZdd„ Zdd„ Zdd„ Zdd„ ZdS )ÚTestGammainccr   c                 C   r	   r
   )r   r   r   Ú	gammainccr   r   r   r   r   [   r   zTestGammaincc.test_domainc                 C   s   t  dd¡dks
J ‚d S r   )r   rX   r   r   r   r   r   _   r   z TestGammaincc.test_a_eq_0_x_gt_0r   r   r   c                 C   r   r
   )r   rX   r   r   r   r   r   r   r    b   r!   z%TestGammaincc.test_infinite_argumentsc                 C   sD   t  dd¡t  tjd¡ksJ ‚tt  dd¡t  dtj¡ddd� d S r"   )r   rX   r   r&   r   r   r   r   r   r'   o   s   

üz"TestGammaincc.test_infinite_limitsc                 C   r.   r/   )r   rX   r   r1   r2   r   r   r   r4   z   r5   zTestGammaincc.test_limit_checkc                 C   s"   t  dd¡}tt |d¡dƒ d S r(   )r   r*   r   r   rX   r+   r   r   r   r,      r-   zTestGammaincc.test_x_zeroc                 C   rH   )NrI   r)   r#   g›+¡†›„=r@   )r   rA   r   ÚgammainccinvrX   r   rK   r   r   r   rM   ƒ   rN   zTestGammaincc.test_roundtripN)rO   rP   rQ   rR   rS   rT   rU   r   r   r   r&   rV   r    r'   r4   r,   rM   r   r   r   r   rW   Y   s    



ü
rW   )rR   Únumpyr   Únumpy.testingr   r   Úscipy.specialÚspecialr   Úscipy.special._testutilsr   rV   rU   r   rW   r   r   r   r   Ú<module>   s    û	F