private void level_shift(int du[], int P) throws Exception {
        int i;
        if (P == 8) {
            for (i = 0; i < 64; i++) {
                du[i] += 128;
            }
        } else if (P == 12) {
            for (i = 0; i < 64; i++) {
                du[i] += 2048;
            }
        } else {
            error("ERROR: Precision=" + P);
        }
    }