scipy.fft.register_backend

scipy.fft.register_backend(backend)[源代码]

注册一个永久使用的后端。

已注册的后端优先级最低,将在全局后端之后尝试。

参数
backend{object,‘scipy’}

要使用的后端。可以是一个 str 包含已知后端{‘scipy’}或实现uarray协议的对象的名称。

加薪
ValueError:如果后台没有实现 numpy.scipy.fft

示例

我们可以注册新的FFT后端:

>>> from scipy.fft import fft, register_backend, set_global_backend
>>> class NoopBackend:  # Define an invalid Backend
...     __ua_domain__ = "numpy.scipy.fft"
...     def __ua_function__(self, func, args, kwargs):
...          return NotImplemented
>>> set_global_backend(NoopBackend())  # Set the invalid backend as global
>>> register_backend("scipy")  # Register a new backend
>>> fft([1])  # The registered backend is called because the global backend returns `NotImplemented`
array([1.+0.j])
>>> set_global_backend("scipy")  # Restore global backend to default