HARDT - The Ham Radio DSP Toolkit
hiqtranslatebyfour.h
1 #ifndef __HIQTRANSLATEBYFOUR_H
2 #define __HIQTRANSLATEBYFOUR_H
3 
4 #include "hfilter.h"
5 #include "hwriter.h"
6 #include "hwriterconsumer.h"
7 #include "hreader.h"
8 #include "hprobe.h"
9 
33 template <class T>
34 class HIqTranslateByFour : public HFilter<T>
35 {
36  private:
37 
38  bool _isQ;
39 
40  static void DoFilter(T* src, T* dest, size_t blocksize, bool isQ);
41 
42  public:
43 
45  HIqTranslateByFour(HWriter<T>* writer, size_t blocksize, bool isQ = false, HProbe<T>* probe = NULL):
46  HFilter<T>(writer, blocksize, probe),
47  _isQ(isQ) {}
48 
50  HIqTranslateByFour(HWriterConsumer<T>* consumer, size_t blocksize, bool isQ = false, HProbe<T>* probe = NULL):
51  HFilter<T>(consumer, blocksize, probe),
52  _isQ(isQ) {}
53 
55  HIqTranslateByFour(HReader<T>* reader, size_t blocksize, bool isQ = false, HProbe<T>* probe = NULL):
56  HFilter<T>(reader, blocksize, probe),
57  _isQ(isQ) {}
58 
61 
63  void Filter(T* src, T* dest, size_t blocksize) {
64  HIqTranslateByFour<T>::DoFilter(src, dest, blocksize, _isQ);
65  }
66 
72  void SetIsQ(bool isQ) {
73  _isQ = isQ;
74  }
75 };
76 
77 #endif
HIqTranslateByFour::HIqTranslateByFour
HIqTranslateByFour(HReader< T > *reader, size_t blocksize, bool isQ=false, HProbe< T > *probe=NULL)
Definition: hiqtranslatebyfour.h:55
HIqTranslateByFour
Definition: hiqtranslatebyfour.h:34
HIqTranslateByFour::HIqTranslateByFour
HIqTranslateByFour(HWriterConsumer< T > *consumer, size_t blocksize, bool isQ=false, HProbe< T > *probe=NULL)
Definition: hiqtranslatebyfour.h:50
HWriter
Definition: hwriter.h:10
HFilter
Definition: hfilter.h:14
HIqTranslateByFour::Filter
void Filter(T *src, T *dest, size_t blocksize)
Definition: hiqtranslatebyfour.h:63
HReader
Definition: hreader.h:24
HProbe
Definition: hprobe.h:10
HIqTranslateByFour::~HIqTranslateByFour
~HIqTranslateByFour()
Definition: hiqtranslatebyfour.h:60
HIqTranslateByFour::HIqTranslateByFour
HIqTranslateByFour(HWriter< T > *writer, size_t blocksize, bool isQ=false, HProbe< T > *probe=NULL)
Definition: hiqtranslatebyfour.h:45
HWriterConsumer
Definition: hwriterconsumer.h:8
HIqTranslateByFour::SetIsQ
void SetIsQ(bool isQ)
Definition: hiqtranslatebyfour.h:72