code: def ifft(x_gpu, y_gpu, plan, scale=False):
      """
      Inverse Fast Fourier Transform.
  
      Compute the inverse FFT of some data in device memory using the
      specified plan.
  
      Parameters
      ----------
      x_gpu : pycuda.gpuarray.GPUArray
          Input array.
      y_gpu : pycuda.gpuarray.GPUArray
          Inverse FFT of input array.
      plan : Plan
          FFT plan.
      scale : bool, optional
          If True, scale the computed inverse FFT by the number of
          elements in the output array.
  
      Examples
      --------
      >>> import pycuda.autoinit
      >>> import pycuda.gpuarray as gpuarray
      >>> import numpy as np
      >>> from skcuda.fft import fft, Plan
      >>> N = 128
      >>> x = np.asarray(np.random.rand(N), np.float32)
      >>> xf = np.asarray(np.fft.fft(x), np.complex64)
      >>> xf_gpu = gpuarray.to_gpu(xf[0:N/2+1])
      >>> x_gpu = gpuarray.empty(N, np.float32)
      >>> plan = Plan(N, np.complex64, np.float32)
      >>> ifft(xf_gpu, x_gpu, plan, True)
      >>> np.allclose(x, x_gpu.get(), atol=1e-6)
      True
  
      Notes
      -----
      For complex to real transformations, this function assumes the
      input contains N/2+1 non-redundant FFT coefficents of a signal of
      length N.
      """
  
      if scale == True:
          _fft(
              x_gpu,
              y_gpu,
              plan,
              cufft.CUFFT_INVERSE,
              y_gpu.size / plan.batch,
          )
      else:
          _fft(x_gpu, y_gpu, plan, cufft.CUFFT_INVERSE)
  
file_path: scikit-cuda/skcuda/fft.py
imports: import pycuda.driver
  import pycuda.gpuarray
  import pycuda.elementwise
  from pycuda.tools import context_dependent_memoize
  import pycuda.tools
  import numpy
  from .None import cufft
  from .cufft import CUFFT_COMPATIBILITY_NATIVE, CUFFT_COMPATIBILITY_FFTW_PADDING, CUFFT_COMPATIBILITY_FFTW_ASYMMETRIC, CUFFT_COMPATIBILITY_FFTW_ALL
  from .None import cudart
  from .None import misc
label_desc: Use image node_id 4 for calling a global function with example usage: ifft(x_gpu, y_gpu, plan, scale) without return types