** 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
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)
{
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
{
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];
for (i = 0; i < iHalfN; i++)
pdTemp[i + iHalfN] = pdVector[i];
}
-
+
for (i = 0; i < n; i++)
pdVector[i] = pdTemp[i];
delete pdTemp;
{
std::complex<double>* pdTemp = new std::complex<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];
for (i = 0; i < iHalfN; i++)
pdTemp[i + iHalfN] = pdVector[i];
}
-
+
for (i = 0; i < n; i++)
pdVector[i] = pdTemp[i];
delete [] pdTemp;
{
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];
for (i = 0; i < iHalfN; i++)
pdTemp[i + iHalfN] = pdVector[i];
}
-
+
for (i = 0; i < n; i++)
pdVector[i] = pdTemp[i];
delete pdTemp;
{
double* pdTemp = new double [n];
int i;
- if (n % 2) { // Odd
+ if (isOdd(n)) { // Odd
int iHalfN = (n - 1) / 2;
pdTemp[iHalfN] = pdVector[0];
{
std::complex<double>* pdTemp = new std::complex<double> [n];
int i;
- if (n % 2) { // Odd
+ if (isOdd(n)) { // Odd
int iHalfN = (n - 1) / 2;
pdTemp[iHalfN] = pdVector[0];
{
float* pTemp = new float [n];
int i;
- if (n % 2) { // Odd
+ if (isOdd (n)) { // Odd
int iHalfN = (n - 1) / 2;
pTemp[iHalfN] = pVector[0];