X-Git-Url: http://git.kpe.io/?p=ctsim.git;a=blobdiff_plain;f=libctsim%2Ffourier.cpp;h=d85bfbe5b97d8c332a582ed94eea94469aaca171;hp=a3a62d984ef80966bfa847445be2597ecc78be9f;hb=f13a8c004b8f182b42d9e4df2bcd7c7f030bf1ad;hpb=d42d3d062dd1aca92b5a2552a1f474aab0bee610 diff --git a/libctsim/fourier.cpp b/libctsim/fourier.cpp index a3a62d9..d85bfbe 100644 --- a/libctsim/fourier.cpp +++ b/libctsim/fourier.cpp @@ -7,9 +7,7 @@ ** Date Started: Dec 2000 ** ** This is part of the CTSim program -** Copyright (c) 1983-2001 Kevin Rosenberg -** -** $Id$ +** Copyright (c) 1983-2009 Kevin Rosenberg ** ** This program is free software; you can redistribute it and/or modify ** it under the terms of the GNU General Public License (version 2) as @@ -100,14 +98,14 @@ Fourier::shuffleNaturalToFourierOrder (ImageFile& im) } #ifdef HAVE_FFTW -void Fourier::shuffleNaturalToFourierOrder (fftw_complex* pVector, const int n) +void Fourier::shuffleNaturalToFourierOrder (fftw_complex* pVector, const int n) { fftw_complex* pTemp = static_cast(fftw_malloc(sizeof(fftw_complex) * n)); int i; - + if (isOdd(n)) { // Odd int iHalfN = (n - 1) / 2; - + pTemp[0][0] = pVector[iHalfN][0]; pTemp[0][1] = pVector[iHalfN][1]; for (i = 0; i < iHalfN; i++) { @@ -131,7 +129,7 @@ void Fourier::shuffleNaturalToFourierOrder (fftw_complex* pVector, const int n) pTemp[i + iHalfN][1] = pVector[i][1]; } } - + for (i = 0; i < n; i++) { pVector[i][0] = pTemp[i][0]; pVector[i][1] = pTemp[i][1]; @@ -145,7 +143,7 @@ void Fourier::shuffleFourierToNaturalOrder (fftw_complex* pVector, const int n) int i; if (isOdd(n)) { // Odd int iHalfN = (n - 1) / 2; - + pTemp[iHalfN][0] = pVector[0][0]; pTemp[iHalfN][1] = pVector[0][1]; for (i = 0; i < iHalfN; i++) { @@ -169,12 +167,12 @@ void Fourier::shuffleFourierToNaturalOrder (fftw_complex* pVector, const int n) pTemp[i + iHalfN + 1][1] = pVector[i+1][1]; } } - + for (i = 0; i < n; i++) { pVector[i][0] = pTemp[i][0]; pVector[i][1] = pTemp[i][1]; } - + fftw_free(pTemp); } #endif