Imported Upstream version 3.2.2
[debian/gnuradio] / gnuradio-core / src / lib / general / gri_fft.h
index 2798915f26f00b1d07bd107fe759f171dd205422..9ffcc5a50815d60c4d424c4e0a3e08d74e688afb 100644 (file)
@@ -1,12 +1,12 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2003 Free Software Foundation, Inc.
+ * Copyright 2003,2008 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
  * GNU Radio is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2, or (at your option)
+ * the Free Software Foundation; either version 3, or (at your option)
  * any later version.
  * 
  * GNU Radio is distributed in the hope that it will be useful,
  */
 
 #include <gr_complex.h>
+#include <boost/thread.hpp>
 
 /*!
- * \brief FFT: complex in, complex out
+ * \brief Export reference to planner mutex for those apps that
+ * want to use FFTW w/o using the gri_fftw* classes.
  */
+class gri_fft_planner {
+public:
+  typedef boost::mutex::scoped_lock scoped_lock;
+  /*!
+   * Return reference to planner mutex
+   */
+  static boost::mutex &mutex();
+};
 
+/*!
+ * \brief FFT: complex in, complex out
+ * \ingroup misc
+ */
 class gri_fft_complex {
   int        d_fft_size;
   gr_complex *d_inbuf;
@@ -61,6 +75,7 @@ public:
 
 /*!
  * \brief FFT: real in, complex out
+ * \ingroup misc
  */
 class gri_fft_real_fwd {
   int        d_fft_size;
@@ -91,6 +106,7 @@ public:
 
 /*!
  * \brief FFT: complex in, float out
+ * \ingroup misc
  */
 class gri_fft_real_rev {
   int        d_fft_size;