o
    Ö­j.  ã                   @   sœ   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
ƒ¡ qeej	jƒD ]Z
e eej	je
ƒ¡ q-dd„ eD ƒZej de¡d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                 C   s   g | ]
}t |tjƒr|‘qS © )Ú
isinstanceÚnpÚufunc)Ú.0Úfuncr   r   úf/var/www/html/CropPilot/venv/lib/python3.10/site-packages/scipy/special/tests/test_ufunc_signatures.pyÚ
<listcomp>   s    r	   r   c                 C   sb   t dd„ | jD ƒƒ}t ƒ }|D ]}| | dd¡ dd¡| dd¡ dd¡g¡ q||ks/J ‚d S )Nc                 s   s4   � | ]}d |v sd|v sd|v sd|v s|V  qdS )ÚlÚiÚqÚpNr   )r   Úsigr   r   r   Ú	<genexpr>#   s   €  ÿÿz(test_ufunc_signatures.<locals>.<genexpr>ÚdÚfÚDÚF)ÚsetÚtypesÚupdateÚreplace)r   r   Úexpanded_typesr   r   r   r   Útest_ufunc_signatures   s   
ÿÿr   )Ú__doc__Únumpyr   ÚpytestÚscipy.special._ufuncsÚscipyÚscipy.special._gufuncsÚ_ufuncsÚdirÚspecialÚfuncnameÚappendÚgetattrÚ_gufuncsÚmarkÚparametrizer   r   r   r   r   Ú<module>   s    
