Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef INCLUDED_GCELL_FFT_VCC_H
00024 #define INCLUDED_GCELL_FFT_VCC_H
00025
00026 #include <gr_fft_vcc.h>
00027
00028 class gc_job_manager;
00029
00030 class gcell_fft_vcc;
00031 typedef boost::shared_ptr<gcell_fft_vcc> gcell_fft_vcc_sptr;
00032
00033 gcell_fft_vcc_sptr
00034 gcell_make_fft_vcc(int fft_size, bool forward, const std::vector<float> &window, bool shift=false);
00035
00036
00037
00038
00039
00040
00041
00042
00043 class gcell_fft_vcc : public gr_fft_vcc
00044 {
00045 int d_log2_fft_size;
00046 boost::shared_ptr<gc_job_manager> d_mgr;
00047 std::complex<float> *d_twiddle;
00048 boost::shared_ptr<void> d_twiddle_boost;
00049
00050 friend gcell_fft_vcc_sptr
00051 gcell_make_fft_vcc(int fft_size, bool forward, const std::vector<float> &window, bool shift);
00052
00053 gcell_fft_vcc(int fft_size, bool forward, const std::vector<float> &window, bool shift);
00054
00055 public:
00056 ~gcell_fft_vcc();
00057
00058 int work(int noutput_items,
00059 gr_vector_const_void_star &input_items,
00060 gr_vector_void_star &output_items);
00061 };
00062
00063
00064 #endif