00001
00002
00003
00004
00005
00006
00007 #ifndef DCFMP_H
00008 #define DCFMP_H
00009
00010 #ifdef USE_STD
00011 #include <iostream>
00012 #include <cmath>
00013 using namespace std;
00014 #else
00015 #include <iostream.h>
00016 #include <math.h>
00017 #endif
00018
00019 #include "utility.h"
00020 #include "Rtmra.h"
00021 #include "Rtrsmra.h"
00022 #include "DCFmpBase.h"
00023
00024 template <class Rtmra_t>
00025 class DCFmp : public DCFmpBase
00026 {
00027 public:
00028
00029 typedef typename Rtmra_t::DataType Data_t;
00030
00031 DCFmp( const int bplen_mpsizeb, const int bplen_coef,
00032 const int bplen_n, const int bplen_a);
00033
00034 DCFmp( const int bplen_mpsizeb, const int bplen_coef,
00035 const int bplen_n) ;
00036
00037 ~DCFmp() {}
00038
00039 void threshold( const Data_t threshold );
00040 Data_t threshold();
00041
00042 DCFmp<Rtmra_t>& operator () ( Rtmra_t&, const char mcode );
00043
00044 void encode( Rtmra_t&, const char mcode ) {}
00045
00046 void replace( Rtmra_t& ) {}
00047
00048 protected:
00049 Data_t _threshold;
00050
00051 };
00052
00053 template <class Rtmra_t>
00054 DCFmp<Rtmra_t>::DCFmp(
00055 const int bplen_mpsizeb, const int bplen_coef,
00056 const int bplen_n, const int bplen_a
00057 ) : DCFmpBase( bplen_mpsizeb, bplen_coef, bplen_n, bplen_a ) {}
00058
00059 template <class Rtmra_t>
00060 DCFmp<Rtmra_t>::DCFmp(
00061 const int bplen_mpsizeb, const int bplen_coef,
00062 const int bplen_n
00063 ) : DCFmpBase( bplen_mpsizeb, bplen_coef, bplen_n ) {}
00064
00065 template <class Rtmra_t>
00066 void DCFmp<Rtmra_t>::threshold( const Data_t threshold )
00067 {
00068 _threshold = threshold;
00069 }
00070
00071 template <class Rtmra_t>
00072 DCFmp<Rtmra_t>::Data_t DCFmp<Rtmra_t>::threshold() { return _threshold; }
00073
00074 template <class Rtmra_t>
00075 DCFmp<Rtmra_t>& DCFmp<Rtmra_t>::operator () ( Rtmra_t& x, const char mcode )
00076 {
00077 DCFmp<Rtmra_t>::encode(x,mcode);
00078 return *this;
00079 }
00080
00081 #include "DCFmp_Rtmra_float_scalar.h"
00082 #include "DCFmp_Rtmra_double_scalar.h"
00083
00084 #include "DCFmp_Rtmra_float_array.h"
00085 #include "DCFmp_Rtmra_double_array.h"
00086
00087 #include "DCFmp_Rtrsmra_float_scalar.h"
00088 #include "DCFmp_Rtrsmra_double_scalar.h"
00089
00090 #include "DCFmp_Rtrsmra_float_array.h"
00091 #include "DCFmp_Rtrsmra_double_array.h"
00092
00093 #endif
00094