import numpy as np | |
class NumPyBackend: | |
"""Backend that uses numpy.fft""" | |
__ua_domain__ = "numpy.scipy.fft" | |
def __ua_function__(method, args, kwargs): | |
kwargs.pop("overwrite_x", None) | |
fn = getattr(np.fft, method.__name__, None) | |
return (NotImplemented if fn is None | |
else fn(*args, **kwargs)) | |
class EchoBackend: | |
"""Backend that just prints the __ua_function__ arguments""" | |
__ua_domain__ = "numpy.scipy.fft" | |
def __ua_function__(method, args, kwargs): | |
print(method, args, kwargs, sep='\n') | |