
    doi                         % S r SSKrSSKJr  SSKrSSK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-                  S\\S	9S
 5       rS rg)z3Test how the ufuncs in special handle nan inputs.

    N)Callable)assert_array_equalassert_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         _/var/www/html/land-ocr/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[        R                  " 5          [        R
                  " SS[        5         [        R                  " 5          [        R                  " S[        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ignore-floating point number truncated to an integerzgot z instead of nanT)err_msg)r   nanninwarningscatch_warningsfilterwarningsRuntimeWarningsimplefilterDeprecationWarning	TypeErrorr   r   isnan)r!   argsresr   s       r   test_nan_inputsr3   (   s    FF9TXXD		 	 	";	

	((*%%h0BCDk + 
# ~T"C(_
%Crxx}dC8 +*  	 
#	"	 
#	"sM   C=C%'!CC%
C"	C%!C="C%%
C:/C=9C::C==
Dc                  $   [         R                  " 5          [         R                  " SS[        5        [        R
                  " [        R                  SS5      n [        [        R                  " U 5      5        S S S 5        g ! , (       d  f       g = f)Nr$   r%      g      ?)
r)   r*   r+   r,   r   bdtrcr   r'   r   r0   )r2   s    r   test_legacy_castr7   @   sY    		 	 	";	

 hhrvvq#& 
#	"	"s   A"B
B)__doc__r)   collections.abcr   numpyr   numpy.testingr   r   r   scipy.specialspecialr   r   dictstr__annotations__r   r   UFUNCSUFUNC_NAMESr   parametrizer3   r7    r    r   <module>rE      s     $  5   &(tCM" '&(S(]# ($ "m  [99 :9.r    