summaryrefslogtreecommitdiff
path: root/gr-trellis/src/lib
diff options
context:
space:
mode:
authorTom Rondeau <trondeau@vt.edu>2012-08-20 21:08:24 -0400
committerTom Rondeau <trondeau@vt.edu>2012-08-20 21:08:24 -0400
commit372c129f932236fb0bacb83a8c8994171eb4d018 (patch)
tree1cd46a518208cd5df8e7d6cf6459d0ff37d30751 /gr-trellis/src/lib
parent8ba8d63dc8cd70b88c537d5ec12d153581f7ef2c (diff)
trellis: updating gr-trellis to handle changes with gr-digital.
(mostly namespace issues in C++).
Diffstat (limited to 'gr-trellis/src/lib')
-rw-r--r--gr-trellis/src/lib/CMakeLists.txt1
-rw-r--r--gr-trellis/src/lib/calc_metric.cc54
-rw-r--r--gr-trellis/src/lib/calc_metric.h12
-rw-r--r--gr-trellis/src/lib/core_algorithms.cc64
-rw-r--r--gr-trellis/src/lib/core_algorithms.h8
-rw-r--r--gr-trellis/src/lib/trellis.i15
-rw-r--r--gr-trellis/src/lib/trellis_constellation_metrics_cf.cc22
-rw-r--r--gr-trellis/src/lib/trellis_constellation_metrics_cf.h27
-rw-r--r--gr-trellis/src/lib/trellis_constellation_metrics_cf.i8
-rw-r--r--gr-trellis/src/lib/trellis_metrics_X.cc.t49
-rw-r--r--gr-trellis/src/lib/trellis_metrics_X.h.t34
-rw-r--r--gr-trellis/src/lib/trellis_metrics_X.i.t8
-rw-r--r--gr-trellis/src/lib/trellis_pccc_decoder_combined_XX.cc.t4
-rw-r--r--gr-trellis/src/lib/trellis_pccc_decoder_combined_XX.h.t10
-rw-r--r--gr-trellis/src/lib/trellis_pccc_decoder_combined_XX.i.t6
-rw-r--r--gr-trellis/src/lib/trellis_sccc_decoder_combined_XX.cc.t4
-rw-r--r--gr-trellis/src/lib/trellis_sccc_decoder_combined_XX.h.t10
-rw-r--r--gr-trellis/src/lib/trellis_sccc_decoder_combined_XX.i.t6
-rw-r--r--gr-trellis/src/lib/trellis_siso_combined_f.cc6
-rw-r--r--gr-trellis/src/lib/trellis_siso_combined_f.h10
-rw-r--r--gr-trellis/src/lib/trellis_siso_combined_f.i6
-rw-r--r--gr-trellis/src/lib/trellis_viterbi_combined_XX.cc.t10
-rw-r--r--gr-trellis/src/lib/trellis_viterbi_combined_XX.h.t10
-rw-r--r--gr-trellis/src/lib/trellis_viterbi_combined_XX.i.t6
24 files changed, 206 insertions, 184 deletions
diff --git a/gr-trellis/src/lib/CMakeLists.txt b/gr-trellis/src/lib/CMakeLists.txt
index 8f29f9605b..315ef3a93c 100644
--- a/gr-trellis/src/lib/CMakeLists.txt
+++ b/gr-trellis/src/lib/CMakeLists.txt
@@ -148,6 +148,7 @@ list(APPEND gr_trellis_sources
list(APPEND trellis_libs
gnuradio-core
+ gnuradio-digital
${Boost_LIBRARIES}
)
diff --git a/gr-trellis/src/lib/calc_metric.cc b/gr-trellis/src/lib/calc_metric.cc
index ce628209b4..4d58a05482 100644
--- a/gr-trellis/src/lib/calc_metric.cc
+++ b/gr-trellis/src/lib/calc_metric.cc
@@ -27,14 +27,15 @@
template <class T>
-void calc_metric(int O, int D, const std::vector<T> &TABLE, const T *in, float *metric, trellis_metric_type_t type)
+void calc_metric(int O, int D, const std::vector<T> &TABLE, const T *in,
+ float *metric, gr::digital::trellis_metric_type_t type)
{
float minm = FLT_MAX;
int minmi = 0;
switch (type){
- case TRELLIS_EUCLIDEAN:
+ case gr::digital::TRELLIS_EUCLIDEAN:
for(int o=0;o<O;o++) {
metric[o]=0.0;
for (int m=0;m<D;m++) {
@@ -45,7 +46,7 @@ void calc_metric(int O, int D, const std::vector<T> &TABLE, const T *in, float *
}
}
break;
- case TRELLIS_HARD_SYMBOL:
+ case gr::digital::TRELLIS_HARD_SYMBOL:
for(int o=0;o<O;o++) {
metric[o]=0.0;
for (int m=0;m<D;m++) {
@@ -63,7 +64,7 @@ void calc_metric(int O, int D, const std::vector<T> &TABLE, const T *in, float *
metric[o] = (o==minmi?0.0:1.0);
}
break;
- case TRELLIS_HARD_BIT:
+ case gr::digital::TRELLIS_HARD_BIT:
throw std::runtime_error ("Invalid metric type (not yet implemented).");
break;
default:
@@ -74,23 +75,27 @@ void calc_metric(int O, int D, const std::vector<T> &TABLE, const T *in, float *
template
-void calc_metric<short>(int O, int D, const std::vector<short> &TABLE, const short *in, float *metric, trellis_metric_type_t type);
+void calc_metric<short>(int O, int D, const std::vector<short> &TABLE, const short *in,
+ float *metric, gr::digital::trellis_metric_type_t type);
template
-void calc_metric<int>(int O, int D, const std::vector<int> &TABLE, const int *in, float *metric, trellis_metric_type_t type);
+void calc_metric<int>(int O, int D, const std::vector<int> &TABLE, const int *in,
+ float *metric, gr::digital::trellis_metric_type_t type);
template
-void calc_metric<float>(int O, int D, const std::vector<float> &TABLE, const float *in, float *metric, trellis_metric_type_t type);
+void calc_metric<float>(int O, int D, const std::vector<float> &TABLE, const float *in,
+ float *metric, gr::digital::trellis_metric_type_t type);
/*
-void calc_metric(int O, int D, const std::vector<short> &TABLE, const short *in, float *metric, trellis_metric_type_t type)
+void calc_metric(int O, int D, const std::vector<short> &TABLE, const short *in,
+ float *metric, gr::digital::trellis_metric_type_t type)
{
float minm = FLT_MAX;
int minmi = 0;
switch (type){
- case TRELLIS_EUCLIDEAN:
+ case gr::digital::TRELLIS_EUCLIDEAN:
for(int o=0;o<O;o++) {
metric[o]=0.0;
for (int m=0;m<D;m++) {
@@ -99,7 +104,7 @@ void calc_metric(int O, int D, const std::vector<short> &TABLE, const short *in,
}
}
break;
- case TRELLIS_HARD_SYMBOL:
+ case gr::digital::TRELLIS_HARD_SYMBOL:
for(int o=0;o<O;o++) {
metric[o]=0.0;
for (int m=0;m<D;m++) {
@@ -115,7 +120,7 @@ void calc_metric(int O, int D, const std::vector<short> &TABLE, const short *in,
metric[o] = (o==minmi?0.0:1.0);
}
break;
- case TRELLIS_HARD_BIT:
+ case gr::digital::TRELLIS_HARD_BIT:
throw std::runtime_error ("Invalid metric type (not yet implemented).");
break;
default:
@@ -124,13 +129,14 @@ void calc_metric(int O, int D, const std::vector<short> &TABLE, const short *in,
}
-void calc_metric(int O, int D, const std::vector<int> &TABLE, const int *in, float *metric, trellis_metric_type_t type)
+void calc_metric(int O, int D, const std::vector<int> &TABLE, const int *in,
+ float *metric, gr::digital::trellis_metric_type_t type)
{
float minm = FLT_MAX;
int minmi = 0;
switch (type){
- case TRELLIS_EUCLIDEAN:
+ case gr::digital::TRELLIS_EUCLIDEAN:
for(int o=0;o<O;o++) {
metric[o]=0.0;
for (int m=0;m<D;m++) {
@@ -139,7 +145,7 @@ void calc_metric(int O, int D, const std::vector<int> &TABLE, const int *in, flo
}
}
break;
- case TRELLIS_HARD_SYMBOL:
+ case gr::digital::TRELLIS_HARD_SYMBOL:
for(int o=0;o<O;o++) {
metric[o]=0.0;
for (int m=0;m<D;m++) {
@@ -155,7 +161,7 @@ void calc_metric(int O, int D, const std::vector<int> &TABLE, const int *in, flo
metric[o] = (o==minmi?0.0:1.0);
}
break;
- case TRELLIS_HARD_BIT:
+ case gr::digital::TRELLIS_HARD_BIT:
throw std::runtime_error ("Invalid metric type (not yet implemented).");
break;
default:
@@ -165,13 +171,14 @@ void calc_metric(int O, int D, const std::vector<int> &TABLE, const int *in, flo
-void calc_metric(int O, int D, const std::vector<float> &TABLE, const float *in, float *metric, trellis_metric_type_t type)
+void calc_metric(int O, int D, const std::vector<float> &TABLE, const float *in,
+ float *metric, gr::digital::trellis_metric_type_t type)
{
float minm = FLT_MAX;
int minmi = 0;
switch (type){
- case TRELLIS_EUCLIDEAN:
+ case gr::digital::TRELLIS_EUCLIDEAN:
for(int o=0;o<O;o++) {
metric[o]=0.0;
for (int m=0;m<D;m++) {
@@ -180,7 +187,7 @@ void calc_metric(int O, int D, const std::vector<float> &TABLE, const float *in,
}
}
break;
- case TRELLIS_HARD_SYMBOL:
+ case gr::digital::TRELLIS_HARD_SYMBOL:
for(int o=0;o<O;o++) {
metric[o]=0.0;
for (int m=0;m<D;m++) {
@@ -196,7 +203,7 @@ void calc_metric(int O, int D, const std::vector<float> &TABLE, const float *in,
metric[o] = (o==minmi?0.0:1.0);
}
break;
- case TRELLIS_HARD_BIT:
+ case gr::digital::TRELLIS_HARD_BIT:
throw std::runtime_error ("Invalid metric type (not yet implemented).");
break;
default:
@@ -209,14 +216,15 @@ void calc_metric(int O, int D, const std::vector<float> &TABLE, const float *in,
-void calc_metric(int O, int D, const std::vector<gr_complex> &TABLE, const gr_complex *in, float *metric, trellis_metric_type_t type)
+void calc_metric(int O, int D, const std::vector<gr_complex> &TABLE, const gr_complex *in,
+ float *metric, gr::digital::trellis_metric_type_t type)
{
float minm = FLT_MAX;
int minmi = 0;
switch (type){
- case TRELLIS_EUCLIDEAN:
+ case gr::digital::TRELLIS_EUCLIDEAN:
for(int o=0;o<O;o++) {
metric[o]=0.0;
for (int m=0;m<D;m++) {
@@ -225,7 +233,7 @@ void calc_metric(int O, int D, const std::vector<gr_complex> &TABLE, const gr_co
}
}
break;
- case TRELLIS_HARD_SYMBOL:
+ case gr::digital::TRELLIS_HARD_SYMBOL:
for(int o=0;o<O;o++) {
metric[o]=0.0;
for (int m=0;m<D;m++) {
@@ -241,7 +249,7 @@ void calc_metric(int O, int D, const std::vector<gr_complex> &TABLE, const gr_co
metric[o] = (o==minmi?0.0:1.0);
}
break;
- case TRELLIS_HARD_BIT:
+ case gr::digital::TRELLIS_HARD_BIT:
throw std::runtime_error ("Invalid metric type (not yet implemented).");
break;
default:
diff --git a/gr-trellis/src/lib/calc_metric.h b/gr-trellis/src/lib/calc_metric.h
index 489d148317..cc0a12878d 100644
--- a/gr-trellis/src/lib/calc_metric.h
+++ b/gr-trellis/src/lib/calc_metric.h
@@ -29,17 +29,19 @@
template <class T>
-void calc_metric(int O, int D, const std::vector<T> &TABLE, const T *in, float *metric, trellis_metric_type_t type);
+void calc_metric(int O, int D, const std::vector<T> &TABLE, const T *in,
+ float *metric, gr::digital::trellis_metric_type_t type);
/*
-void calc_metric(int O, int D, const std::vector<short> &TABLE, const short *in, float *metric, trellis_metric_type_t type);
+void calc_metric(int O, int D, const std::vector<short> &TABLE, const short *in, float *metric, gr::digital::trellis_metric_type_t type);
-void calc_metric(int O, int D, const std::vector<int> &TABLE, const int *in, float *metric, trellis_metric_type_t type);
+void calc_metric(int O, int D, const std::vector<int> &TABLE, const int *in, float *metric, gr::digital::trellis_metric_type_t type);
-void calc_metric(int O, int D, const std::vector<float> &TABLE, const float *in, float *metric, trellis_metric_type_t type);
+void calc_metric(int O, int D, const std::vector<float> &TABLE, const float *in, float *metric, gr::digital::trellis_metric_type_t type);
*/
-void calc_metric(int O, int D, const std::vector<gr_complex> &TABLE, const gr_complex *in, float *metric, trellis_metric_type_t type);
+void calc_metric(int O, int D, const std::vector<gr_complex> &TABLE, const gr_complex *in,
+ float *metric, gr::digital::trellis_metric_type_t type);
diff --git a/gr-trellis/src/lib/core_algorithms.cc b/gr-trellis/src/lib/core_algorithms.cc
index 3ed912c08a..442565054a 100644
--- a/gr-trellis/src/lib/core_algorithms.cc
+++ b/gr-trellis/src/lib/core_algorithms.cc
@@ -154,7 +154,7 @@ void viterbi_algorithm_combined(int I, int S, int O,
int S0,int SK,
int D,
const std::vector<Ti> &TABLE,
- trellis_metric_type_t TYPE,
+ gr::digital::trellis_metric_type_t TYPE,
const Ti *in, To *out
)
{
@@ -231,7 +231,7 @@ void viterbi_algorithm_combined<short,unsigned char>(int I, int S, int O,
int S0,int SK,
int D,
const std::vector<short> &TABLE,
- trellis_metric_type_t TYPE,
+ gr::digital::trellis_metric_type_t TYPE,
const short *in, unsigned char *out
);
@@ -245,7 +245,7 @@ void viterbi_algorithm_combined<int,unsigned char>(int I, int S, int O,
int S0,int SK,
int D,
const std::vector<int> &TABLE,
- trellis_metric_type_t TYPE,
+ gr::digital::trellis_metric_type_t TYPE,
const int *in, unsigned char *out
);
@@ -259,7 +259,7 @@ void viterbi_algorithm_combined<float,unsigned char>(int I, int S, int O,
int S0,int SK,
int D,
const std::vector<float> &TABLE,
- trellis_metric_type_t TYPE,
+ gr::digital::trellis_metric_type_t TYPE,
const float *in, unsigned char *out
);
@@ -273,7 +273,7 @@ void viterbi_algorithm_combined<gr_complex,unsigned char>(int I, int S, int O,
int S0,int SK,
int D,
const std::vector<gr_complex> &TABLE,
- trellis_metric_type_t TYPE,
+ gr::digital::trellis_metric_type_t TYPE,
const gr_complex *in, unsigned char *out
);
@@ -289,7 +289,7 @@ void viterbi_algorithm_combined<short,short>(int I, int S, int O,
int S0,int SK,
int D,
const std::vector<short> &TABLE,
- trellis_metric_type_t TYPE,
+ gr::digital::trellis_metric_type_t TYPE,
const short *in, short *out
);
@@ -303,7 +303,7 @@ void viterbi_algorithm_combined<int,short>(int I, int S, int O,
int S0,int SK,
int D,
const std::vector<int> &TABLE,
- trellis_metric_type_t TYPE,
+ gr::digital::trellis_metric_type_t TYPE,
const int *in, short *out
);
@@ -317,7 +317,7 @@ void viterbi_algorithm_combined<float,short>(int I, int S, int O,
int S0,int SK,
int D,
const std::vector<float> &TABLE,
- trellis_metric_type_t TYPE,
+ gr::digital::trellis_metric_type_t TYPE,
const float *in, short *out
);
@@ -331,7 +331,7 @@ void viterbi_algorithm_combined<gr_complex,short>(int I, int S, int O,
int S0,int SK,
int D,
const std::vector<gr_complex> &TABLE,
- trellis_metric_type_t TYPE,
+ gr::digital::trellis_metric_type_t TYPE,
const gr_complex *in, short *out
);
@@ -347,7 +347,7 @@ void viterbi_algorithm_combined<short,int>(int I, int S, int O,
int S0,int SK,
int D,
const std::vector<short> &TABLE,
- trellis_metric_type_t TYPE,
+ gr::digital::trellis_metric_type_t TYPE,
const short *in, int *out
);
@@ -361,7 +361,7 @@ void viterbi_algorithm_combined<int,int>(int I, int S, int O,
int S0,int SK,
int D,
const std::vector<int> &TABLE,
- trellis_metric_type_t TYPE,
+ gr::digital::trellis_metric_type_t TYPE,
const int *in, int *out
);
@@ -375,7 +375,7 @@ void viterbi_algorithm_combined<float,int>(int I, int S, int O,
int S0,int SK,
int D,
const std::vector<float> &TABLE,
- trellis_metric_type_t TYPE,
+ gr::digital::trellis_metric_type_t TYPE,
const float *in, int *out
);
@@ -389,7 +389,7 @@ void viterbi_algorithm_combined<gr_complex,int>(int I, int S, int O,
int S0,int SK,
int D,
const std::vector<gr_complex> &TABLE,
- trellis_metric_type_t TYPE,
+ gr::digital::trellis_metric_type_t TYPE,
const gr_complex *in, int *out
);
@@ -574,7 +574,7 @@ void siso_algorithm_combined(int I, int S, int O,
float (*p2mymin)(float,float),
int D,
const std::vector<T> &TABLE,
- trellis_metric_type_t TYPE,
+ gr::digital::trellis_metric_type_t TYPE,
const float *priori, const T *observations, float *post
)
{
@@ -726,7 +726,7 @@ void siso_algorithm_combined<short>(int I, int S, int O,
float (*p2mymin)(float,float),
int D,
const std::vector<short> &TABLE,
- trellis_metric_type_t TYPE,
+ gr::digital::trellis_metric_type_t TYPE,
const float *priori, const short *observations, float *post
);
@@ -742,7 +742,7 @@ void siso_algorithm_combined<int>(int I, int S, int O,
float (*p2mymin)(float,float),
int D,
const std::vector<int> &TABLE,
- trellis_metric_type_t TYPE,
+ gr::digital::trellis_metric_type_t TYPE,
const float *priori, const int *observations, float *post
);
@@ -758,7 +758,7 @@ void siso_algorithm_combined<float>(int I, int S, int O,
float (*p2mymin)(float,float),
int D,
const std::vector<float> &TABLE,
- trellis_metric_type_t TYPE,
+ gr::digital::trellis_metric_type_t TYPE,
const float *priori, const float *observations, float *post
);
@@ -774,7 +774,7 @@ void siso_algorithm_combined<gr_complex>(int I, int S, int O,
float (*p2mymin)(float,float),
int D,
const std::vector<gr_complex> &TABLE,
- trellis_metric_type_t TYPE,
+ gr::digital::trellis_metric_type_t TYPE,
const float *priori, const gr_complex *observations, float *post
);
@@ -787,7 +787,7 @@ void sccc_decoder_combined(
const interleaver &INTERLEAVER, int blocklength, int iterations,
float (*p2mymin)(float,float),
int D, const std::vector<Ti> &TABLE,
- trellis_metric_type_t METRIC_TYPE,
+ gr::digital::trellis_metric_type_t METRIC_TYPE,
float scaling,
const Ti *observations, To *data
)
@@ -900,7 +900,7 @@ void sccc_decoder_combined<float,unsigned char>(
const interleaver &INTERLEAVER, int blocklength, int iterations,
float (*p2mymin)(float,float),
int D, const std::vector<float> &TABLE,
- trellis_metric_type_t METRIC_TYPE,
+ gr::digital::trellis_metric_type_t METRIC_TYPE,
float scaling,
const float *observations, unsigned char *data
);
@@ -912,7 +912,7 @@ void sccc_decoder_combined<float,short>(
const interleaver &INTERLEAVER, int blocklength, int iterations,
float (*p2mymin)(float,float),
int D, const std::vector<float> &TABLE,
- trellis_metric_type_t METRIC_TYPE,
+ gr::digital::trellis_metric_type_t METRIC_TYPE,
float scaling,
const float *observations, short *data
);
@@ -924,7 +924,7 @@ void sccc_decoder_combined<float,int>(
const interleaver &INTERLEAVER, int blocklength, int iterations,
float (*p2mymin)(float,float),
int D, const std::vector<float> &TABLE,
- trellis_metric_type_t METRIC_TYPE,
+ gr::digital::trellis_metric_type_t METRIC_TYPE,
float scaling,
const float *observations, int *data
);
@@ -936,7 +936,7 @@ void sccc_decoder_combined<gr_complex,unsigned char>(
const interleaver &INTERLEAVER, int blocklength, int iterations,
float (*p2mymin)(float,float),
int D, const std::vector<gr_complex> &TABLE,
- trellis_metric_type_t METRIC_TYPE,
+ gr::digital::trellis_metric_type_t METRIC_TYPE,
float scaling,
const gr_complex *observations, unsigned char *data
);
@@ -948,7 +948,7 @@ void sccc_decoder_combined<gr_complex,short>(
const interleaver &INTERLEAVER, int blocklength, int iterations,
float (*p2mymin)(float,float),
int D, const std::vector<gr_complex> &TABLE,
- trellis_metric_type_t METRIC_TYPE,
+ gr::digital::trellis_metric_type_t METRIC_TYPE,
float scaling,
const gr_complex *observations, short *data
);
@@ -960,7 +960,7 @@ void sccc_decoder_combined<gr_complex,int>(
const interleaver &INTERLEAVER, int blocklength, int iterations,
float (*p2mymin)(float,float),
int D, const std::vector<gr_complex> &TABLE,
- trellis_metric_type_t METRIC_TYPE,
+ gr::digital::trellis_metric_type_t METRIC_TYPE,
float scaling,
const gr_complex *observations, int *data
);
@@ -1247,7 +1247,7 @@ void pccc_decoder_combined(
const interleaver &INTERLEAVER, int blocklength, int iterations,
float (*p2mymin)(float,float),
int D, const std::vector<Ti> &TABLE,
- trellis_metric_type_t METRIC_TYPE,
+ gr::digital::trellis_metric_type_t METRIC_TYPE,
float scaling,
const Ti *observations, To *data
)
@@ -1366,7 +1366,7 @@ void pccc_decoder_combined(
const interleaver &INTERLEAVER, int blocklength, int iterations,
float (*p2mymin)(float,float),
int D, const std::vector<float> &TABLE,
- trellis_metric_type_t METRIC_TYPE,
+ gr::digital::trellis_metric_type_t METRIC_TYPE,
float scaling,
const float *observations, unsigned char *data
);
@@ -1379,7 +1379,7 @@ void pccc_decoder_combined(
const interleaver &INTERLEAVER, int blocklength, int iterations,
float (*p2mymin)(float,float),
int D, const std::vector<float> &TABLE,
- trellis_metric_type_t METRIC_TYPE,
+ gr::digital::trellis_metric_type_t METRIC_TYPE,
float scaling,
const float *observations, short *data
);
@@ -1392,7 +1392,7 @@ void pccc_decoder_combined(
const interleaver &INTERLEAVER, int blocklength, int iterations,
float (*p2mymin)(float,float),
int D, const std::vector<float> &TABLE,
- trellis_metric_type_t METRIC_TYPE,
+ gr::digital::trellis_metric_type_t METRIC_TYPE,
float scaling,
const float *observations, int *data
);
@@ -1405,7 +1405,7 @@ void pccc_decoder_combined(
const interleaver &INTERLEAVER, int blocklength, int iterations,
float (*p2mymin)(float,float),
int D, const std::vector<gr_complex> &TABLE,
- trellis_metric_type_t METRIC_TYPE,
+ gr::digital::trellis_metric_type_t METRIC_TYPE,
float scaling,
const gr_complex *observations, unsigned char *data
);
@@ -1418,7 +1418,7 @@ void pccc_decoder_combined(
const interleaver &INTERLEAVER, int blocklength, int iterations,
float (*p2mymin)(float,float),
int D, const std::vector<gr_complex> &TABLE,
- trellis_metric_type_t METRIC_TYPE,
+ gr::digital::trellis_metric_type_t METRIC_TYPE,
float scaling,
const gr_complex *observations, short *data
);
@@ -1431,7 +1431,7 @@ void pccc_decoder_combined(
const interleaver &INTERLEAVER, int blocklength, int iterations,
float (*p2mymin)(float,float),
int D, const std::vector<gr_complex> &TABLE,
- trellis_metric_type_t METRIC_TYPE,
+ gr::digital::trellis_metric_type_t METRIC_TYPE,
float scaling,
const gr_complex *observations, int *data
);
diff --git a/gr-trellis/src/lib/core_algorithms.h b/gr-trellis/src/lib/core_algorithms.h
index f1e1fc9c22..4efcc91235 100644
--- a/gr-trellis/src/lib/core_algorithms.h
+++ b/gr-trellis/src/lib/core_algorithms.h
@@ -55,7 +55,7 @@ void viterbi_algorithm_combined(int I, int S, int O,
int S0,int SK,
int D,
const std::vector<Ti> &TABLE,
- trellis_metric_type_t TYPE,
+ gr::digital::trellis_metric_type_t TYPE,
const Ti *in, To *out
);
@@ -86,7 +86,7 @@ void siso_algorithm_combined(int I, int S, int O,
float (*p2mymin)(float,float),
int D,
const std::vector<T> &TABLE,
- trellis_metric_type_t TYPE,
+ gr::digital::trellis_metric_type_t TYPE,
const float *priori, const T *observations, float *post
);
@@ -108,7 +108,7 @@ void sccc_decoder_combined(
const interleaver &INTERLEAVER, int blocklength, int iterations,
float (*p2mymin)(float,float),
int D, const std::vector<Ti> &TABLE,
- trellis_metric_type_t METRIC_TYPE,
+ gr::digital::trellis_metric_type_t METRIC_TYPE,
float scaling,
const Ti *observations, To *data
);
@@ -129,7 +129,7 @@ void pccc_decoder_combined(
const interleaver &INTERLEAVER, int blocklength, int iterations,
float (*p2mymin)(float,float),
int D, const std::vector<Ti> &TABLE,
- trellis_metric_type_t METRIC_TYPE,
+ gr::digital::trellis_metric_type_t METRIC_TYPE,
float scaling,
const Ti *observations, To *data
);
diff --git a/gr-trellis/src/lib/trellis.i b/gr-trellis/src/lib/trellis.i
index 3a364802da..60bb831b19 100644
--- a/gr-trellis/src/lib/trellis.i
+++ b/gr-trellis/src/lib/trellis.i
@@ -20,21 +20,27 @@
* Boston, MA 02110-1301, USA.
*/
+#define DIGITAL_API
+
%include "gnuradio.i" // the common stuff
//load generated python docstrings
%include "trellis_swig_doc.i"
%{
+#include "digital/constellation.h"
+#include "digital/metric_type.h"
#include "fsm.h"
#include "interleaver.h"
#include "trellis_permutation.h"
#include "trellis_siso_f.h"
#include "trellis_siso_combined_f.h"
#include "trellis_constellation_metrics_cf.h"
-#include "digital/constellation.h"
%}
+%include "digital/constellation.h"
+%include "digital/metric_type.h"
+%include "constellation.i"
// ----------------------------------------------------------------
@@ -49,10 +55,3 @@
%include "trellis_constellation_metrics_cf.i"
%include "trellis_generated.i"
-
-%import "digital/metric_type.h"
-%import "constellation.i"
-
- //%pythoncode %{
- // from gnuradio.gr import TRELLIS_EUCLIDEAN, TRELLIS_HARD_SYMBOL, TRELLIS_HARD_BIT
- // %}
diff --git a/gr-trellis/src/lib/trellis_constellation_metrics_cf.cc b/gr-trellis/src/lib/trellis_constellation_metrics_cf.cc
index 8658b7e9e1..d7a7aba1d4 100644
--- a/gr-trellis/src/lib/trellis_constellation_metrics_cf.cc
+++ b/gr-trellis/src/lib/trellis_constellation_metrics_cf.cc
@@ -30,17 +30,17 @@
#include <stdexcept>
#include <iostream>
-
-
trellis_constellation_metrics_cf_sptr
-trellis_make_constellation_metrics_cf (gr::digital::constellation_sptr constellation, trellis_metric_type_t TYPE)
+trellis_make_constellation_metrics_cf(constellation_sptr constellation,
+ trellis_metric_type_t TYPE)
{
- return gnuradio::get_initial_sptr (new trellis_constellation_metrics_cf (constellation, TYPE));
+ return gnuradio::get_initial_sptr
+ (new trellis_constellation_metrics_cf(constellation, TYPE));
}
-
-trellis_constellation_metrics_cf::trellis_constellation_metrics_cf (gr::digital::constellation_sptr constellation, trellis_metric_type_t TYPE)
+trellis_constellation_metrics_cf::trellis_constellation_metrics_cf(constellation_sptr constellation,
+ trellis_metric_type_t TYPE)
: gr_block ("constellation_metrics_cf",
gr_make_io_signature (1, -1, sizeof (gr_complex)),
gr_make_io_signature (1, -1, sizeof (float))),
@@ -54,7 +54,7 @@ trellis_constellation_metrics_cf::trellis_constellation_metrics_cf (gr::digital:
}
void
-trellis_constellation_metrics_cf::forecast (int noutput_items, gr_vector_int &ninput_items_required)
+trellis_constellation_metrics_cf::forecast(int noutput_items, gr_vector_int &ninput_items_required)
{
assert (noutput_items % d_O == 0);
unsigned int input_required = d_D * noutput_items / d_O;
@@ -66,10 +66,10 @@ trellis_constellation_metrics_cf::forecast (int noutput_items, gr_vector_int &ni
int
-trellis_constellation_metrics_cf::general_work (int noutput_items,
- gr_vector_int &ninput_items,
- gr_vector_const_void_star &input_items,
- gr_vector_void_star &output_items)
+trellis_constellation_metrics_cf::general_work(int noutput_items,
+ gr_vector_int &ninput_items,
+ gr_vector_const_void_star &input_items,
+ gr_vector_void_star &output_items)
{
assert (noutput_items % d_O == 0);
diff --git a/gr-trellis/src/lib/trellis_constellation_metrics_cf.h b/gr-trellis/src/lib/trellis_constellation_metrics_cf.h
index 6896489e6e..91ab30986b 100644
--- a/gr-trellis/src/lib/trellis_constellation_metrics_cf.h
+++ b/gr-trellis/src/lib/trellis_constellation_metrics_cf.h
@@ -28,10 +28,14 @@
#include <digital/constellation.h>
#include <digital/metric_type.h>
+using namespace gr::digital;
+
class trellis_constellation_metrics_cf;
typedef boost::shared_ptr<trellis_constellation_metrics_cf> trellis_constellation_metrics_cf_sptr;
-TRELLIS_API trellis_constellation_metrics_cf_sptr trellis_make_constellation_metrics_cf (gr::digital::constellation_sptr constellation, trellis_metric_type_t TYPE);
+TRELLIS_API trellis_constellation_metrics_cf_sptr
+ trellis_make_constellation_metrics_cf(constellation_sptr constellation,
+ trellis_metric_type_t TYPE);
/*!
* \brief Evaluate metrics for use by the Viterbi algorithm.
@@ -40,21 +44,24 @@ TRELLIS_API trellis_constellation_metrics_cf_sptr trellis_make_constellation_met
class TRELLIS_API trellis_constellation_metrics_cf : public gr_block
{
public:
- void forecast (int noutput_items,
- gr_vector_int &ninput_items_required);
- int general_work (int noutput_items,
- gr_vector_int &ninput_items,
- gr_vector_const_void_star &input_items,
- gr_vector_void_star &output_items);
+ void forecast(int noutput_items,
+ gr_vector_int &ninput_items_required);
+ int general_work(int noutput_items,
+ gr_vector_int &ninput_items,
+ gr_vector_const_void_star &input_items,
+ gr_vector_void_star &output_items);
protected:
- trellis_constellation_metrics_cf (gr::digital::constellation_sptr constellation, trellis_metric_type_t TYPE);
+ trellis_constellation_metrics_cf(constellation_sptr constellation,
+ trellis_metric_type_t TYPE);
private:
- gr::digital::constellation_sptr d_constellation;
+ constellation_sptr d_constellation;
trellis_metric_type_t d_TYPE;
unsigned int d_O;
unsigned int d_D;
- friend TRELLIS_API trellis_constellation_metrics_cf_sptr trellis_make_constellation_metrics_cf (gr::digital::constellation_sptr constellation, trellis_metric_type_t TYPE);
+ friend TRELLIS_API trellis_constellation_metrics_cf_sptr
+ trellis_make_constellation_metrics_cf(constellation_sptr constellation,
+ trellis_metric_type_t TYPE);
};
diff --git a/gr-trellis/src/lib/trellis_constellation_metrics_cf.i b/gr-trellis/src/lib/trellis_constellation_metrics_cf.i
index 861c55566a..13b11c0b06 100644
--- a/gr-trellis/src/lib/trellis_constellation_metrics_cf.i
+++ b/gr-trellis/src/lib/trellis_constellation_metrics_cf.i
@@ -20,14 +20,12 @@
* Boston, MA 02110-1301, USA.
*/
-// WARNING: this file is machine generated. Edits will be over written
-
GR_SWIG_BLOCK_MAGIC(trellis,constellation_metrics_cf);
-trellis_constellation_metrics_cf_sptr trellis_make_constellation_metrics_cf (gr::digital::constellation_sptr constellation, trellis_metric_type_t TYPE);
+trellis_constellation_metrics_cf_sptr
+trellis_make_constellation_metrics_cf(gr::digital::constellation_sptr constellation,
+ gr::digital::trellis_metric_type_t TYPE);
class trellis_constellation_metrics_cf : public gr_block
{
-private:
- trellis_constellation_metrics_cf (gr::digital::constellation_sptr constellation, trellis_metric_type_t TYPE);
};
diff --git a/gr-trellis/src/lib/trellis_metrics_X.cc.t b/gr-trellis/src/lib/trellis_metrics_X.cc.t
index 77eb8c81b5..756ac92a31 100644
--- a/gr-trellis/src/lib/trellis_metrics_X.cc.t
+++ b/gr-trellis/src/lib/trellis_metrics_X.cc.t
@@ -34,34 +34,36 @@
@SPTR_NAME@
-trellis_make_@BASE_NAME@ (int O, int D, const std::vector<@I_TYPE@> &TABLE, trellis_metric_type_t TYPE)
+trellis_make_@BASE_NAME@(int O, int D, const std::vector<@I_TYPE@> &TABLE,
+ gr::digital::trellis_metric_type_t TYPE)
{
- return gnuradio::get_initial_sptr (new @NAME@ (O,D,TABLE,TYPE));
+ return gnuradio::get_initial_sptr(new @NAME@(O,D,TABLE,TYPE));
}
-@NAME@::@NAME@ (int O, int D, const std::vector<@I_TYPE@> &TABLE, trellis_metric_type_t TYPE)
- : gr_block ("@BASE_NAME@",
- gr_make_io_signature (1, -1, sizeof (@I_TYPE@)),
- gr_make_io_signature (1, -1, sizeof (float))),
- d_O (O),
- d_D (D),
- d_TYPE (TYPE),
- d_TABLE (TABLE)
+@NAME@::@NAME@(int O, int D, const std::vector<@I_TYPE@> &TABLE,
+ gr::digital::trellis_metric_type_t TYPE)
+ : gr_block("@BASE_NAME@",
+ gr_make_io_signature(1, -1, sizeof (@I_TYPE@)),
+ gr_make_io_signature(1, -1, sizeof (float))),
+ d_O (O),
+ d_D (D),
+ d_TYPE (TYPE),
+ d_TABLE (TABLE)
{
set_relative_rate (1.0 * d_O / ((double) d_D));
set_output_multiple ((int)d_O);
}
-void @NAME@::set_TABLE (const std::vector<@I_TYPE@> &table)
+void @NAME@::set_TABLE(const std::vector<@I_TYPE@> &table)
{
d_TABLE = table;
}
void
-@NAME@::forecast (int noutput_items, gr_vector_int &ninput_items_required)
+@NAME@::forecast(int noutput_items, gr_vector_int &ninput_items_required)
{
assert (noutput_items % d_O == 0);
int input_required = d_D * noutput_items / d_O;
@@ -73,25 +75,24 @@ void
int
-@NAME@::general_work (int noutput_items,
- gr_vector_int &ninput_items,
- gr_vector_const_void_star &input_items,
- gr_vector_void_star &output_items)
+@NAME@::general_work(int noutput_items,
+ gr_vector_int &ninput_items,
+ gr_vector_const_void_star &input_items,
+ gr_vector_void_star &output_items)
{
-
assert (noutput_items % d_O == 0);
assert (input_items.size() == output_items.size());
int nstreams = input_items.size();
-for (int m=0;m<nstreams;m++) {
- const @I_TYPE@ *in = (@I_TYPE@ *) input_items[m];
- float *out = (float *) output_items[m];
+ for (int m=0;m<nstreams;m++) {
+ const @I_TYPE@ *in = (@I_TYPE@ *) input_items[m];
+ float *out = (float *) output_items[m];
- for (int i = 0; i < noutput_items / d_O ; i++){
- calc_metric(d_O, d_D, d_TABLE,&(in[i*d_D]),&(out[i*d_O]), d_TYPE);
+ for(int i = 0; i < noutput_items / d_O ; i++) {
+ calc_metric(d_O, d_D, d_TABLE,&(in[i*d_D]),&(out[i*d_O]), d_TYPE);
+ }
}
-}
- consume_each (d_D * noutput_items / d_O);
+ consume_each(d_D * noutput_items / d_O);
return noutput_items;
}
diff --git a/gr-trellis/src/lib/trellis_metrics_X.h.t b/gr-trellis/src/lib/trellis_metrics_X.h.t
index ab406c51ea..9a671bc121 100644
--- a/gr-trellis/src/lib/trellis_metrics_X.h.t
+++ b/gr-trellis/src/lib/trellis_metrics_X.h.t
@@ -32,7 +32,8 @@
class @NAME@;
typedef boost::shared_ptr<@NAME@> @SPTR_NAME@;
-TRELLIS_API @SPTR_NAME@ trellis_make_@BASE_NAME@ (int O, int D, const std::vector<@I_TYPE@> &TABLE, trellis_metric_type_t TYPE);
+TRELLIS_API @SPTR_NAME@ trellis_make_@BASE_NAME@(int O, int D, const std::vector<@I_TYPE@> &TABLE,
+ gr::digital::trellis_metric_type_t TYPE);
/*!
* \brief Evaluate metrics for use by the Viterbi algorithm.
@@ -42,24 +43,27 @@ class TRELLIS_API @NAME@ : public gr_block
{
int d_O;
int d_D;
- trellis_metric_type_t d_TYPE;
+ gr::digital::trellis_metric_type_t d_TYPE;
std::vector<@I_TYPE@> d_TABLE;
- friend TRELLIS_API @SPTR_NAME@ trellis_make_@BASE_NAME@ (int O, int D, const std::vector<@I_TYPE@> &TABLE, trellis_metric_type_t TYPE);
- @NAME@ (int O, int D, const std::vector<@I_TYPE@> &TABLE, trellis_metric_type_t TYPE);
+ friend TRELLIS_API @SPTR_NAME@ trellis_make_@BASE_NAME@(int O, int D,
+ const std::vector<@I_TYPE@> &TABLE,
+ gr::digital::trellis_metric_type_t TYPE);
+ @NAME@(int O, int D, const std::vector<@I_TYPE@> &TABLE,
+ gr::digital::trellis_metric_type_t TYPE);
public:
- int O () const { return d_O; }
- int D () const { return d_D; }
- trellis_metric_type_t TYPE () const { return d_TYPE; }
- std::vector<@I_TYPE@> TABLE () const { return d_TABLE; }
- void set_TABLE (const std::vector<@I_TYPE@> &table);
- void forecast (int noutput_items,
- gr_vector_int &ninput_items_required);
- int general_work (int noutput_items,
- gr_vector_int &ninput_items,
- gr_vector_const_void_star &input_items,
- gr_vector_void_star &output_items);
+ int O() const { return d_O; }
+ int D() const { return d_D; }
+ gr::digital::trellis_metric_type_t TYPE() const { return d_TYPE; }
+ std::vector<@I_TYPE@> TABLE() const { return d_TABLE; }
+ void set_TABLE(const std::vector<@I_TYPE@> &table);
+ void forecast(int noutput_items,
+ gr_vector_int &ninput_items_required);
+ int general_work(int noutput_items,
+ gr_vector_int &ninput_items,
+ gr_vector_const_void_star &input_items,
+ gr_vector_void_star &output_items);
};
diff --git a/gr-trellis/src/lib/trellis_metrics_X.i.t b/gr-trellis/src/lib/trellis_metrics_X.i.t
index 50aa7a7673..b53594f3a6 100644
--- a/gr-trellis/src/lib/trellis_metrics_X.i.t
+++ b/gr-trellis/src/lib/trellis_metrics_X.i.t
@@ -24,17 +24,19 @@
GR_SWIG_BLOCK_MAGIC(trellis,@BASE_NAME@);
-@SPTR_NAME@ trellis_make_@BASE_NAME@ (int O, int D, const std::vector<@I_TYPE@> &TABLE, trellis_metric_type_t TYPE);
+@SPTR_NAME@ trellis_make_@BASE_NAME@ (int O, int D, const std::vector<@I_TYPE@> &TABLE,
+ gr::digital::trellis_metric_type_t TYPE);
class @NAME@ : public gr_block
{
private:
- @NAME@ (int O, int D, const std::vector<@I_TYPE@> &TABLE, trellis_metric_type_t TYPE);
+ @NAME@ (int O, int D, const std::vector<@I_TYPE@> &TABLE,
+ gr::digital::trellis_metric_type_t TYPE);
public:
int O () const { return d_O; }
int D () const { return d_D; }
- trellis_metric_type_t TYPE () const { return d_TYPE; }
+ gr::digital::trellis_metric_type_t TYPE () const { return d_TYPE; }
void set_TABLE (const std::vector<@I_TYPE@> &table);
std::vector<@I_TYPE@> TABLE () const { return d_TABLE; }
};
diff --git a/gr-trellis/src/lib/trellis_pccc_decoder_combined_XX.cc.t b/gr-trellis/src/lib/trellis_pccc_decoder_combined_XX.cc.t
index 03e21de1f5..e8f9f7296e 100644
--- a/gr-trellis/src/lib/trellis_pccc_decoder_combined_XX.cc.t
+++ b/gr-trellis/src/lib/trellis_pccc_decoder_combined_XX.cc.t
@@ -45,7 +45,7 @@ trellis_make_@BASE_NAME@ (
trellis_siso_type_t SISO_TYPE,
int D,
const std::vector<@I_TYPE@> &TABLE,
- trellis_metric_type_t METRIC_TYPE,
+ gr::digital::trellis_metric_type_t METRIC_TYPE,
float scaling
)
{
@@ -71,7 +71,7 @@ trellis_make_@BASE_NAME@ (
trellis_siso_type_t SISO_TYPE,
int D,
const std::vector<@I_TYPE@> &TABLE,
- trellis_metric_type_t METRIC_TYPE,
+ gr::digital::trellis_metric_type_t METRIC_TYPE,
float scaling
)
: gr_block ("@BASE_NAME@",
diff --git a/gr-trellis/src/lib/trellis_pccc_decoder_combined_XX.h.t b/gr-trellis/src/lib/trellis_pccc_decoder_combined_XX.h.t
index 6e45ea10ac..81d9abbc1f 100644
--- a/gr-trellis/src/lib/trellis_pccc_decoder_combined_XX.h.t
+++ b/gr-trellis/src/lib/trellis_pccc_decoder_combined_XX.h.t
@@ -45,7 +45,7 @@ TRELLIS_API @SPTR_NAME@ trellis_make_@BASE_NAME@ (
trellis_siso_type_t SISO_TYPE, // perform "min-sum" or "sum-product" combining
int D,
const std::vector<@I_TYPE@> &TABLE,
- trellis_metric_type_t METRIC_TYPE,
+ gr::digital::trellis_metric_type_t METRIC_TYPE,
float scaling
);
@@ -67,7 +67,7 @@ class TRELLIS_API @NAME@ : public gr_block
trellis_siso_type_t d_SISO_TYPE;
int d_D;
std::vector<@I_TYPE@> d_TABLE;
- trellis_metric_type_t d_METRIC_TYPE;
+ gr::digital::trellis_metric_type_t d_METRIC_TYPE;
float d_scaling;
std::vector<float> d_buffer;
@@ -80,7 +80,7 @@ class TRELLIS_API @NAME@ : public gr_block
trellis_siso_type_t SISO_TYPE,
int D,
const std::vector<@I_TYPE@> &TABLE,
- trellis_metric_type_t METRIC_TYPE,
+ gr::digital::trellis_metric_type_t METRIC_TYPE,
float scaling
);
@@ -93,7 +93,7 @@ class TRELLIS_API @NAME@ : public gr_block
trellis_siso_type_t SISO_TYPE,
int D,
const std::vector<@I_TYPE@> &TABLE,
- trellis_metric_type_t METRIC_TYPE,
+ gr::digital::trellis_metric_type_t METRIC_TYPE,
float scaling
);
@@ -109,7 +109,7 @@ public:
int repetitions () const { return d_repetitions; }
int D () const { return d_D; }
std::vector<@I_TYPE@> TABLE () const { return d_TABLE; }
- trellis_metric_type_t METRIC_TYPE () const { return d_METRIC_TYPE; }
+ gr::digital::trellis_metric_type_t METRIC_TYPE () const { return d_METRIC_TYPE; }
trellis_siso_type_t SISO_TYPE () const { return d_SISO_TYPE; }
float scaling () const { return d_scaling; }
void set_scaling (float scaling);
diff --git a/gr-trellis/src/lib/trellis_pccc_decoder_combined_XX.i.t b/gr-trellis/src/lib/trellis_pccc_decoder_combined_XX.i.t
index d841f67b45..8684ff650c 100644
--- a/gr-trellis/src/lib/trellis_pccc_decoder_combined_XX.i.t
+++ b/gr-trellis/src/lib/trellis_pccc_decoder_combined_XX.i.t
@@ -33,7 +33,7 @@ GR_SWIG_BLOCK_MAGIC(trellis,@BASE_NAME@);
trellis_siso_type_t SISO_TYPE,
int D,
const std::vector<@I_TYPE@> &TABLE,
- trellis_metric_type_t METRIC_TYPE,
+ gr::digital::trellis_metric_type_t METRIC_TYPE,
float scaling
);
@@ -50,7 +50,7 @@ private:
trellis_siso_type_t SISO_TYPE,
int D,
const std::vector<@I_TYPE@> &TABLE,
- trellis_metric_type_t METRIC_TYPE,
+ gr::digital::trellis_metric_type_t METRIC_TYPE,
float scaling
);
@@ -66,7 +66,7 @@ public:
int repetitions () const { return d_repetitions; }
int D () const { return d_D; }
std::vector<@I_TYPE@> TABLE () const { return d_TABLE; }
- trellis_metric_type_t METRIC_TYPE () const { return d_METRIC_TYPE; }
+ gr::digital::trellis_metric_type_t METRIC_TYPE () const { return d_METRIC_TYPE; }
trellis_siso_type_t SISO_TYPE () const { return d_SISO_TYPE; }
float scaling() const { return d_scaling; }
void set_scaling (float scaling);
diff --git a/gr-trellis/src/lib/trellis_sccc_decoder_combined_XX.cc.t b/gr-trellis/src/lib/trellis_sccc_decoder_combined_XX.cc.t
index 4508ca5cba..0fcfc70a68 100644
--- a/gr-trellis/src/lib/trellis_sccc_decoder_combined_XX.cc.t
+++ b/gr-trellis/src/lib/trellis_sccc_decoder_combined_XX.cc.t
@@ -45,7 +45,7 @@ trellis_make_@BASE_NAME@ (
trellis_siso_type_t SISO_TYPE,
int D,
const std::vector<@I_TYPE@> &TABLE,
- trellis_metric_type_t METRIC_TYPE,
+ gr::digital::trellis_metric_type_t METRIC_TYPE,
float scaling
)
{
@@ -71,7 +71,7 @@ trellis_make_@BASE_NAME@ (
trellis_siso_type_t SISO_TYPE,
int D,
const std::vector<@I_TYPE@> &TABLE,
- trellis_metric_type_t METRIC_TYPE,
+ gr::digital::trellis_metric_type_t METRIC_TYPE,
float scaling
)
: gr_block ("@BASE_NAME@",
diff --git a/gr-trellis/src/lib/trellis_sccc_decoder_combined_XX.h.t b/gr-trellis/src/lib/trellis_sccc_decoder_combined_XX.h.t
index 3fdc53c624..2cf03eaa55 100644
--- a/gr-trellis/src/lib/trellis_sccc_decoder_combined_XX.h.t
+++ b/gr-trellis/src/lib/trellis_sccc_decoder_combined_XX.h.t
@@ -45,7 +45,7 @@ TRELLIS_API @SPTR_NAME@ trellis_make_@BASE_NAME@ (
trellis_siso_type_t SISO_TYPE, // perform "min-sum" or "sum-product" combining
int D,
const std::vector<@I_TYPE@> &TABLE,
- trellis_metric_type_t METRIC_TYPE,
+ gr::digital::trellis_metric_type_t METRIC_TYPE,
float scaling
);
@@ -67,7 +67,7 @@ class TRELLIS_API @NAME@ : public gr_block
trellis_siso_type_t d_SISO_TYPE;
int d_D;
std::vector<@I_TYPE@> d_TABLE;
- trellis_metric_type_t d_METRIC_TYPE;
+ gr::digital::trellis_metric_type_t d_METRIC_TYPE;
float d_scaling;
std::vector<float> d_buffer;
@@ -80,7 +80,7 @@ class TRELLIS_API @NAME@ : public gr_block
trellis_siso_type_t SISO_TYPE,
int D,
const std::vector<@I_TYPE@> &TABLE,
- trellis_metric_type_t METRIC_TYPE,
+ gr::digital::trellis_metric_type_t METRIC_TYPE,
float scaling
);
@@ -93,7 +93,7 @@ class TRELLIS_API @NAME@ : public gr_block
trellis_siso_type_t SISO_TYPE,
int D,
const std::vector<@I_TYPE@> &TABLE,
- trellis_metric_type_t METRIC_TYPE,
+ gr::digital::trellis_metric_type_t METRIC_TYPE,
float scaling
);
@@ -109,7 +109,7 @@ public:
int repetitions () const { return d_repetitions; }
int D () const { return d_D; }
std::vector<@I_TYPE@> TABLE () const { return d_TABLE; }
- trellis_metric_type_t METRIC_TYPE () const { return d_METRIC_TYPE; }
+ gr::digital::trellis_metric_type_t METRIC_TYPE () const { return d_METRIC_TYPE; }
trellis_siso_type_t SISO_TYPE () const { return d_SISO_TYPE; }
float scaling () const { return d_scaling; }
void set_scaling (float scaling);
diff --git a/gr-trellis/src/lib/trellis_sccc_decoder_combined_XX.i.t b/gr-trellis/src/lib/trellis_sccc_decoder_combined_XX.i.t
index 84f2eb07d9..872afcad09 100644
--- a/gr-trellis/src/lib/trellis_sccc_decoder_combined_XX.i.t
+++ b/gr-trellis/src/lib/trellis_sccc_decoder_combined_XX.i.t
@@ -33,7 +33,7 @@ GR_SWIG_BLOCK_MAGIC(trellis,@BASE_NAME@);
trellis_siso_type_t SISO_TYPE,
int D,
const std::vector<@I_TYPE@> &TABLE,
- trellis_metric_type_t METRIC_TYPE,
+ gr::digital::trellis_metric_type_t METRIC_TYPE,
float scaling
);
@@ -50,7 +50,7 @@ private:
trellis_siso_type_t SISO_TYPE,
int D,
const std::vector<@I_TYPE@> &TABLE,
- trellis_metric_type_t METRIC_TYPE,
+ gr::digital::trellis_metric_type_t METRIC_TYPE,
float scaling
);
@@ -66,7 +66,7 @@ public:
int repetitions () const { return d_repetitions; }
int D () const { return d_D; }
std::vector<@I_TYPE@> TABLE () const { return d_TABLE; }
- trellis_metric_type_t METRIC_TYPE () const { return d_METRIC_TYPE; }
+ gr::digital::trellis_metric_type_t METRIC_TYPE () const { return d_METRIC_TYPE; }
trellis_siso_type_t SISO_TYPE () const { return d_SISO_TYPE; }
float scaling() const { return d_scaling; }
void set_scaling (float scaling);
diff --git a/gr-trellis/src/lib/trellis_siso_combined_f.cc b/gr-trellis/src/lib/trellis_siso_combined_f.cc
index d27fe44257..d956c47854 100644
--- a/gr-trellis/src/lib/trellis_siso_combined_f.cc
+++ b/gr-trellis/src/lib/trellis_siso_combined_f.cc
@@ -43,7 +43,7 @@ trellis_make_siso_combined_f (
trellis_siso_type_t SISO_TYPE,
int D,
const std::vector<float> &TABLE,
- trellis_metric_type_t TYPE)
+ gr::digital::trellis_metric_type_t TYPE)
{
return gnuradio::get_initial_sptr(new trellis_siso_combined_f (FSM,K,S0,SK,POSTI,POSTO,SISO_TYPE,D,TABLE,TYPE));
}
@@ -58,7 +58,7 @@ trellis_siso_combined_f::trellis_siso_combined_f (
trellis_siso_type_t SISO_TYPE,
int D,
const std::vector<float> &TABLE,
- trellis_metric_type_t TYPE)
+ gr::digital::trellis_metric_type_t TYPE)
: gr_block ("siso_combined_f",
gr_make_io_signature (1, -1, sizeof (float)),
gr_make_io_signature (1, -1, sizeof (float))),
@@ -153,7 +153,7 @@ void siso_algorithm_combined(int I, int S, int O,
float (*p2mymin)(float,float),
int D,
const std::vector<float> &TABLE,
- trellis_metric_type_t TYPE,
+ gr::digital::trellis_metric_type_t TYPE,
const float *priori, const float *observations, float *post//,
//std::vector<float> &alpha,
//std::vector<float> &beta
diff --git a/gr-trellis/src/lib/trellis_siso_combined_f.h b/gr-trellis/src/lib/trellis_siso_combined_f.h
index 4b28e8de4a..47fa20fb65 100644
--- a/gr-trellis/src/lib/trellis_siso_combined_f.h
+++ b/gr-trellis/src/lib/trellis_siso_combined_f.h
@@ -43,7 +43,7 @@ TRELLIS_API trellis_siso_combined_f_sptr trellis_make_siso_combined_f (
trellis_siso_type_t d_SISO_TYPE, // perform "min-sum" or "sum-product" combining
int D,
const std::vector<float> &TABLE,
- trellis_metric_type_t TYPE
+ gr::digital::trellis_metric_type_t TYPE
);
/*!
@@ -60,7 +60,7 @@ class TRELLIS_API trellis_siso_combined_f : public gr_block
trellis_siso_type_t d_SISO_TYPE;
int d_D;
std::vector<float> d_TABLE;
- trellis_metric_type_t d_TYPE;
+ gr::digital::trellis_metric_type_t d_TYPE;
//std::vector<float> d_alpha;
//std::vector<float> d_beta;
@@ -74,7 +74,7 @@ class TRELLIS_API trellis_siso_combined_f : public gr_block
trellis_siso_type_t d_SISO_TYPE,
int D,
const std::vector<float> &TABLE,
- trellis_metric_type_t TYPE);
+ gr::digital::trellis_metric_type_t TYPE);
trellis_siso_combined_f (
@@ -87,7 +87,7 @@ class TRELLIS_API trellis_siso_combined_f : public gr_block
trellis_siso_type_t d_SISO_TYPE,
int D,
const std::vector<float> &TABLE,
- trellis_metric_type_t TYPE);
+ gr::digital::trellis_metric_type_t TYPE);
public:
@@ -100,7 +100,7 @@ public:
trellis_siso_type_t SISO_TYPE () const { return d_SISO_TYPE; }
int D () const { return d_D; }
std::vector<float> TABLE () const { return d_TABLE; }
- trellis_metric_type_t TYPE () const { return d_TYPE; }
+ gr::digital::trellis_metric_type_t TYPE () const { return d_TYPE; }
void forecast (int noutput_items,
gr_vector_int &ninput_items_required);
int general_work (int noutput_items,
diff --git a/gr-trellis/src/lib/trellis_siso_combined_f.i b/gr-trellis/src/lib/trellis_siso_combined_f.i
index 781280d896..228cdd1218 100644
--- a/gr-trellis/src/lib/trellis_siso_combined_f.i
+++ b/gr-trellis/src/lib/trellis_siso_combined_f.i
@@ -32,7 +32,7 @@ trellis_siso_combined_f_sptr trellis_make_siso_combined_f (
trellis_siso_type_t SISO_TYPE,
int D,
const std::vector<float> &TABLE,
- trellis_metric_type_t TYPE);
+ gr::digital::trellis_metric_type_t TYPE);
class trellis_siso_combined_f : public gr_block
@@ -48,7 +48,7 @@ private:
trellis_siso_type_t SISO_TYPE,
int D,
const std::vector<float> &TABLE,
- trellis_metric_type_t TYPE);
+ gr::digital::trellis_metric_type_t TYPE);
public:
fsm FSM () const { return d_FSM; }
@@ -60,5 +60,5 @@ public:
trellis_siso_type_t SISO_TYPE () const { return d_SISO_TYPE; }
int D () const { return d_D; }
std::vector<float> TABLE () const { return d_TABLE; }
- trellis_metric_type_t TYPE () const { return d_TYPE; }
+ gr::digital::trellis_metric_type_t TYPE () const { return d_TYPE; }
};
diff --git a/gr-trellis/src/lib/trellis_viterbi_combined_XX.cc.t b/gr-trellis/src/lib/trellis_viterbi_combined_XX.cc.t
index 74611ab8fb..b337b6f16c 100644
--- a/gr-trellis/src/lib/trellis_viterbi_combined_XX.cc.t
+++ b/gr-trellis/src/lib/trellis_viterbi_combined_XX.cc.t
@@ -41,7 +41,7 @@ trellis_make_@BASE_NAME@ (
int SK,
int D,
const std::vector<@I_TYPE@> &TABLE,
- trellis_metric_type_t TYPE)
+ gr::digital::trellis_metric_type_t TYPE)
{
return gnuradio::get_initial_sptr (new @NAME@ (FSM,K,S0,SK,D,TABLE,TYPE));
}
@@ -53,10 +53,10 @@ trellis_make_@BASE_NAME@ (
int SK,
int D,
const std::vector<@I_TYPE@> &TABLE,
- trellis_metric_type_t TYPE)
+ gr::digital::trellis_metric_type_t TYPE)
: gr_block ("@BASE_NAME@",
- gr_make_io_signature (1, -1, sizeof (@I_TYPE@)),
- gr_make_io_signature (1, -1, sizeof (@O_TYPE@))),
+ gr_make_io_signature (1, -1, sizeof (@I_TYPE@)),
+ gr_make_io_signature (1, -1, sizeof (@O_TYPE@))),
d_FSM (FSM),
d_K (K),
d_S0 (S0),
@@ -100,7 +100,7 @@ void viterbi_algorithm_combined(int I, int S, int O,
int S0,int SK,
int D,
const std::vector<@I_TYPE@> &TABLE,
- trellis_metric_type_t TYPE,
+ gr::digital::trellis_metric_type_t TYPE,
const @I_TYPE@ *in, @O_TYPE@ *out)//,
//std::vector<int> &trace)
{
diff --git a/gr-trellis/src/lib/trellis_viterbi_combined_XX.h.t b/gr-trellis/src/lib/trellis_viterbi_combined_XX.h.t
index c7e468e73b..f0a64c3317 100644
--- a/gr-trellis/src/lib/trellis_viterbi_combined_XX.h.t
+++ b/gr-trellis/src/lib/trellis_viterbi_combined_XX.h.t
@@ -41,7 +41,7 @@ TRELLIS_API @SPTR_NAME@ trellis_make_@BASE_NAME@ (
int SK,
int D,
const std::vector<@I_TYPE@> &TABLE,
- trellis_metric_type_t TYPE);
+ gr::digital::trellis_metric_type_t TYPE);
/*!
@@ -55,7 +55,7 @@ class TRELLIS_API @NAME@ : public gr_block
int d_SK;
int d_D;
std::vector<@I_TYPE@> d_TABLE;
- trellis_metric_type_t d_TYPE;
+ gr::digital::trellis_metric_type_t d_TYPE;
//std::vector<int> d_trace;
friend TRELLIS_API @SPTR_NAME@ trellis_make_@BASE_NAME@ (
@@ -65,7 +65,7 @@ class TRELLIS_API @NAME@ : public gr_block
int SK,
int D,
const std::vector<@I_TYPE@> &TABLE,
- trellis_metric_type_t TYPE);
+ gr::digital::trellis_metric_type_t TYPE);
@NAME@ (
@@ -75,7 +75,7 @@ class TRELLIS_API @NAME@ : public gr_block
int SK,
int D,
const std::vector<@I_TYPE@> &TABLE,
- trellis_metric_type_t TYPE);
+ gr::digital::trellis_metric_type_t TYPE);
public:
@@ -85,7 +85,7 @@ public:
int SK () const { return d_SK; }
int D () const { return d_D; }
std::vector<@I_TYPE@> TABLE () const { return d_TABLE; }
- trellis_metric_type_t TYPE () const { return d_TYPE; }
+ gr::digital::trellis_metric_type_t TYPE () const { return d_TYPE; }
//std::vector<int> trace () const { return d_trace; }
void set_TABLE (const std::vector<@I_TYPE@> &table);
void forecast (int noutput_items,
diff --git a/gr-trellis/src/lib/trellis_viterbi_combined_XX.i.t b/gr-trellis/src/lib/trellis_viterbi_combined_XX.i.t
index 633ded7707..2687a2056d 100644
--- a/gr-trellis/src/lib/trellis_viterbi_combined_XX.i.t
+++ b/gr-trellis/src/lib/trellis_viterbi_combined_XX.i.t
@@ -31,7 +31,7 @@ GR_SWIG_BLOCK_MAGIC(trellis,@BASE_NAME@);
int SK,
int D,
const std::vector<@I_TYPE@> &TABLE,
- trellis_metric_type_t TYPE);
+ gr::digital::trellis_metric_type_t TYPE);
class @NAME@ : public gr_block
@@ -44,7 +44,7 @@ private:
int SK,
int D,
const std::vector<@I_TYPE@> &TABLE,
- trellis_metric_type_t TYPE);
+ gr::digital::trellis_metric_type_t TYPE);
public:
fsm FSM () const { return d_FSM; }
@@ -53,7 +53,7 @@ public:
int SK () const { return d_SK; }
int D () const { return d_D; }
std::vector<@I_TYPE@> TABLE () const { return d_TABLE; }
- trellis_metric_type_t TYPE () const { return d_TYPE; }
+ gr::digital::trellis_metric_type_t TYPE () const { return d_TYPE; }
//std::vector<short> trace () const { return d_trace; }
void set_TABLE (const std::vector<@I_TYPE@> &table);
};