code: def dft(re_data, im_data, inverse=False):
      """
      Computes the discrete Fourier transform of input (calculation along the last axis).
      This gives frequency components of the signal as they change over time.
  
      Parameters
      ----------
      re_data : relay.Expr
          N-D tensor, real part of the input signal.
  
      im_data : relay.Expr
          N-D tensor, imaginary part of the input signal.
          If the signal is real, then the values of this tensor are zeros.
  
      inverse : bool
          Whether to perform the inverse discrete fourier transform.
  
      Returns
      -------
      re_output : relay.Expr
          The Fourier Transform of the input (Real part).
      im_output : relay.Expr
          The Fourier Transform of the input (Imaginary part).
      """
      return TupleWrapper(_make.dft(re_data, im_data, inverse), 2)
  
imports: from ...tir import expr
  from ..expr import Constant, Expr, Tuple, TupleWrapper, const
  from .None import _make
  from .dyn import _make
  from .tensor import shape_of
label_desc: Use image node_id 49 for calling a global function with example usage: dft(re_data, im_data, inverse) and returns: TupleWrapper