*            index of the first element in array <code>a</code>
     */
    public void complexForward(float[] a, int offa) {
        if (n == 1)
            return;
        switch (plan) {
        case SPLIT_RADIX:
            cftbsub(2 * n, a, offa, ip, nw, w);
            break;
        case MIXED_RADIX:
            cfftf(a, offa, -1);
            break;
        case BLUESTEIN:
            bluestein_complex(a, offa, -1);
            break;
        }
    }