
    ^Mh.                        d Z ddlZddlZddlZddlZg Z eej	        j                  D ]+Z
e                     eej	        j        e
                     , eej	        j                  D ]+Z
e                     eej	        j        e
                     ,d eD             Zej                            de          d             ZdS )a  Test that all ufuncs have float32-preserving signatures.

This was once guaranteed through the code generation script for
generating ufuncs, `scipy/special/_generate_pyx.py`. Starting with
gh-20260, SciPy developers have begun moving to generate ufuncs
through direct use of the NumPy C API (through C++). Existence of
float32 preserving signatures must now be tested since it is no
longer guaranteed.
    Nc                 F    g | ]}t          |t          j                  |S  )
isinstancenpufunc).0funcs     i/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/scipy/special/tests/test_ufunc_signatures.py
<listcomp>r      s)    
B
B
BDz$'A'A
B4
B
B
B    r   c                 F   t          d | j        D                       }t                      }|D ]i}|                    |                    dd                              dd          |                    dd                              dd          g           j||k    sJ d S )Nc              3   :   K   | ]}d |v d|v 
d|v d|v |V  dS )liqpNr   )r   sigs     r
   	<genexpr>z(test_ufunc_signatures.<locals>.<genexpr>#   sO       O Os

cSjjC3JJ#** BL***O Or   dfDF)settypesupdatereplace)r   r   expanded_typesr   s       r
   test_ufunc_signaturesr      s      O Ou{ O O O O OE
 UUN 
 
[[c""**344[[c""**3446	
 	
 	
 	
 N""""""r   )__doc__numpyr   pytestscipy.special._ufuncsscipyscipy.special._gufuncs_ufuncsdirspecialfuncnameappendgetattr_gufuncsmarkparametrizer   r   r   r
   <module>r.      s                
EM)** = =HNN775=0(;;<<<<EM*++ > >HNN775=18<<==== C
BG
B
B
B'**# # +*# # #r   