3
Od5                 @   s   U d Z ddlmZmZ ddlZddlmZmZm	Z	 ddl
Z
ddljZi Zeeef i Zeeef dd Ze \ZZe
jjdeedd	d
 Zdd ZdS )z3Test how the ufuncs in special handle nan inputs.

    )CallableDictN)assert_array_equalassert_suppress_warningsc              C   s   g } g }xt tjD ]r}tj| }t|tjs0qtj|}|d krX| j| |j| qt	j
jd|d}| jt	j||d |j| qW | |fS )NF)runreason)Zmarks)sortedsc__dict__
isinstancenpZufuncKNOWNFAILURESgetappendpytestmarkZxfailparam)ZufuncsZufunc_namesnameobjmsgZfail r   W/var/www/html/virt/lib64/python3.6/site-packages/scipy/special/tests/test_nan_inputs.py_get_ufuncs   s    


r   func)idsc             C   s   t jf| j }t P}|jtd y(t }|jt | | }W d Q R X W n tk
r^   d S X W d Q R X | tkr~t|  | }dj	|}t
t j|d|d d S )Nz-floating point number truncated to an integerzgot {} instead of nanT)err_msg)r   nanZninr   filterRuntimeWarningDeprecationWarning	TypeErrorPOSTPROCESSINGformatr   isnan)r   argssupresr   r   r   r   test_nan_inputs&   s    

r(   c              C   s@   t  0} | jtd tjtjdd}ttj| W d Q R X d S )Nz-floating point number truncated to an integer   g      ?)	r   r   r   r
   Zbdtrcr   r   r   r$   )r&   r'   r   r   r   test_legacy_cast;   s
    r*   )__doc__typingr   r   Znumpyr   Znumpy.testingr   r   r   r   Zscipy.specialZspecialr
   r   strr"   r   ZUFUNCSZUFUNC_NAMESr   Zparametrizer(   r*   r   r   r   r   <module>   s   

