
    KhU                     J    S r SSKJr  SSKJr  SSKJs  J	r
  S rS rS rS rg)	zNTools for testing implementations of __array_function__ and ufunc overrides


    )ARRAY_FUNCTIONS)ufuncNc                      [         R                  R                  5        V s1 s H  n [        U [        5      (       d  M  U iM     nn U$ s  sn f )zList all numpy ufuncs overridable via `__array_ufunc__`

Parameters
----------
None

Returns
-------
set
    A set containing all overridable ufuncs in the public numpy API.
)_umath__dict__values
isinstance_ufunc)objufuncss     I/var/www/html/env/lib/python3.13/site-packages/numpy/testing/overrides.pyget_overridable_numpy_ufuncsr   
   sB     $__335 *5cC( 5F *M*s
   AAc                 "    [        U [        5      $ )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	   r
   funcs    r   allows_array_ufunc_overrider      s    ( dF##    c                  8    SSK Jn   [        R                  " 5       $ )zList 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   s    r   %get_overridable_numpy_array_functionsr   2   s      '  ""r   c                     U [         ;   $ )a@  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   s    r   allows_array_function_overrider   E   s     ###r   )__doc__numpy._core.overridesr   r   numpyr   r
   numpy._core.umath_coreumathr   r   r   r   r    r   r   <module>r$      s-   
 F ! " ""$.#&$r   