
    xf-                         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mZ i Zeeef   ed<   i Zeeef   ed<   d Z e       \  ZZe
j*                  j-                  dee	      d
        Zd Zy)z3Test how the ufuncs in special handle nan inputs.

    )CallableDictN)assert_array_equalassert_suppress_warningsKNOWNFAILURESPOSTPROCESSINGc                     g } g }t        t        j                        D ]  }t        j                  |   }t        |t        j
                        s1t        j                  |      }|#| j                  |       |j                  |       kt        j                  j                  d|      }| j                  t        j                  ||             |j                  |        | |fS )NF)runreason)marks)sortedsc__dict__
isinstancenpufuncr   getappendpytestmarkxfailparam)ufuncsufunc_namesnameobjmsgfails         E/usr/lib/python3/dist-packages/scipy/special/tests/test_nan_inputs.py_get_ufuncsr!      s    FKr{{# %kk$#rxx($;MM#t$;;$$s$;DMM&,,s$78t$% ;    func)idsc                    t         j                  f| j                  z  }t               5 }|j	                  t
        d       	 t               5 }|j	                  t                | | }d d d        d d d        | t        v rt        |     }d d}t        t        j                  |      d|       y # 1 sw Y   LxY w# t        $ r Y d d d        y w xY w# 1 sw Y   gxY w)N-floating point number truncated to an integerzgot z instead of nanT)err_msg)r   nanninr   filterRuntimeWarningDeprecationWarning	TypeErrorr	   r   isnan)r#   argssupresr   s        r    test_nan_inputsr2   &   s    FF9TXXD		 


>B	D	"$ "

-.Dk"
 ~T"C(_
%Crxx}dC8" "  	
 
	
 
sA   C
B=B1&B=1B:	6B==	CCCCCc                      t               5 } | j                  t        d       t        j                  t
        j                  dd      }t        t        j                  |             d d d        y # 1 sw Y   y xY w)Nr&      g      ?)	r   r*   r+   r   bdtrcr   r(   r   r.   )r0   r1   s     r    test_legacy_castr6   ;   sW    		 

>B	Dhhrvvq#&	  s   AA..A7)__doc__typingr   r   numpyr   numpy.testingr   r   r   r   scipy.specialspecialr   r   str__annotations__r	   r!   UFUNCSUFUNC_NAMESr   parametrizer2   r6    r"   r    <module>rC      s    "  H H   &(tCM" '&(S(]# ($ "m  [99 :9(r"   