X-Git-Url: http://git.kpe.io/?p=ctsim.git;a=blobdiff_plain;f=libctsim%2Ffourier.cpp;h=f7357cdf5363272c496e0634e16b2794b9799deb;hp=08940d43636881e2db2d632b09ccfba95fae1ac3;hb=d16eb37cbc73f67fc29a60645e0b1ac7fe32767e;hpb=c00c639073653fac7463a88f2b000f263236550d diff --git a/libctsim/fourier.cpp b/libctsim/fourier.cpp index 08940d4..f7357cd 100644 --- a/libctsim/fourier.cpp +++ b/libctsim/fourier.cpp @@ -7,9 +7,9 @@ ** Date Started: Dec 2000 ** ** This is part of the CTSim program -** Copyright (C) 1983-2001 Kevin Rosenberg +** Copyright (c) 1983-2001 Kevin Rosenberg ** -** $Id: fourier.cpp,v 1.2 2001/01/02 16:02:13 kevin Exp $ +** $Id: fourier.cpp,v 1.5 2001/03/18 18:08:25 kevin Exp $ ** ** 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 @@ -56,14 +56,14 @@ Fourier::shuffleFourierToNaturalOrder (ImageFile& im) if (im.isComplex()) { for (ix = 0; ix < nx; ix++) pRow[ix] = vImag[ix][iy]; - Fourier::shuffleFourierToNaturalOrder (pRow, nx);; + Fourier::shuffleFourierToNaturalOrder (pRow, nx); for (ix = 0; ix < nx; ix++) vImag[ix][iy] = pRow[ix]; } } delete pRow; } - + void Fourier::shuffleNaturalToFourierOrder (ImageFile& im) { @@ -99,7 +99,7 @@ Fourier::shuffleNaturalToFourierOrder (ImageFile& im) delete [] pRow; } - + // Odd Number of Points // Natural Frequency Order: -(n-1)/2...-1,0,1...(n-1)/2 // Fourier Frequency Order: 0, 1..(n-1)/2,-(n-1)/2...-1 @@ -112,9 +112,9 @@ Fourier::shuffleNaturalToFourierOrder (double* pdVector, const int n) { double* pdTemp = new double [n]; int i; - if (n % 2) { // Odd + if (isOdd(n)) { // Odd int iHalfN = (n - 1) / 2; - + pdTemp[0] = pdVector[iHalfN]; for (i = 0; i < iHalfN; i++) pdTemp[i + 1] = pdVector[i + 1 + iHalfN]; @@ -128,7 +128,7 @@ Fourier::shuffleNaturalToFourierOrder (double* pdVector, const int n) for (i = 0; i < iHalfN; i++) pdTemp[i + iHalfN] = pdVector[i]; } - + for (i = 0; i < n; i++) pdVector[i] = pdTemp[i]; delete pdTemp; @@ -139,9 +139,9 @@ Fourier::shuffleNaturalToFourierOrder (std::complex* pdVector, const int { std::complex* pdTemp = new std::complex [n]; int i; - if (n % 2) { // Odd + if (isOdd(n)) { // Odd int iHalfN = (n - 1) / 2; - + pdTemp[0] = pdVector[iHalfN]; for (i = 0; i < iHalfN; i++) pdTemp[i + 1] = pdVector[i + 1 + iHalfN]; @@ -155,7 +155,7 @@ Fourier::shuffleNaturalToFourierOrder (std::complex* pdVector, const int for (i = 0; i < iHalfN; i++) pdTemp[i + iHalfN] = pdVector[i]; } - + for (i = 0; i < n; i++) pdVector[i] = pdTemp[i]; delete [] pdTemp; @@ -167,9 +167,9 @@ Fourier::shuffleNaturalToFourierOrder (float* pdVector, const int n) { float* pdTemp = new float [n]; int i; - if (n % 2) { // Odd + if (isOdd (n)) { // Odd int iHalfN = (n - 1) / 2; - + pdTemp[0] = pdVector[iHalfN]; for (i = 0; i < iHalfN; i++) pdTemp[i + 1] = pdVector[i + 1 + iHalfN]; @@ -183,7 +183,7 @@ Fourier::shuffleNaturalToFourierOrder (float* pdVector, const int n) for (i = 0; i < iHalfN; i++) pdTemp[i + iHalfN] = pdVector[i]; } - + for (i = 0; i < n; i++) pdVector[i] = pdTemp[i]; delete pdTemp; @@ -196,7 +196,7 @@ Fourier::shuffleFourierToNaturalOrder (double* pdVector, const int n) { double* pdTemp = new double [n]; int i; - if (n % 2) { // Odd + if (isOdd(n)) { // Odd int iHalfN = (n - 1) / 2; pdTemp[iHalfN] = pdVector[0]; @@ -224,7 +224,7 @@ Fourier::shuffleFourierToNaturalOrder (std::complex* pdVector, const int { std::complex* pdTemp = new std::complex [n]; int i; - if (n % 2) { // Odd + if (isOdd(n)) { // Odd int iHalfN = (n - 1) / 2; pdTemp[iHalfN] = pdVector[0]; @@ -254,7 +254,7 @@ Fourier::shuffleFourierToNaturalOrder (float* pVector, const int n) { float* pTemp = new float [n]; int i; - if (n % 2) { // Odd + if (isOdd (n)) { // Odd int iHalfN = (n - 1) / 2; pTemp[iHalfN] = pVector[0];