r135: *** empty log message ***
authorKevin M. Rosenberg <kevin@rosenberg.net>
Wed, 5 Jul 2000 17:59:26 +0000 (17:59 +0000)
committerKevin M. Rosenberg <kevin@rosenberg.net>
Wed, 5 Jul 2000 17:59:26 +0000 (17:59 +0000)
ChangeLog
INSTALL
libctsim/filter.cpp

index 95dcfb4ca048493e8ac0368b60cb848f5727c279..c32573bb176ad6e0f2e1c0d8883498aedf5112a7 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -12,6 +12,7 @@
    Added option processing for filter-method for pjrec to choose
        between convolution, dft, & fft filtering
    Fixed format string for EZPlot so axis labels now print
+   Added support for FFTW library
        
 1.9.8 - 6/27/2000
    Rewrote Array2dFile class to be non-templated
diff --git a/INSTALL b/INSTALL
index 086d8b3ae8e55bb4c72d6e9bffa669c6c6c0e510..f134ef0f2c3b7d6278e34503359e7292a3c6b662 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -12,6 +12,9 @@ libpng (ftp://ftp.uu.net/graphics/png/src)
   Version 1.0.3 or greater is required. Version 0.89 definitely will
   not work.
 
+fftw (http://www.fftw.org)
+  Fastest Fourier Transform in the West
+
 lam (http://www.mpi.nd.edu/lam/)
   There is support is MPI clustering. I use this code at home for my
   beowulf cluster.
index 2d315252f43012a0f8d3ea2468ba53b0b19c6ba7..978a5025777a4ed4166e223242a01b853a31b0ef 100644 (file)
@@ -9,7 +9,7 @@
 **  This is part of the CTSim program
 **  Copyright (C) 1983-2000 Kevin Rosenberg
 **
-**  $Id: filter.cpp,v 1.11 2000/07/05 17:24:33 kevin Exp $
+**  $Id: filter.cpp,v 1.12 2000/07/05 17:59:26 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
@@ -370,6 +370,7 @@ SignalFilter::filterSignal (const float input[], double output[]) const
     for (int i = 0; i < m_nSignalPoints; i++) 
       output[i] = complexOutput[i].real();
   } else if (m_idFilterMethod == FILTER_METHOD_FFT || FILTER_METHOD_FFT_ZEROPAD_2 || FILTER_METHOD_FFT_ZEROPAD_4) {
+#if HAVE_FFTW
     fftw_complex in[m_nFilterPoints], out[m_nFilterPoints];
     for (int i = 0; i < m_nSignalPoints; i++) {
       in[i].re = input[i];
@@ -387,6 +388,7 @@ SignalFilter::filterSignal (const float input[], double output[]) const
     for (int i = 0; i < m_nSignalPoints; i++) 
       output[i] = in[i].re;
   }
+#endif
 }
 
 double