U
    #c                     @   s^   d dl Z d dlZd dlZd dlmZmZmZ edZ	e	dkrBdne	
dZG dd dZdS )    N)assert_assert_raisesIS_WASMHOST_GNU_TYPEFZgnueabic                   @   sl   e Zd Zejjeddejjedddd Zejjeddejjedddd Z	d	d
 Z
dd ZdS )TestErrstatezfp errors don't work in wasm)reasonz+platform/cpu issue with FPU (gh-413,-15562)c              
   C   sj   t jdddR t d }t jdd t | W 5 Q R X tt t | W 5 Q R X W 5 Q R X d S )NraiseignoreallZunder   )invalid)nperrstatearangesqrtr   FloatingPointErrorselfa r   B/tmp/pip-unpacked-wheel-b2rbor69/numpy/core/tests/test_errstate.pytest_invalid   s    
zTestErrstate.test_invalidz&platform/cpu issue with FPU (gh-15562)c              
   C   s   t jdddj t d }t jdd |d  W 5 Q R X tt |d  W 5 Q R X tt ||  W 5 Q R X W 5 Q R X d S )Nr   r	   r
   r   )divider   )r   r   r   r   r   r   r   r   r   test_divide   s    

zTestErrstate.test_dividec              
   C   sz   dd }t  }t j|dB tt  |kd t jd d tt  d kd W 5 Q R X W 5 Q R X tt  |kd d S )Nc                  W   s   t |  d S )N)print)argsr   r   r   foo-   s    z&TestErrstate.test_errcall.<locals>.foo)callzcall is not foozcall is not Nonezcall is not olderrcall)r   Z
geterrcallr   r   )r   r   Z
olderrcallr   r   r   test_errcall,   s    &zTestErrstate.test_errcallc                 C   s   t jdddd }|  d S )Nr	   )r   c                  S   s   t d } | d  d S )Nr   r   )r   r   )r   r   r   r   r   8   s    z1TestErrstate.test_errstate_decorator.<locals>.foo)r   r   )r   r   r   r   r   test_errstate_decorator7   s    

z$TestErrstate.test_errstate_decoratorN)__name__
__module____qualname__pytestmarkZskipifr   arm_softfloatr   r   r   r    r   r   r   r   r      s   
r   )r$   	sysconfigZnumpyr   Znumpy.testingr   r   r   get_config_varZhosttypeendswithr&   r   r   r   r   r   <module>   s   
