o
    ٷiN                     @   s   U d Z ddlZddlmZ ddlmZ ddlmZ ddgZ	ej
aee ed	< ed
ddddee ddfddZdefddZdS )z.Fast Fourier Transform (FFT) library container    N)
ModuleType)Optional   )
deprecated
get_fftlib
set_fftlib__FFTLIBz0.11.0z1.0)versionversion_removedlibreturnc                 C   s   | du rt j} | adS )a  Set the FFT library used by librosa.

    .. warning:: This functionality is deprecated in librosa 0.11 and will be
        removed in 1.0.  To achieve the same effect, use either the
        `scipy.fft.set_backend` context manager or
        `scipy.fft.set_global_backend` function.

    Parameters
    ----------
    lib : None or module
        Must implement an interface compatible with `scipy.fft`.
        If ``None``, reverts to `scipy.fft`.

    Examples
    --------
    Use `pyfftw`:

    >>> import pyfftw
    >>> librosa.set_fftlib(pyfftw.interfaces.numpy_fft)

    Reset to default `scipy` implementation

    >>> librosa.set_fftlib()
    N)scipyfftr   )r    r   D/home/ubuntu/.local/lib/python3.10/site-packages/librosa/core/fft.pyr      s   c                   C   s   t du rJ t S )zGet the FFT library currently used by librosa

    Returns
    -------
    fft : module
        The FFT library currently used by librosa.
        Must API-compatible with `numpy.fft`.
    N)r   r   r   r   r   r   2   s   	)N)__doc__	scipy.fftr   typesr   typingr   util.decoratorsr   __all__r   r   __annotations__r   r   r   r   r   r   <module>   s   
 