K iVJdZddlmcmZddlmZddlm Z dZ dZ dZ dZy) zNTools for testing implementations of __array_function__ and ufunc overrides N)ufunc)ARRAY_FUNCTIONSctjjDchc]}t|tr|}}|Scc}w)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)objufuncss ]/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/numpy/testing/overrides.pyget_overridable_numpy_ufuncsr sA$__335*cC(*F* M*s>c"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. )r r funcs r allows_array_ufunc_overriders( dF ##c6ddlm}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_overriderFs # ##r)__doc__numpy._core.umath_coreumathrnumpyrr numpy._core.overridesrrrrrrrr r$s, #"!E"$.#&$r