gnuradio-core: allows configuring FFTW to use ESTIMATE vs. MEASURE
authorMarcus D Leech <mleech@rip.net>
Sun, 16 May 2010 15:30:03 +0000 (08:30 -0700)
committerJohnathan Corgan <jcorgan@corganenterprises.com>
Sun, 16 May 2010 15:30:03 +0000 (08:30 -0700)
gnuradio-core/src/lib/general/gri_fft.cc

index e535f28c75ea15aecdc66f0f2caa23b9a3a36aaa..1ce14eefdc5ae052aad0778e17585ed1edcd6f3f 100644 (file)
@@ -28,6 +28,7 @@
 #include <stdio.h>
 #include <cassert>
 #include <stdexcept>
+#include <gr_prefs.h>
 
 
 boost::mutex &
@@ -113,7 +114,9 @@ gri_fft_complex::gri_fft_complex (int fft_size, bool forward)
                              reinterpret_cast<fftwf_complex *>(d_inbuf), 
                              reinterpret_cast<fftwf_complex *>(d_outbuf),
                              forward ? FFTW_FORWARD : FFTW_BACKWARD,
-                             FFTW_MEASURE);
+                             gr_prefs::singleton()->get_bool("fftw", "estimate", false) == true ? FFTW_ESTIMATE
+                             : FFTW_MEASURE);
+
 
   if (d_plan == NULL) {
     fprintf(stderr, "gri_fft_complex: error creating plan\n");
@@ -165,7 +168,8 @@ gri_fft_real_fwd::gri_fft_real_fwd (int fft_size)
   d_plan = fftwf_plan_dft_r2c_1d (fft_size,
                                  d_inbuf,
                                  reinterpret_cast<fftwf_complex *>(d_outbuf),
-                                 FFTW_MEASURE);
+                                 gr_prefs::singleton()->get_bool("fftw", "estimate", false) == true ? FFTW_ESTIMATE
+                             : FFTW_MEASURE);
 
   if (d_plan == NULL) {
     fprintf(stderr, "gri_fft_real_fwd: error creating plan\n");