mock_backend.py 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. import numpy as np
  2. class _MockFunction:
  3. def __init__(self, return_value = None):
  4. self.number_calls = 0
  5. self.return_value = return_value
  6. self.last_args = ([], {})
  7. def __call__(self, *args, **kwargs):
  8. self.number_calls += 1
  9. self.last_args = (args, kwargs)
  10. return self.return_value
  11. fft = _MockFunction(np.random.random(10))
  12. fft2 = _MockFunction(np.random.random(10))
  13. fftn = _MockFunction(np.random.random(10))
  14. ifft = _MockFunction(np.random.random(10))
  15. ifft2 = _MockFunction(np.random.random(10))
  16. ifftn = _MockFunction(np.random.random(10))
  17. rfft = _MockFunction(np.random.random(10))
  18. rfft2 = _MockFunction(np.random.random(10))
  19. rfftn = _MockFunction(np.random.random(10))
  20. irfft = _MockFunction(np.random.random(10))
  21. irfft2 = _MockFunction(np.random.random(10))
  22. irfftn = _MockFunction(np.random.random(10))
  23. hfft = _MockFunction(np.random.random(10))
  24. hfft2 = _MockFunction(np.random.random(10))
  25. hfftn = _MockFunction(np.random.random(10))
  26. ihfft = _MockFunction(np.random.random(10))
  27. ihfft2 = _MockFunction(np.random.random(10))
  28. ihfftn = _MockFunction(np.random.random(10))
  29. dct = _MockFunction(np.random.random(10))
  30. idct = _MockFunction(np.random.random(10))
  31. dctn = _MockFunction(np.random.random(10))
  32. idctn = _MockFunction(np.random.random(10))
  33. dst = _MockFunction(np.random.random(10))
  34. idst = _MockFunction(np.random.random(10))
  35. dstn = _MockFunction(np.random.random(10))
  36. idstn = _MockFunction(np.random.random(10))
  37. fht = _MockFunction(np.random.random(10))
  38. ifht = _MockFunction(np.random.random(10))
  39. __ua_domain__ = "numpy.scipy.fft"
  40. def __ua_function__(method, args, kwargs):
  41. fn = globals().get(method.__name__)
  42. return (fn(*args, **kwargs) if fn is not None
  43. else NotImplemented)