o
    `^h
                     @   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   _/home/air/shanriGPT/back/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(\gHzF@gp=
ף@gk?)ggQ@gzG!8@ge9?)g(\+gGz0@g(\/E@g3y?)gRQ)gzG?gHzG@g,<i?)gGz&@g      @g(\5@gI?)gQ'gffffff4@gHz>@gxD?)gףp=
W"g\(9@gp=
ף @g
ڇ?)gףp=
0@g2@g      @gZA.Y?)gQ8"@g(\ @g
ףp=C@g|͵d?)g
ףp=Eg333333?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    