o
    Ö­j
  ã                   @   sF   d dl Z d dlZd dlmZ d dlmZ d dlm	Z	 G dd„ dƒZ
dS )é    N)Úassert_allclose)ÚFuncDatac                   @   sè   e Zd Zej dejddfdejdfddejfdejdfejddfddejfejddfejddfg¡dd„ ƒZej dej	 dfej	dfg¡dd„ ƒZ
d	d
„ Zdd„ Zej ddddej	fdg¡dd„ ƒZej dg d¢¡dd„ ƒZdS )ÚTestVoigtProfilezx, sigma, gammaé   r   c                 C   s   t  t |||¡¡sJ ‚d S ©N)ÚnpÚisnanÚscÚvoigt_profile)ÚselfÚxÚsigmaÚgamma© r   ú^/var/www/html/CropPilot/venv/lib/python3.10/site-packages/scipy/special/tests/test_faddeeva.pyÚtest_nan   s   zTestVoigtProfile.test_nanz
x, desiredc                 C   s   t  |dd¡|ksJ ‚d S )Nr   ©r	   r
   )r   r   Údesiredr   r   r   Útest_inf   ó   zTestVoigtProfile.test_infc                 C   sd   t  g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d	¢g d
¢g
¡}ttj|ddddd� ¡  d S )N)g�Âõ(\�ÀgHáz®‡F@g¤p=
×£@gškÝä�ê?)gš™™™™™©¿gìQ¸…ë@gáz®G!8@geÌ�9·ˆ?)gö(\�Âõ+Àg®GázÔ0@g�Âõ(\/E@gù3ç‹“y?)gR¸…ëQ)Àgáz®GáÊ?gHáz®G@g�,<ái–„?)g®Gáz®&@g      @gö(\�Âõ5@gþÛI‡?)g…ëQ¸'Àgffffff4@gHáz®‡>@gŒ‡xïD?)g×£p=
W"Àg\�Âõ(œ9@g¤p=
×£ @g�é
Ú‡?)g×£p=
—0@gÍÌÌÌÌ2@g      @gZA.Yî‹?)g¸…ëQ8"@gö(\�Âõ @g
×£p=ªC@g|¾ëÍµd?)g
×£p=ªEÀg333333Ó?g×£p=
×F@gÃÊhsn?)r   r   é   é   r   çVçž¯Ò<)ÚatolÚrtol)r   Úarrayr   r	   r
   Úcheck)r   Úpointsr   r   r   Útest_against_mathematica   s*   öú
z)TestVoigtProfile.test_against_mathematicac                 C   s8   t  ddd¡}tt |dd¡t | dd¡ddd� d S )Nr   é
   é   r   r   ©r   r   ©r   Úlinspacer   r	   r
   )r   r   r   r   r   Útest_symmetry9   s   
üzTestVoigtProfile.test_symmetryzx, sigma, gamma, desired)r   r   r   r   c                 C   s   t  |||¡|ksJ ‚d S r   r   )r   r   r   r   r   r   r   r   Útest_corner_casesB   r   z"TestVoigtProfile.test_corner_caseszsigma1, gamma1, sigma2, gamma2))r   r   ç¼‰Ø—²Òœ<r   )r   r   r   r&   )r   r   r&   r&   c                 C   s6   t  ddd¡}tt |||¡t |||¡ddd� d S )Nr   r   r    r&   r!   r"   )r   Úsigma1Úgamma1Úsigma2Úgamma2r   r   r   r   Útest_continuityI   s   
üz TestVoigtProfile.test_continuityN)Ú__name__Ú
__module__Ú__qualname__ÚpytestÚmarkÚparametrizer   Únanr   Úinfr   r   r$   r%   r+   r   r   r   r   r   	   s4    







ø


þ
	þ
r   )r/   Únumpyr   Únumpy.testingr   Úscipy.specialÚspecialr	   Úscipy.special._testutilsr   r   r   r   r   r   Ú<module>   s    