23 lines
598 B
Python
23 lines
598 B
Python
|
import numpy as np
|
||
|
|
||
|
class NumPyBackend:
|
||
|
"""Backend that uses numpy.fft"""
|
||
|
__ua_domain__ = "numpy.scipy.fft"
|
||
|
|
||
|
@staticmethod
|
||
|
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"
|
||
|
|
||
|
@staticmethod
|
||
|
def __ua_function__(method, args, kwargs):
|
||
|
print(method, args, kwargs, sep='\n')
|