
    (phB                     
   % S r SSKJr  SSKrSSKJrJrJr  SSK	r	SSK
Jr  0 r\\\4   \S'   0 r\\\4   \S'   S r\" 5       u  rr\	R*                  R,                  \	R*                  R/                  S\\S	9S
 5       5       rS rg)z3Test how the ufuncs in special handle nan inputs.

    )CallableN)assert_array_equalassert_suppress_warningsKNOWNFAILURESPOSTPROCESSINGc                     / n / n[        [        R                  5       H  n[        R                  U   n[        U[        R
                  5      (       d  M7  [        R                  U5      nUc$  U R                  U5        UR                  U5        Ms  [        R                  R                  SUS9nU R                  [        R                  " X5S95        UR                  U5        M     X4$ )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.13/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                    [         R                  4U R                  -  n[        5        nUR	                  [
        S5         [        5        nUR	                  [        5        U " U6 nS S S 5        S S S 5        U [        ;   a  [        U    " W6 nSW S3n[        [         R                  " U5      SUS9  g ! , (       d  f       NR= f! [         a     S S S 5        g f = f! , (       d  f       Ns= f)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 %$  	 
		 
	sM   C
CB2&C2
C 	<C?C C
CCCC
C)c                     [        5        n U R                  [        S5        [        R                  " [
        R                  SS5      n[        [
        R                  " U5      5        S S S 5        g ! , (       d  f       g = f)Nr%      g      ?)	r   r)   r*   r   bdtrcr   r'   r   r-   )r/   r0   s     r   test_legacy_castr5   <   sN    		

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