code: def ifft(invec, outvec):
      
      prec, itype, otype = _check_fft_args(invec, outvec)
      _check_inv_args(invec, itype, outvec, otype, 1, None)
  
      # The following line is where all the work is done:
      backend = get_backend()
      backend.ifft(invec, outvec, prec, itype, otype)
      # For an inverse FFT, the length of the *output* vector is the length
      # we should divide by, whether C2C or HC2R transform
      if isinstance(invec, _TimeSeries):
          outvec._epoch = invec._epoch
          outvec._delta_f = 1.0/(invec._delta_t * len(outvec))
          outvec *= invec._delta_t
      elif isinstance(invec,_FrequencySeries):
          outvec._epoch = invec._epoch
          outvec._delta_t = 1.0/(invec._delta_f * len(outvec))
          outvec *= invec._delta_f
docs: Inverse fourier transform from invec to outvec.
  
      Perform an inverse fourier transform. The type of transform is determined
      by the dtype of invec and outvec.
  
      Parameters
      ----------
      invec : TimeSeries or FrequencySeries
          The input vector.
      outvec : TimeSeries or FrequencySeries
          The output.