;iLdZddlmcmZddlmZddlm Z dZ dZ dZ dZdS) zNTools for testing implementations of __array_function__ and ufunc overrides N)ufunc)ARRAY_FUNCTIONScVdtjD}|S)zList all numpy ufuncs overridable via `__array_ufunc__` Parameters ---------- None Returns ------- set A set containing all overridable ufuncs in the public numpy API. c<h|]}t|t|S isinstance_ufunc).0objs KC:\PYTHON\MyICR_Workspace\venv\Lib\site-packages\numpy/testing/overrides.py z/get_overridable_numpy_ufuncs..s6***cC((*c***)_umath__dict__values)ufuncss r get_overridable_numpy_ufuncsr s2**V_3355***F Mrc,t|tS)aDetermine 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. rfuncs r allows_array_ufunc_overriders( dF # ##rc4ddlm}tjS)aList 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_functionscopyrs r %get_overridable_numpy_array_functionsr3s% '&&&&&  " ""rc|tvS)ahDetermine 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. )rrs r allows_array_function_overrider!Fs # ##r)__doc__numpy._core.umath_coreumathrnumpyrr numpy._core.overridesrrrrrr!rrr r(s #""""""""!!!!!!EEEEEE"$$$.###&$$$$$r