3
Od,              
   @   s   d dl Z d dlmZmZ d dlZd dlmZ d dljZ	d dl
mZ ddddd	d
dddd	ZdddgZdd Zdd Zdd Zdd Zdd Zdd Zdd Zd d! ZdS )"    N)assert_assert_equal)raises)_sf_error_test_function                        	   )	singular	underflowZoverflowZslowZlossZ	no_resultdomainargotherignorewarnraisec          	   C   s|   |dkr*t jtj | |  W d Q R X nN|dkrRttj | |  W d Q R X n&tj  tjd | |  W d Q R X d S )Nr   r   error)	pytestZwarnsscZSpecialFunctionWarningassert_raisesSpecialFunctionErrorwarningscatch_warningssimplefilter)Zfunargsaction r!   U/var/www/html/virt/lib64/python3.6/site-packages/scipy/special/tests/test_sf_error.py_check_action   s    

r#   c              C   s>   t j } x0| j D ]$\}}t|tj k t|tk qW d S )N)r   geterritemsr   _sf_error_code_mapkeys_sf_error_actions)errkeyvaluer!   r!   r"   test_geterr,   s    r,   c              C   s   t j } zxtj D ]}xztD ]r}t j }t jf ||i}t||k t j }t|| |k |j| |j| t||k tt	t| f| qW qW W d t jf |  X d S )N)
r   r$   r&   r'   r(   Zseterrr   popr#   r   )Z	entry_errcategoryr    Zgeterr_olderrZseterr_olderrZnewerrr!   r!   r"   test_seterr3   s     


r/   c              C   sR   t j } t jdd& tt j t jd W d Q R X W d Q R X t| t j  d S )Nr   )r   r   )r   r$   errstater   r   Zloggammar   )olderrr!   r!   r"   test_errstate_pyx_basicG   s
    r2   c              C   sR   t j } t jdd& tt j t jd W d Q R X W d Q R X t| t j  d S )Nr   )r   r   )r   r$   r0   r   r   spencer   )r1   r!   r!   r"   test_errstate_c_basicO   s
    r5   c              C   sR   t j } t jdd& tt j t jd W d Q R X W d Q R X t| t j  d S )Nr   )r   i  i)r   r$   r0   r   r   Zwrightomegar   )r1   r!   r!   r"   test_errstate_cpp_basicW   s
    r6   c              C   sh   xbt j D ]V} xPtD ]H}tj }tjf | |i ttt |  f| W d Q R X t|tj  qW q
W d S )N)	r&   r'   r(   r   r$   r0   r#   r   r   )r.   r    r1   r!   r!   r"   test_errstate_   s    
r7   c              C   s^   t j } t jddd0 t jd tt j t jd W d Q R X W d Q R X t| t j  d S )Nr   r   )allr   r   g      ?g      )r   r$   r0   Zgammalnr   r   r4   r   )r1   r!   r!   r"   test_errstate_all_but_onej   s    
r9   )r   Znumpy.testingr   r   r   r   r   Zscipy.specialZspecialr   Zscipy.special._ufuncsr   r&   r(   r#   r,   r/   r2   r5   r6   r7   r9   r!   r!   r!   r"   <module>   s2   
