code: public void complexInverse(float[] a, int offa, boolean scale) {
  		if (n == 1)
  			return;
  		switch (plan) {
  			case SPLIT_RADIX:
  				cftfsub(2 * n, a, offa, ip, nw, w);
  				break;
  			case MIXED_RADIX:
  				cfftf(a, offa, +1);
  				break;
  			case BLUESTEIN:
  				bluestein_complex(a, offa, 1);
  				break;
  		}
  		if (scale) {
  			scale(n, a, offa, true);
  		}
  	}
docs: Computes 1D inverse DFT of complex data leaving the result in
  <code>a</code>. Complex number is stored as two float values in
  sequence: the real and imaginary part, i.e. the size of the input array
  must be greater or equal 2*n. The physical layout of the input data has
  to be as follows:<br>
  
  <pre>
  a[offa+2*k] = Re[k],
  a[offa+2*k+1] = Im[k], 0&lt;=k&lt;n
  </pre>
  
  @param a
  data to transform
  @param offa
  index of the first element in array <code>a</code>
  @param scale
  if true then scaling is performed