GNU Radio's DAB Package
measure_processing_rate_impl.h
Go to the documentation of this file.
1 /* -*- c++ -*- */
2 /*
3  * Copyright 2004,2007 Free Software Foundation, Inc.
4  *
5  * This file is part of GNU Radio
6  *
7  * GNU Radio is free software; you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License as published by
9  * the Free Software Foundation; either version 3, or (at your option)
10  * any later version.
11  *
12  * GNU Radio is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with GNU Radio; see the file COPYING. If not, write to
19  * the Free Software Foundation, Inc., 51 Franklin Street,
20  * Boston, MA 02110-1301, USA.
21  */
22 #ifndef INCLUDED_DAB_MEASURE_PROCESSING_RATE_IMPL_H
23 #define INCLUDED_DAB_MEASURE_PROCESSING_RATE_IMPL_H
24 
26 
27 namespace gr {
28  namespace dab {
29 
31 {
32 
33  private:
34  size_t d_itemsize;
35  int d_samples_to_count;
36  int d_count;
37  struct timeval d_time;
38  float d_processing_rate;
39 
40  public:
41  measure_processing_rate_impl(size_t itemsize, int samples_to_count);
42  void set_samples_to_count(int samples_to_count) { d_samples_to_count=samples_to_count; }
43  /*! \return processing rate in samples per second */
44  float processing_rate() { return d_processing_rate; }
45  /*! \return processing rate in bits per second */
46  float bitrate() { return d_itemsize*8*d_processing_rate; }
47 
48  int work(int noutput_items,
49  gr_vector_const_void_star &input_items,
50  gr_vector_void_star &output_items);
51 };
52 
53 }
54 }
55 
56 #endif /* INCLUDED_DAB_MEASURE_PROCESSING_RATE_H */
Definition: measure_processing_rate_impl.h:31
float bitrate()
Definition: measure_processing_rate_impl.h:46
void set_samples_to_count(int samples_to_count)
Definition: measure_processing_rate_impl.h:42
int work(int noutput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items)
measure_processing_rate_impl(size_t itemsize, int samples_to_count)
float processing_rate()
Definition: measure_processing_rate_impl.h:44
<+description of block+>
Definition: measure_processing_rate.h:37
Definition: complex_to_interleaved_float_vcf.h:28