* @param scale
     *            if true then scaling is performed
     */
    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);
        }
    }