
    tKg'                         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         g/home/alanp/www/video.onchill/myenv/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   ;   sN    		

>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!   