File: //usr/local/lib/python3.10/dist-packages/numpy/testing/__pycache__/overrides.cpython-310.pyc
o
���gK � @ sR d Z ddlmZ ddlmZ ddlm m Z
dd� Zdd� Zd d
� Z
dd� ZdS )
zNTools for testing implementations of __array_function__ and ufunc overrides
� )�ARRAY_FUNCTIONS)�ufuncNc C s dd� t j�� D �} | S )z�List all numpy ufuncs overridable via `__array_ufunc__`
Parameters
----------
None
Returns
-------
set
A set containing all overridable ufuncs in the public numpy API.
c S s h | ] }t |t�r|�qS � )�
isinstance�_ufunc)�.0�objr r �B/usr/local/lib/python3.10/dist-packages/numpy/testing/overrides.py� <setcomp> s
�z/get_overridable_numpy_ufuncs.<locals>.<setcomp>)�_umath�__dict__�values)�ufuncsr r r �get_overridable_numpy_ufuncs
s r c C s t | tj�S )a� Determine if a function can be overridden via `__array_ufunc__`
Parameters
----------
func : callable
Function that may be overridable via `__array_ufunc__`
Returns
-------
bool
`True` if `func` is overridable via `__array_ufunc__` and
`False` otherwise.
Notes
-----
This function is equivalent to ``isinstance(func, np.ufunc)`` and
will work correctly for ufuncs defined outside of Numpy.
)r �npr ��funcr r r �allows_array_ufunc_override s r c C s ddl m} t�� S )a List all numpy functions overridable via `__array_function__`
Parameters
----------
None
Returns
-------
set
A set containing all functions in the public numpy API that are
overridable via `__array_function__`.
r ��recfunctions)� numpy.libr �_array_functions�copyr r r r �%get_overridable_numpy_array_functions2 s r c C s | t v S )ah Determine if a Numpy function can be overridden via `__array_function__`
Parameters
----------
func : callable
Function that may be overridable via `__array_function__`
Returns
-------
bool
`True` if `func` is a function in the Numpy API that is
overridable via `__array_function__` and `False` otherwise.
)r r r r r �allows_array_function_overrideE s r )�__doc__�numpy.core.overridesr r �numpyr r �numpy.core.umath�core�umathr r r r r r r r r �<module> s