| 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') | |