idft method

void idft(
  1. List<int> ret,
  2. int retStart,
  3. int retNum,
  4. List<MathComplex> src,
  5. int srcNum,
)

Implementation

void idft( List<int> ret, int retStart, int retNum, List<MathComplex> src, int srcNum ){
  double T = 6.28318530717958647692 / retNum;
  int x, t;
  double U, V;
  double tmp;
  for( x = retNum - 1; x >= 0; x-- ){
    U = T * x;
    tmp = 0;
    for( t = 0; t < srcNum; t++ ){
      V = U * t;
      tmp += src[t].real() * ClipMath.cos( V ) - src[t].imag() * ClipMath.sin( V );
    }
    tmp /= retNum;
    ret[retStart + x] = (tmp + 0.5).toInt();
  }
}