r11859: Canonicalize whitespace
[ctsim.git] / include / fourier.h
index e1716f88fb9deef37de60be5ea9729a756eafce6..f1067ddd9350029e639d24b6fe1f4d44674caad4 100644 (file)
@@ -26,6 +26,9 @@
 ******************************************************************************/
 
 #include <complex>
+#ifdef HAVE_FFTW
+#include <fftw3.h>
+#endif
 
 class ImageFile;
 
@@ -34,6 +37,11 @@ public:
     static void shuffleFourierToNaturalOrder (ImageFile& im);
     static void shuffleNaturalToFourierOrder (ImageFile& im);
 
+#ifdef HAVE_FFTW
+    static void shuffleFourierToNaturalOrder (fftw_complex* pc, const int n);
+    static void shuffleNaturalToFourierOrder (fftw_complex* pc, const int n);
+#endif
+
 // 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
@@ -41,7 +49,7 @@ public:
 //   Natural Frequency Order: -n/2...-1,0,1...((n/2)-1)
 //   Fourier Frequency Order: 0,1...((n/2)-1),-n/2...-1
     template<class T>
-    static void shuffleNaturalToFourierOrder (T* pVector, const int n) 
+    static void shuffleNaturalToFourierOrder (T* pVector, const int n)
     {
       T* pTemp = new T [n];
       int i;
@@ -74,7 +82,7 @@ public:
     int i;
     if (isOdd(n)) { // Odd
       int iHalfN = (n - 1) / 2;
-    
+
       pTemp[iHalfN] = pVector[0];
       for (i = 0; i < iHalfN; i++)
         pTemp[i + 1 + iHalfN] = pVector[i + 1];
@@ -88,7 +96,7 @@ public:
       for (i = 0; i < iHalfN - 1; i++)
         pTemp[i + iHalfN + 1] = pVector[i+1];
     }
-  
+
     for (i = 0; i < n; i++)
       pVector[i] = pTemp[i];
     delete pTemp;