class_docstr: The default backend for fft calculations
  
  Notes
  -----
  We use the domain ``numpy.scipy`` rather than ``scipy`` because ``uarray``
  treats the domain as a hierarchy. This means the user can install a single
  backend for ``numpy`` and have it implement ``numpy.scipy.fft`` as well.
class_docstr_tok: ["The","default","backend","for","fft","calculations","Notes","--","--","-","We","use","the","domain","``","numpy.scipy","``","rather","than","``","scipy","``","because","``","uarray","``","treats","the","domain","as","a","hierarchy",".","This","means","the","user","can","install","a","single","backend","for","``","numpy","``","and","have","it","implement","``","numpy.scipy.fft","``","as","well","."]
code: def __ua_function__(method, args, kwargs):
      fn = getattr(_basic_backend, method.__name__, None)
      if fn is None:
          fn = getattr(_realtransforms_backend, method.__name__, None)
      if fn is None:
          fn = getattr(_fftlog_backend, method.__name__, None)
      if fn is None:
          return NotImplemented
      return fn(*args, **kwargs)
  
file_path: scipy/scipy/fft/_backend.py
imports: import scipy._lib.uarray
  from .None import _basic_backend
  from .None import _realtransforms_backend
  from .None import _fftlog_backend
label_desc: Use image node_id 1 for calling the _ScipyBackend obj's underlying member method code with example usage: obj.__ua_function__(method, args, kwargs) and returns: fn, NotImplemented