| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- import numpy as np
- import scipy.fft
- import threading
- class _MockFunction:
- def __init__(self, return_value = None):
- self.number_calls = threading.local()
- self.return_value = return_value
- self.last_args = threading.local()
- def __call__(self, *args, **kwargs):
- if not hasattr(self.number_calls, 'c'):
- self.number_calls.c = 0
- self.number_calls.c += 1
- self.last_args.l = (args, kwargs)
- return self.return_value
- fft = _MockFunction(np.random.random(10))
- fft2 = _MockFunction(np.random.random(10))
- fftn = _MockFunction(np.random.random(10))
- ifft = _MockFunction(np.random.random(10))
- ifft2 = _MockFunction(np.random.random(10))
- ifftn = _MockFunction(np.random.random(10))
- rfft = _MockFunction(np.random.random(10))
- rfft2 = _MockFunction(np.random.random(10))
- rfftn = _MockFunction(np.random.random(10))
- irfft = _MockFunction(np.random.random(10))
- irfft2 = _MockFunction(np.random.random(10))
- irfftn = _MockFunction(np.random.random(10))
- hfft = _MockFunction(np.random.random(10))
- hfft2 = _MockFunction(np.random.random(10))
- hfftn = _MockFunction(np.random.random(10))
- ihfft = _MockFunction(np.random.random(10))
- ihfft2 = _MockFunction(np.random.random(10))
- ihfftn = _MockFunction(np.random.random(10))
- dct = _MockFunction(np.random.random(10))
- idct = _MockFunction(np.random.random(10))
- dctn = _MockFunction(np.random.random(10))
- idctn = _MockFunction(np.random.random(10))
- dst = _MockFunction(np.random.random(10))
- idst = _MockFunction(np.random.random(10))
- dstn = _MockFunction(np.random.random(10))
- idstn = _MockFunction(np.random.random(10))
- fht = _MockFunction(np.random.random(10))
- ifht = _MockFunction(np.random.random(10))
- __ua_domain__ = "numpy.scipy.fft"
- _implements = {
- scipy.fft.fft: fft,
- scipy.fft.fft2: fft2,
- scipy.fft.fftn: fftn,
- scipy.fft.ifft: ifft,
- scipy.fft.ifft2: ifft2,
- scipy.fft.ifftn: ifftn,
- scipy.fft.rfft: rfft,
- scipy.fft.rfft2: rfft2,
- scipy.fft.rfftn: rfftn,
- scipy.fft.irfft: irfft,
- scipy.fft.irfft2: irfft2,
- scipy.fft.irfftn: irfftn,
- scipy.fft.hfft: hfft,
- scipy.fft.hfft2: hfft2,
- scipy.fft.hfftn: hfftn,
- scipy.fft.ihfft: ihfft,
- scipy.fft.ihfft2: ihfft2,
- scipy.fft.ihfftn: ihfftn,
- scipy.fft.dct: dct,
- scipy.fft.idct: idct,
- scipy.fft.dctn: dctn,
- scipy.fft.idctn: idctn,
- scipy.fft.dst: dst,
- scipy.fft.idst: idst,
- scipy.fft.dstn: dstn,
- scipy.fft.idstn: idstn,
- scipy.fft.fht: fht,
- scipy.fft.ifht: ifht
- }
- def __ua_function__(method, args, kwargs):
- fn = _implements.get(method)
- return (fn(*args, **kwargs) if fn is not None
- else NotImplemented)
|