docs: public void realForwardFull(final float[] a, final int offa) {
  
  		final int twon = 2 * n;
  		switch (plan) {
  			case SPLIT_RADIX:{
  				realForward(a, offa);
  
  				int idx1, idx2;
  				for (int k = 0; k < n / 2; k++) {
  					idx1 = 2 * k;
  					idx2 = offa + ((twon - idx1) % twon);
  					a[idx2] = a[offa + idx1];
  					a[idx2 + 1] = -a[offa + idx1 + 1];
  				}
  				a[offa + n] = -a[offa + 1];
  				a[offa + 1] = 0;
  			}break;
  			case MIXED_RADIX:{
  				rfftf(a, offa);
  				int m;
  				if (n % 2 == 0) {
  					m = n / 2;
  				} else {
  					m = (n + 1) / 2;
  				}
  				for (int k = 1; k < m; k++) {
  					int idx1 = offa + twon - 2 * k;
  					int idx2 = offa + 2 * k;
  					a[idx1 + 1] = -a[idx2];
  					a[idx1] = a[idx2 - 1];
  				}
  				for (int k = 1; k < n; k++) {
  					int idx = offa + n - k;
  					float tmp = a[idx + 1];
  					a[idx + 1] = a[idx];
  					a[idx] = tmp;
  				}
  				a[offa + 1] = 0;
  			}break;
  			case BLUESTEIN:
  				bluestein_real_full(a, offa, -1);
  				break;
  		}
  	}