code: def fft(x, n=None, axis=-1, overwrite_x=False, plan=None):
      """Compute the one-dimensional FFT.
  
      Args:
          x (cupy.ndarray): Array to be transformed.
          n (None or int): Length of the transformed axis of the output. If ``n``
              is not given, the length of the input along the axis specified by
              ``axis`` is used.
          axis (int): Axis over which to compute the FFT.
          overwrite_x (bool): If True, the contents of ``x`` can be destroyed.
          plan (:class:`cupy.cuda.cufft.Plan1d` or ``None``): a cuFFT plan for
              transforming ``x`` over ``axis``, which can be obtained using::
  
                  plan = cupyx.scipy.fftpack.get_fft_plan(x, axis)
  
              Note that `plan` is defaulted to None, meaning CuPy will use an
              auto-generated plan behind the scene.
  
      Returns:
          cupy.ndarray:
              The transformed array which shape is specified by ``n`` and type
              will convert to complex if that of the input is another.
  
      .. note::
         The argument `plan` is currently experimental and the interface may be
         changed in the future version.
  
      .. seealso:: :func:`scipy.fftpack.fft`
      """
      from cupy.cuda import cufft
  
      return _fft(
          x,
          (n,),
          (axis,),
          None,
          cufft.CUFFT_FORWARD,
          overwrite_x=overwrite_x,
          plan=plan,
      )
  
file_path: cupy/cupyx/scipy/fftpack/_fft.py
imports: from numpy import prod
  import cupy
  from cupy.fft import config
  from cupy.fft._fft import _convert_fft_type, _default_fft_func, _fft, _get_cufft_plan_nd, _get_fftn_out_size, _output_dtype
  from cupy.fft._cache import get_plan_cache
label_desc: Use image node_id 2 for calling a global function with example usage: fft(x, n, axis, overwrite_x, plan) and returns: _fft