
    sg'                         U d Z ddl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.

    )CallableN)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         V/var/www/html/venv/lib/python3.12/site-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_inputsr1   &   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-   )r/   r0   s     r   test_legacy_castr5   ;   sW    		 

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