inverseFft function

List<double> inverseFft(
  1. List<Complex> data
)

Implementation

List<double> inverseFft(List<Complex> data) {
  List<double> real = List.filled(data.length, 0);
  List<double> imag = List.filled(data.length, 0);
  for (int i = 0; i < data.length; i++) {
    real[i] = data[i].real;
    imag[i] = data[i].imaginary;
  }
  transform(real, imag);
  final len = real.length;
  final scale = len.toDouble();
  final r = List<double>.filled(len, 0);
  r[0] = real[0] / scale;
  if (len <= 1) return r;
  for (int i = 1; i < len; ++i) {
    r[i] = real[len - i] / scale;
  }
  return r;
}