realInverse(a, 0, scale);
realInverse(a, 0, scale);
realInverse(a, 0, scale);
realInverse(a, 0, scale);
DoubleFFT_1D fft = new DoubleFFT_1D(reader.getSpectrum().getYvalues().length); DoubleFFT_1D ifft = new DoubleFFT_1D(reader.getSpectrum().getYvalues().length); fft.realForward(x); for (int i = 0; i < x.length/2; i++) { x[2*i] = Math.sqrt(Math.pow(x[2*i],2) + Math.pow(x[2*i+1],2)); x[2*i+1] = 0; } ifft.realInverse(x); for (int i = 1; i < x.length; i++) x[i] /= x[0]; x[0] = 1.0;
public void run() { if (icr == 0) { if (isgn == -1) { for (long r = n0; r < rowsl; r += nthreads) { fftColumns.complexForward(a, r * columnsl); } } else { for (long r = n0; r < rowsl; r += nthreads) { fftColumns.complexInverse(a, r * columnsl, scale); } } } else if (isgn == 1) { for (long r = n0; r < rowsl; r += nthreads) { fftColumns.realForward(a, r * columnsl); } } else { for (long r = n0; r < rowsl; r += nthreads) { fftColumns.realInverse(a, r * columnsl, scale); } } } });
public void run() { if (icr == 0) { if (isgn == -1) { for (int r = n0; r < rows; r += nthreads) { fftColumns.complexForward(a, r * columns); } } else { for (int r = n0; r < rows; r += nthreads) { fftColumns.complexInverse(a, r * columns, scale); } } } else if (isgn == 1) { for (int r = n0; r < rows; r += nthreads) { fftColumns.realForward(a, r * columns); } } else { for (int r = n0; r < rows; r += nthreads) { fftColumns.realInverse(a, r * columns, scale); } } } });
public void run() { if (icr == 0) { if (isgn == -1) { for (long r = n0; r < rowsl; r += nthreads) { fftColumns.complexForward(a, r * columnsl); } } else { for (long r = n0; r < rowsl; r += nthreads) { fftColumns.complexInverse(a, r * columnsl, scale); } } } else if (isgn == 1) { for (long r = n0; r < rowsl; r += nthreads) { fftColumns.realForward(a, r * columnsl); } } else { for (long r = n0; r < rowsl; r += nthreads) { fftColumns.realInverse(a, r * columnsl, scale); } } } });
public void run() { if (icr == 0) { if (isgn == -1) { for (int r = n0; r < rows; r += nthreads) { fftColumns.complexForward(a[r]); } } else { for (int r = n0; r < rows; r += nthreads) { fftColumns.complexInverse(a[r], scale); } } } else if (isgn == 1) { for (int r = n0; r < rows; r += nthreads) { fftColumns.realForward(a[r]); } } else { for (int r = n0; r < rows; r += nthreads) { fftColumns.realInverse(a[r], scale); } } } });
public void run() { if (icr == 0) { if (isgn == -1) { for (int r = n0; r < rows; r += nthreads) { fftColumns.complexForward(a, r * columns); } } else { for (int r = n0; r < rows; r += nthreads) { fftColumns.complexInverse(a, r * columns, scale); } } } else if (isgn == 1) { for (int r = n0; r < rows; r += nthreads) { fftColumns.realForward(a, r * columns); } } else { for (int r = n0; r < rows; r += nthreads) { fftColumns.realInverse(a, r * columns, scale); } } } });
public void run() { if (icr == 0) { if (isgn == -1) { for (int r = n0; r < rows; r += nthreads) { fftColumns.complexForward(a[r]); } } else { for (int r = n0; r < rows; r += nthreads) { fftColumns.complexInverse(a[r], scale); } } } else if (isgn == 1) { for (int r = n0; r < rows; r += nthreads) { fftColumns.realForward(a[r]); } } else { for (int r = n0; r < rows; r += nthreads) { fftColumns.realInverse(a[r], scale); } } } });
/** * Computes the inverse of the discrete Fourier transform (DFT) of this * matrix. The physical layout of the input data has to be as follows: * * <pre> * this[2*k] = Re[k], 0<=k<size/2 * this[2*k+1] = Im[k], 0<k<size/2 * this[1] = Re[size/2] * </pre> * * This method computes only half of the elements of the real transform. The * other half satisfies the symmetry condition. If you want the full real * inverse transform, use <code>getIfft</code>. * */ public void ifft(boolean scale) { int oldNthreads = ConcurrencyUtils.getNumberOfThreads(); ConcurrencyUtils.setNumberOfThreads(ConcurrencyUtils.nextPow2(oldNthreads)); if (fft == null) { fft = new DoubleFFT_1D(size); } if (isNoView) { fft.realInverse(elements, scale); } else { DoubleMatrix1D copy = this.copy(); fft.realInverse((double[]) copy.elements(), scale); this.assign((double[]) copy.elements()); } ConcurrencyUtils.setNumberOfThreads(oldNthreads); }
cdft2d_sub(1, a, scale); for (int r = 0; r < rows; r++) { fftColumns.realInverse(a[r], scale);
cdft2d_sub(1, a, scale); for (int r = 0; r < rows; r++) { fftColumns.realInverse(a[r], scale);
cdft2d_sub(1, a, scale); for (int r = 0; r < rows; r++) { fftColumns.realInverse(a, r * columns, scale);
cdft2d_sub(1, a, scale); for (long r = 0; r < rowsl; r++) { fftColumns.realInverse(a, r * columnsl, scale);
cdft2d_sub(1, a, scale); for (int r = 0; r < rows; r++) { fftColumns.realInverse(a, r * columns, scale);
cdft2d_sub(1, a, scale); for (long r = 0; r < rowsl; r++) { fftColumns.realInverse(a, r * columnsl, scale);
ifft.realInverse(ac, true);
realInverse(new DoubleLargeArray(a), offa, scale); } else { if (n == 1) {