[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Commit-gnuradio] r3272 - gnuradio/branches/developers/anastas/wip/gr-tr
From: |
anastas |
Subject: |
[Commit-gnuradio] r3272 - gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib |
Date: |
Sun, 13 Aug 2006 20:58:42 -0600 (MDT) |
Author: anastas
Date: 2006-08-13 20:58:42 -0600 (Sun, 13 Aug 2006)
New Revision: 3272
Modified:
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/Makefile.am
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/fsm.cc
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/fsm.h
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/fsm.i
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/interleaver.cc
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/interleaver.h
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/interleaver.i
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis.i
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_calc_metric.cc
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_calc_metric.h
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_encoder_XX.cc.t
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_encoder_XX.h.t
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_encoder_XX.i.t
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_encoder_bb.cc
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_encoder_bb.h
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_encoder_bb.i
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_encoder_bi.cc
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_encoder_bi.h
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_encoder_bi.i
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_encoder_bs.cc
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_encoder_bs.h
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_encoder_bs.i
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_encoder_ii.cc
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_encoder_ii.h
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_encoder_ii.i
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_encoder_si.cc
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_encoder_si.h
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_encoder_si.i
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_encoder_ss.cc
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_encoder_ss.h
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_encoder_ss.i
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_metrics_X.cc.t
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_metrics_X.h.t
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_metrics_X.i.t
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_metrics_c.cc
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_metrics_c.h
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_metrics_c.i
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_metrics_f.cc
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_metrics_f.h
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_metrics_f.i
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_metrics_i.cc
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_metrics_i.h
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_metrics_i.i
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_metrics_s.cc
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_metrics_s.h
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_metrics_s.i
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_permutation.cc
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_permutation.h
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_permutation.i
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_X.cc.t
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_X.h.t
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_X.i.t
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_b.cc
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_b.h
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_b.i
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_combined_X.cc.t
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_combined_X.h.t
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_combined_X.i.t
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_combined_b.cc
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_combined_b.h
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_combined_b.i
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_combined_i.cc
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_combined_i.h
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_combined_i.i
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_combined_s.cc
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_combined_s.h
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_combined_s.i
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_i.cc
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_i.h
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_i.i
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_s.cc
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_s.h
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_s.i
Log:
Cleaned up code + added siso block
Modified:
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/Makefile.am
===================================================================
--- gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/Makefile.am
2006-08-14 02:19:14 UTC (rev 3271)
+++ gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/Makefile.am
2006-08-14 02:58:42 UTC (rev 3272)
@@ -68,6 +68,7 @@
interleaver.cc \
trellis_calc_metric.cc \
trellis_permutation.cc \
+ trellis_siso_f.cc \
$(GENERATED_CC)
# magic flags
@@ -91,6 +92,8 @@
trellis_metric_type.h \
trellis_calc_metric.h \
trellis_permutation.h \
+ trellis_siso_type.h \
+ trellis_siso_f.h \
$(GENERATED_H)
Modified: gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/fsm.cc
===================================================================
--- gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/fsm.cc
2006-08-14 02:19:14 UTC (rev 3271)
+++ gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/fsm.cc
2006-08-14 02:58:42 UTC (rev 3272)
@@ -47,7 +47,7 @@
d_PI=FSM.PI();
}
-fsm::fsm(const int I, const int S, const int O, const std::vector<int> &NS,
const std::vector<int> &OS)
+fsm::fsm(int I, int S, int O, const std::vector<int> &NS, const
std::vector<int> &OS)
{
d_I=I;
d_S=S;
@@ -117,7 +117,7 @@
//# ISI for a channel
//# of length ch_length and a modulation of size mod_size
//######################################################################
-fsm::fsm(const int mod_size, const int ch_length)
+fsm::fsm(int mod_size, int ch_length)
{
d_I=mod_size;
d_S=(int) (pow(1.0*d_I,1.0*ch_length-1)+0.5);
Modified: gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/fsm.h
===================================================================
--- gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/fsm.h
2006-08-14 02:19:14 UTC (rev 3271)
+++ gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/fsm.h
2006-08-14 02:58:42 UTC (rev 3272)
@@ -40,9 +40,9 @@
public:
fsm();
fsm(const fsm &FSM);
- fsm(const int I, const int S, const int O, const std::vector<int> &NS, const
std::vector<int> &OS);
+ fsm(int I, int S, int O, const std::vector<int> &NS, const std::vector<int>
&OS);
fsm(const char *name);
- fsm(const int mod_size, const int ch_length);
+ fsm(int mod_size, int ch_length);
int I () const { return d_I; }
int S () const { return d_S; }
int O () const { return d_O; }
Modified: gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/fsm.i
===================================================================
--- gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/fsm.i
2006-08-14 02:19:14 UTC (rev 3271)
+++ gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/fsm.i
2006-08-14 02:58:42 UTC (rev 3272)
@@ -32,9 +32,9 @@
public:
fsm();
fsm(const fsm &FSM);
- fsm(const int I, const int S, const int O, const std::vector<int> &NS, const
std::vector<int> &OS);
+ fsm(int I, int S, int O, const std::vector<int> &NS, const std::vector<int>
&OS);
fsm(const char *name);
- fsm(const int mod_size, const int ch_length);
+ fsm(int mod_size, int ch_length);
int I () const { return d_I; }
int S () const { return d_S; }
int O () const { return d_O; }
Modified:
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/interleaver.cc
===================================================================
--- gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/interleaver.cc
2006-08-14 02:19:14 UTC (rev 3271)
+++ gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/interleaver.cc
2006-08-14 02:58:42 UTC (rev 3272)
@@ -42,7 +42,7 @@
d_DEINTER=INTERLEAVER.DEINTER();
}
-interleaver::interleaver(const int K, const std::vector<int> &INTER)
+interleaver::interleaver(int K, const std::vector<int> &INTER)
{
d_K=K;
d_INTER=INTER;
@@ -85,7 +85,7 @@
//######################################################################
//# Generate a random interleaver
//######################################################################
-interleaver::interleaver(const int K, unsigned int seed)
+interleaver::interleaver(int K, unsigned int seed)
{
d_K=K;
d_INTER.resize(d_K);
Modified:
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/interleaver.h
===================================================================
--- gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/interleaver.h
2006-08-14 02:19:14 UTC (rev 3271)
+++ gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/interleaver.h
2006-08-14 02:58:42 UTC (rev 3272)
@@ -36,9 +36,9 @@
public:
interleaver();
interleaver(const interleaver & INTERLEAVER);
- interleaver(const int K, const std::vector<int> & INTER);
+ interleaver(int K, const std::vector<int> & INTER);
interleaver(const char *name);
- interleaver(const int K, unsigned int seed);
+ interleaver(int K, unsigned int seed);
int K () const { return d_K; }
const std::vector<int> & INTER () const { return d_INTER; }
const std::vector<int> & DEINTER () const { return d_DEINTER; }
Modified:
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/interleaver.i
===================================================================
--- gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/interleaver.i
2006-08-14 02:19:14 UTC (rev 3271)
+++ gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/interleaver.i
2006-08-14 02:58:42 UTC (rev 3272)
@@ -28,9 +28,9 @@
public:
interleaver();
interleaver(const interleaver & INTERLEAVER);
- interleaver(const int K, const std::vector<int> & INTER);
+ interleaver(int K, const std::vector<int> & INTER);
interleaver(const char *name);
- interleaver(const int K, unsigned int seed);
+ interleaver(int K, unsigned int seed);
int K () const { return d_K; }
const std::vector<int> & INTER () const { return d_INTER; }
const std::vector<int> & DEINTER () const { return d_DEINTER; }
Modified: gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis.i
===================================================================
--- gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis.i
2006-08-14 02:19:14 UTC (rev 3271)
+++ gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis.i
2006-08-14 02:58:42 UTC (rev 3272)
@@ -10,6 +10,7 @@
#include "fsm.h"
#include "interleaver.h"
#include "trellis_permutation.h"
+#include "trellis_siso_f.h"
#include <stdexcept>
%}
@@ -18,7 +19,10 @@
%include "fsm.i"
%include "interleaver.i"
%include "trellis_permutation.i"
+%include "trellis_siso_f.i"
+
%include "trellis_metric_type.h"
+%include "trellis_siso_type.h"
%include "trellis_generated.i"
Modified:
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_calc_metric.cc
===================================================================
---
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_calc_metric.cc
2006-08-14 02:19:14 UTC (rev 3271)
+++
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_calc_metric.cc
2006-08-14 02:58:42 UTC (rev 3272)
@@ -24,8 +24,7 @@
#include <stdexcept>
#include "trellis_calc_metric.h"
-// soft decisions (Euclidean distance squared)
-void calc_metric_s(const int O, const int D, const std::vector<short> &TABLE,
const short *in, float *metric, trellis_metric_type_t type)
+void calc_metric_s(int O, int D, const std::vector<short> &TABLE, const short
*in, float *metric, trellis_metric_type_t type)
{
float minm = FLT_MAX;
int minmi = 0;
@@ -33,24 +32,24 @@
switch (type){
case TRELLIS_EUCLIDEAN:
for(int o=0;o<O;o++) {
- metric[o]=0.0;
- for (int m=0;m<D;m++) {
- float s=in[m]-TABLE[o*D+m];
- metric[o]+=s*s;
- }
+ metric[o]=0.0;
+ for (int m=0;m<D;m++) {
+ float s=in[m]-TABLE[o*D+m];
+ metric[o]+=s*s;
+ }
}
break;
case TRELLIS_HARD_SYMBOL:
for(int o=0;o<O;o++) {
- metric[o]=0.0;
- for (int m=0;m<D;m++) {
- float s=in[m]-TABLE[o*D+m];
- metric[o]+=s*s;
- }
- if(metric[o]<minm) {
- minm=metric[o];
- minmi=o;
- }
+ metric[o]=0.0;
+ for (int m=0;m<D;m++) {
+ float s=in[m]-TABLE[o*D+m];
+ metric[o]+=s*s;
+ }
+ if(metric[o]<minm) {
+ minm=metric[o];
+ minmi=o;
+ }
}
for(int o=0;o<O;o++) {
metric[o] = (o==minmi?0.0:1.0);
@@ -66,8 +65,7 @@
-// soft decisions (Euclidean distance squared)
-void calc_metric_i(const int O, const int D, const std::vector<int> &TABLE,
const int *in, float *metric, trellis_metric_type_t type)
+void calc_metric_i(int O, int D, const std::vector<int> &TABLE, const int *in,
float *metric, trellis_metric_type_t type)
{
float minm = FLT_MAX;
int minmi = 0;
@@ -75,24 +73,24 @@
switch (type){
case TRELLIS_EUCLIDEAN:
for(int o=0;o<O;o++) {
- metric[o]=0.0;
- for (int m=0;m<D;m++) {
- float s=in[m]-TABLE[o*D+m];
- metric[o]+=s*s;
- }
+ metric[o]=0.0;
+ for (int m=0;m<D;m++) {
+ float s=in[m]-TABLE[o*D+m];
+ metric[o]+=s*s;
+ }
}
break;
case TRELLIS_HARD_SYMBOL:
for(int o=0;o<O;o++) {
- metric[o]=0.0;
- for (int m=0;m<D;m++) {
- float s=in[m]-TABLE[o*D+m];
- metric[o]+=s*s;
- }
- if(metric[o]<minm) {
- minm=metric[o];
- minmi=o;
- }
+ metric[o]=0.0;
+ for (int m=0;m<D;m++) {
+ float s=in[m]-TABLE[o*D+m];
+ metric[o]+=s*s;
+ }
+ if(metric[o]<minm) {
+ minm=metric[o];
+ minmi=o;
+ }
}
for(int o=0;o<O;o++) {
metric[o] = (o==minmi?0.0:1.0);
@@ -108,12 +106,7 @@
-
-
-
-
-// soft decisions (Euclidean distance squared)
-void calc_metric_f(const int O, const int D, const std::vector<float> &TABLE,
const float *in, float *metric, trellis_metric_type_t type)
+void calc_metric_f(int O, int D, const std::vector<float> &TABLE, const float
*in, float *metric, trellis_metric_type_t type)
{
float minm = FLT_MAX;
int minmi = 0;
@@ -121,24 +114,24 @@
switch (type){
case TRELLIS_EUCLIDEAN:
for(int o=0;o<O;o++) {
- metric[o]=0.0;
- for (int m=0;m<D;m++) {
- float s=in[m]-TABLE[o*D+m];
- metric[o]+=s*s;
- }
+ metric[o]=0.0;
+ for (int m=0;m<D;m++) {
+ float s=in[m]-TABLE[o*D+m];
+ metric[o]+=s*s;
+ }
}
break;
case TRELLIS_HARD_SYMBOL:
for(int o=0;o<O;o++) {
- metric[o]=0.0;
- for (int m=0;m<D;m++) {
- float s=in[m]-TABLE[o*D+m];
- metric[o]+=s*s;
- }
- if(metric[o]<minm) {
- minm=metric[o];
- minmi=o;
- }
+ metric[o]=0.0;
+ for (int m=0;m<D;m++) {
+ float s=in[m]-TABLE[o*D+m];
+ metric[o]+=s*s;
+ }
+ if(metric[o]<minm) {
+ minm=metric[o];
+ minmi=o;
+ }
}
for(int o=0;o<O;o++) {
metric[o] = (o==minmi?0.0:1.0);
@@ -153,8 +146,7 @@
}
-// soft decisions (Euclidean distance squared)
-void calc_metric_c(const int O, const int D, const std::vector<gr_complex>
&TABLE, const gr_complex *in, float *metric, trellis_metric_type_t type)
+void calc_metric_c(int O, int D, const std::vector<gr_complex> &TABLE, const
gr_complex *in, float *metric, trellis_metric_type_t type)
{
float minm = FLT_MAX;
int minmi = 0;
@@ -169,7 +161,20 @@
}
}
case TRELLIS_HARD_SYMBOL:
- throw std::runtime_error ("Invalid metric type (not yet implemented).");
+ for(int o=0;o<O;o++) {
+ metric[o]=0.0;
+ for (int m=0;m<D;m++) {
+ gr_complex s=in[m]-TABLE[o*D+m];
+ metric[o]+=s.real()*s.real()+s.imag()*s.imag();
+ }
+ if(metric[o]<minm) {
+ minm=metric[o];
+ minmi=o;
+ }
+ }
+ for(int o=0;o<O;o++) {
+ metric[o] = (o==minmi?0.0:1.0);
+ }
break;
case TRELLIS_HARD_BIT:
throw std::runtime_error ("Invalid metric type (not yet implemented).");
Modified:
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_calc_metric.h
===================================================================
---
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_calc_metric.h
2006-08-14 02:19:14 UTC (rev 3271)
+++
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_calc_metric.h
2006-08-14 02:58:42 UTC (rev 3272)
@@ -27,12 +27,12 @@
#include <gr_complex.h>
#include <trellis_metric_type.h>
-void calc_metric_s(const int O, const int D, const std::vector<short> &TABLE,
const short *in, float *metric, trellis_metric_type_t type);
+void calc_metric_s(int O, int D, const std::vector<short> &TABLE, const short
*in, float *metric, trellis_metric_type_t type);
-void calc_metric_i(const int O, const int D, const std::vector<int> &TABLE,
const int *in, float *metric, trellis_metric_type_t type);
+void calc_metric_i(int O, int D, const std::vector<int> &TABLE, const int *in,
float *metric, trellis_metric_type_t type);
-void calc_metric_f(const int O, const int D, const std::vector<float> &TABLE,
const float *in, float *metric, trellis_metric_type_t type);
+void calc_metric_f(int O, int D, const std::vector<float> &TABLE, const float
*in, float *metric, trellis_metric_type_t type);
-void calc_metric_c(const int O, const int D, const std::vector<gr_complex>
&TABLE, const gr_complex *in, float *metric, trellis_metric_type_t type);
+void calc_metric_c(int O, int D, const std::vector<gr_complex> &TABLE, const
gr_complex *in, float *metric, trellis_metric_type_t type);
#endif
Modified:
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_encoder_XX.cc.t
===================================================================
---
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_encoder_XX.cc.t
2006-08-14 02:19:14 UTC (rev 3271)
+++
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_encoder_XX.cc.t
2006-08-14 02:58:42 UTC (rev 3272)
@@ -29,12 +29,12 @@
#include <iostream>
@SPTR_NAME@
address@hidden@ (const fsm &FSM, const int ST)
address@hidden@ (const fsm &FSM, int ST)
{
return @SPTR_NAME@ (new @NAME@ (FSM,ST));
}
address@hidden@::@NAME@ (const fsm &FSM, const int ST)
address@hidden@::@NAME@ (const fsm &FSM, int ST)
: gr_sync_block ("@BASE_NAME@",
gr_make_io_signature (1, -1, sizeof (@I_TYPE@)),
gr_make_io_signature (1, -1, sizeof (@O_TYPE@))),
@@ -50,27 +50,25 @@
gr_vector_const_void_star &input_items,
gr_vector_void_star &output_items)
{
- int d_ST_tmp;
+ int ST_tmp;
assert (input_items.size() == output_items.size());
int nstreams = input_items.size();
-for (int m=0;m<nstreams;m++) {
- const @I_TYPE@ *in = (const @I_TYPE@ *) input_items[m];
- @O_TYPE@ *out = (@O_TYPE@ *) output_items[m];
- d_ST_tmp = d_ST;
+ for (int m=0;m<nstreams;m++) {
+ const @I_TYPE@ *in = (const @I_TYPE@ *) input_items[m];
+ @O_TYPE@ *out = (@O_TYPE@ *) output_items[m];
+ ST_tmp = d_ST;
-// per stream processing
-
- for (int i = 0; i < noutput_items; i++){
- out[i] = (@O_TYPE@) d_FSM.OS()[d_ST_tmp*d_FSM.I()+in[i]]; // direction of
time?
- d_ST_tmp = (int) d_FSM.NS()[d_ST_tmp*d_FSM.I()+in[i]];
+ // per stream processing
+ for (int i = 0; i < noutput_items; i++){
+ out[i] = (@O_TYPE@) d_FSM.OS()[ST_tmp*d_FSM.I()+in[i]]; // direction of
time?
+ ST_tmp = (int) d_FSM.NS()[ST_tmp*d_FSM.I()+in[i]];
+ }
+ // end per stream processing
}
+ d_ST = ST_tmp;
-// end per stream processing
-}
- d_ST = d_ST_tmp;
-
return noutput_items;
}
Modified:
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_encoder_XX.h.t
===================================================================
---
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_encoder_XX.h.t
2006-08-14 02:19:14 UTC (rev 3271)
+++
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_encoder_XX.h.t
2006-08-14 02:58:42 UTC (rev 3272)
@@ -31,7 +31,7 @@
class @NAME@;
typedef boost::shared_ptr<@NAME@> @SPTR_NAME@;
address@hidden@ address@hidden@ (const fsm &FSM, const int ST);
address@hidden@ address@hidden@ (const fsm &FSM, int ST);
/*!
* \brief Convolutional encoder.
@@ -42,10 +42,10 @@
class @NAME@ : public gr_sync_block
{
private:
- friend @SPTR_NAME@ address@hidden@ (const fsm &FSM, const int ST);
+ friend @SPTR_NAME@ address@hidden@ (const fsm &FSM, int ST);
fsm d_FSM;
int d_ST;
- @NAME@ (const fsm &FSM, const int ST);
+ @NAME@ (const fsm &FSM, int ST);
public:
fsm FSM () const { return d_FSM; }
Modified:
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_encoder_XX.i.t
===================================================================
---
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_encoder_XX.i.t
2006-08-14 02:19:14 UTC (rev 3271)
+++
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_encoder_XX.i.t
2006-08-14 02:58:42 UTC (rev 3272)
@@ -24,12 +24,12 @@
GR_SWIG_BLOCK_MAGIC(trellis,@BASE_NAME@);
address@hidden@ address@hidden@ (const fsm &FSM, const int ST);
address@hidden@ address@hidden@ (const fsm &FSM, int ST);
class @NAME@ : public gr_sync_block
{
private:
- @NAME@ (const fsm &FSM, const int ST);
+ @NAME@ (const fsm &FSM, int ST);
public:
fsm FSM () const { return d_FSM; }
int ST () const { return d_ST; }
Modified:
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_encoder_bb.cc
===================================================================
---
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_encoder_bb.cc
2006-08-14 02:19:14 UTC (rev 3271)
+++
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_encoder_bb.cc
2006-08-14 02:58:42 UTC (rev 3272)
@@ -29,12 +29,12 @@
#include <iostream>
trellis_encoder_bb_sptr
-trellis_make_encoder_bb (const fsm &FSM, const int ST)
+trellis_make_encoder_bb (const fsm &FSM, int ST)
{
return trellis_encoder_bb_sptr (new trellis_encoder_bb (FSM,ST));
}
-trellis_encoder_bb::trellis_encoder_bb (const fsm &FSM, const int ST)
+trellis_encoder_bb::trellis_encoder_bb (const fsm &FSM, int ST)
: gr_sync_block ("encoder_bb",
gr_make_io_signature (1, -1, sizeof (unsigned char)),
gr_make_io_signature (1, -1, sizeof (unsigned char))),
@@ -50,27 +50,25 @@
gr_vector_const_void_star &input_items,
gr_vector_void_star &output_items)
{
- int d_ST_tmp;
+ int ST_tmp;
assert (input_items.size() == output_items.size());
int nstreams = input_items.size();
-for (int m=0;m<nstreams;m++) {
- const unsigned char *in = (const unsigned char *) input_items[m];
- unsigned char *out = (unsigned char *) output_items[m];
- d_ST_tmp = d_ST;
+ for (int m=0;m<nstreams;m++) {
+ const unsigned char *in = (const unsigned char *) input_items[m];
+ unsigned char *out = (unsigned char *) output_items[m];
+ ST_tmp = d_ST;
-// per stream processing
-
- for (int i = 0; i < noutput_items; i++){
- out[i] = (unsigned char) d_FSM.OS()[d_ST_tmp*d_FSM.I()+in[i]]; //
direction of time?
- d_ST_tmp = (int) d_FSM.NS()[d_ST_tmp*d_FSM.I()+in[i]];
+ // per stream processing
+ for (int i = 0; i < noutput_items; i++){
+ out[i] = (unsigned char) d_FSM.OS()[ST_tmp*d_FSM.I()+in[i]]; //
direction of time?
+ ST_tmp = (int) d_FSM.NS()[ST_tmp*d_FSM.I()+in[i]];
+ }
+ // end per stream processing
}
+ d_ST = ST_tmp;
-// end per stream processing
-}
- d_ST = d_ST_tmp;
-
return noutput_items;
}
Modified:
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_encoder_bb.h
===================================================================
---
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_encoder_bb.h
2006-08-14 02:19:14 UTC (rev 3271)
+++
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_encoder_bb.h
2006-08-14 02:58:42 UTC (rev 3272)
@@ -31,7 +31,7 @@
class trellis_encoder_bb;
typedef boost::shared_ptr<trellis_encoder_bb> trellis_encoder_bb_sptr;
-trellis_encoder_bb_sptr trellis_make_encoder_bb (const fsm &FSM, const int ST);
+trellis_encoder_bb_sptr trellis_make_encoder_bb (const fsm &FSM, int ST);
/*!
* \brief Convolutional encoder.
@@ -42,10 +42,10 @@
class trellis_encoder_bb : public gr_sync_block
{
private:
- friend trellis_encoder_bb_sptr trellis_make_encoder_bb (const fsm &FSM,
const int ST);
+ friend trellis_encoder_bb_sptr trellis_make_encoder_bb (const fsm &FSM, int
ST);
fsm d_FSM;
int d_ST;
- trellis_encoder_bb (const fsm &FSM, const int ST);
+ trellis_encoder_bb (const fsm &FSM, int ST);
public:
fsm FSM () const { return d_FSM; }
Modified:
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_encoder_bb.i
===================================================================
---
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_encoder_bb.i
2006-08-14 02:19:14 UTC (rev 3271)
+++
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_encoder_bb.i
2006-08-14 02:58:42 UTC (rev 3272)
@@ -24,12 +24,12 @@
GR_SWIG_BLOCK_MAGIC(trellis,encoder_bb);
-trellis_encoder_bb_sptr trellis_make_encoder_bb (const fsm &FSM, const int ST);
+trellis_encoder_bb_sptr trellis_make_encoder_bb (const fsm &FSM, int ST);
class trellis_encoder_bb : public gr_sync_block
{
private:
- trellis_encoder_bb (const fsm &FSM, const int ST);
+ trellis_encoder_bb (const fsm &FSM, int ST);
public:
fsm FSM () const { return d_FSM; }
int ST () const { return d_ST; }
Modified:
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_encoder_bi.cc
===================================================================
---
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_encoder_bi.cc
2006-08-14 02:19:14 UTC (rev 3271)
+++
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_encoder_bi.cc
2006-08-14 02:58:42 UTC (rev 3272)
@@ -29,12 +29,12 @@
#include <iostream>
trellis_encoder_bi_sptr
-trellis_make_encoder_bi (const fsm &FSM, const int ST)
+trellis_make_encoder_bi (const fsm &FSM, int ST)
{
return trellis_encoder_bi_sptr (new trellis_encoder_bi (FSM,ST));
}
-trellis_encoder_bi::trellis_encoder_bi (const fsm &FSM, const int ST)
+trellis_encoder_bi::trellis_encoder_bi (const fsm &FSM, int ST)
: gr_sync_block ("encoder_bi",
gr_make_io_signature (1, -1, sizeof (unsigned char)),
gr_make_io_signature (1, -1, sizeof (int))),
@@ -50,27 +50,25 @@
gr_vector_const_void_star &input_items,
gr_vector_void_star &output_items)
{
- int d_ST_tmp;
+ int ST_tmp;
assert (input_items.size() == output_items.size());
int nstreams = input_items.size();
-for (int m=0;m<nstreams;m++) {
- const unsigned char *in = (const unsigned char *) input_items[m];
- int *out = (int *) output_items[m];
- d_ST_tmp = d_ST;
+ for (int m=0;m<nstreams;m++) {
+ const unsigned char *in = (const unsigned char *) input_items[m];
+ int *out = (int *) output_items[m];
+ ST_tmp = d_ST;
-// per stream processing
-
- for (int i = 0; i < noutput_items; i++){
- out[i] = (int) d_FSM.OS()[d_ST_tmp*d_FSM.I()+in[i]]; // direction of time?
- d_ST_tmp = (int) d_FSM.NS()[d_ST_tmp*d_FSM.I()+in[i]];
+ // per stream processing
+ for (int i = 0; i < noutput_items; i++){
+ out[i] = (int) d_FSM.OS()[ST_tmp*d_FSM.I()+in[i]]; // direction of time?
+ ST_tmp = (int) d_FSM.NS()[ST_tmp*d_FSM.I()+in[i]];
+ }
+ // end per stream processing
}
+ d_ST = ST_tmp;
-// end per stream processing
-}
- d_ST = d_ST_tmp;
-
return noutput_items;
}
Modified:
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_encoder_bi.h
===================================================================
---
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_encoder_bi.h
2006-08-14 02:19:14 UTC (rev 3271)
+++
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_encoder_bi.h
2006-08-14 02:58:42 UTC (rev 3272)
@@ -31,7 +31,7 @@
class trellis_encoder_bi;
typedef boost::shared_ptr<trellis_encoder_bi> trellis_encoder_bi_sptr;
-trellis_encoder_bi_sptr trellis_make_encoder_bi (const fsm &FSM, const int ST);
+trellis_encoder_bi_sptr trellis_make_encoder_bi (const fsm &FSM, int ST);
/*!
* \brief Convolutional encoder.
@@ -42,10 +42,10 @@
class trellis_encoder_bi : public gr_sync_block
{
private:
- friend trellis_encoder_bi_sptr trellis_make_encoder_bi (const fsm &FSM,
const int ST);
+ friend trellis_encoder_bi_sptr trellis_make_encoder_bi (const fsm &FSM, int
ST);
fsm d_FSM;
int d_ST;
- trellis_encoder_bi (const fsm &FSM, const int ST);
+ trellis_encoder_bi (const fsm &FSM, int ST);
public:
fsm FSM () const { return d_FSM; }
Modified:
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_encoder_bi.i
===================================================================
---
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_encoder_bi.i
2006-08-14 02:19:14 UTC (rev 3271)
+++
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_encoder_bi.i
2006-08-14 02:58:42 UTC (rev 3272)
@@ -24,12 +24,12 @@
GR_SWIG_BLOCK_MAGIC(trellis,encoder_bi);
-trellis_encoder_bi_sptr trellis_make_encoder_bi (const fsm &FSM, const int ST);
+trellis_encoder_bi_sptr trellis_make_encoder_bi (const fsm &FSM, int ST);
class trellis_encoder_bi : public gr_sync_block
{
private:
- trellis_encoder_bi (const fsm &FSM, const int ST);
+ trellis_encoder_bi (const fsm &FSM, int ST);
public:
fsm FSM () const { return d_FSM; }
int ST () const { return d_ST; }
Modified:
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_encoder_bs.cc
===================================================================
---
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_encoder_bs.cc
2006-08-14 02:19:14 UTC (rev 3271)
+++
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_encoder_bs.cc
2006-08-14 02:58:42 UTC (rev 3272)
@@ -29,12 +29,12 @@
#include <iostream>
trellis_encoder_bs_sptr
-trellis_make_encoder_bs (const fsm &FSM, const int ST)
+trellis_make_encoder_bs (const fsm &FSM, int ST)
{
return trellis_encoder_bs_sptr (new trellis_encoder_bs (FSM,ST));
}
-trellis_encoder_bs::trellis_encoder_bs (const fsm &FSM, const int ST)
+trellis_encoder_bs::trellis_encoder_bs (const fsm &FSM, int ST)
: gr_sync_block ("encoder_bs",
gr_make_io_signature (1, -1, sizeof (unsigned char)),
gr_make_io_signature (1, -1, sizeof (short))),
@@ -50,27 +50,25 @@
gr_vector_const_void_star &input_items,
gr_vector_void_star &output_items)
{
- int d_ST_tmp;
+ int ST_tmp;
assert (input_items.size() == output_items.size());
int nstreams = input_items.size();
-for (int m=0;m<nstreams;m++) {
- const unsigned char *in = (const unsigned char *) input_items[m];
- short *out = (short *) output_items[m];
- d_ST_tmp = d_ST;
+ for (int m=0;m<nstreams;m++) {
+ const unsigned char *in = (const unsigned char *) input_items[m];
+ short *out = (short *) output_items[m];
+ ST_tmp = d_ST;
-// per stream processing
-
- for (int i = 0; i < noutput_items; i++){
- out[i] = (short) d_FSM.OS()[d_ST_tmp*d_FSM.I()+in[i]]; // direction of
time?
- d_ST_tmp = (int) d_FSM.NS()[d_ST_tmp*d_FSM.I()+in[i]];
+ // per stream processing
+ for (int i = 0; i < noutput_items; i++){
+ out[i] = (short) d_FSM.OS()[ST_tmp*d_FSM.I()+in[i]]; // direction of
time?
+ ST_tmp = (int) d_FSM.NS()[ST_tmp*d_FSM.I()+in[i]];
+ }
+ // end per stream processing
}
+ d_ST = ST_tmp;
-// end per stream processing
-}
- d_ST = d_ST_tmp;
-
return noutput_items;
}
Modified:
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_encoder_bs.h
===================================================================
---
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_encoder_bs.h
2006-08-14 02:19:14 UTC (rev 3271)
+++
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_encoder_bs.h
2006-08-14 02:58:42 UTC (rev 3272)
@@ -31,7 +31,7 @@
class trellis_encoder_bs;
typedef boost::shared_ptr<trellis_encoder_bs> trellis_encoder_bs_sptr;
-trellis_encoder_bs_sptr trellis_make_encoder_bs (const fsm &FSM, const int ST);
+trellis_encoder_bs_sptr trellis_make_encoder_bs (const fsm &FSM, int ST);
/*!
* \brief Convolutional encoder.
@@ -42,10 +42,10 @@
class trellis_encoder_bs : public gr_sync_block
{
private:
- friend trellis_encoder_bs_sptr trellis_make_encoder_bs (const fsm &FSM,
const int ST);
+ friend trellis_encoder_bs_sptr trellis_make_encoder_bs (const fsm &FSM, int
ST);
fsm d_FSM;
int d_ST;
- trellis_encoder_bs (const fsm &FSM, const int ST);
+ trellis_encoder_bs (const fsm &FSM, int ST);
public:
fsm FSM () const { return d_FSM; }
Modified:
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_encoder_bs.i
===================================================================
---
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_encoder_bs.i
2006-08-14 02:19:14 UTC (rev 3271)
+++
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_encoder_bs.i
2006-08-14 02:58:42 UTC (rev 3272)
@@ -24,12 +24,12 @@
GR_SWIG_BLOCK_MAGIC(trellis,encoder_bs);
-trellis_encoder_bs_sptr trellis_make_encoder_bs (const fsm &FSM, const int ST);
+trellis_encoder_bs_sptr trellis_make_encoder_bs (const fsm &FSM, int ST);
class trellis_encoder_bs : public gr_sync_block
{
private:
- trellis_encoder_bs (const fsm &FSM, const int ST);
+ trellis_encoder_bs (const fsm &FSM, int ST);
public:
fsm FSM () const { return d_FSM; }
int ST () const { return d_ST; }
Modified:
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_encoder_ii.cc
===================================================================
---
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_encoder_ii.cc
2006-08-14 02:19:14 UTC (rev 3271)
+++
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_encoder_ii.cc
2006-08-14 02:58:42 UTC (rev 3272)
@@ -29,12 +29,12 @@
#include <iostream>
trellis_encoder_ii_sptr
-trellis_make_encoder_ii (const fsm &FSM, const int ST)
+trellis_make_encoder_ii (const fsm &FSM, int ST)
{
return trellis_encoder_ii_sptr (new trellis_encoder_ii (FSM,ST));
}
-trellis_encoder_ii::trellis_encoder_ii (const fsm &FSM, const int ST)
+trellis_encoder_ii::trellis_encoder_ii (const fsm &FSM, int ST)
: gr_sync_block ("encoder_ii",
gr_make_io_signature (1, -1, sizeof (int)),
gr_make_io_signature (1, -1, sizeof (int))),
@@ -50,27 +50,25 @@
gr_vector_const_void_star &input_items,
gr_vector_void_star &output_items)
{
- int d_ST_tmp;
+ int ST_tmp;
assert (input_items.size() == output_items.size());
int nstreams = input_items.size();
-for (int m=0;m<nstreams;m++) {
- const int *in = (const int *) input_items[m];
- int *out = (int *) output_items[m];
- d_ST_tmp = d_ST;
+ for (int m=0;m<nstreams;m++) {
+ const int *in = (const int *) input_items[m];
+ int *out = (int *) output_items[m];
+ ST_tmp = d_ST;
-// per stream processing
-
- for (int i = 0; i < noutput_items; i++){
- out[i] = (int) d_FSM.OS()[d_ST_tmp*d_FSM.I()+in[i]]; // direction of time?
- d_ST_tmp = (int) d_FSM.NS()[d_ST_tmp*d_FSM.I()+in[i]];
+ // per stream processing
+ for (int i = 0; i < noutput_items; i++){
+ out[i] = (int) d_FSM.OS()[ST_tmp*d_FSM.I()+in[i]]; // direction of time?
+ ST_tmp = (int) d_FSM.NS()[ST_tmp*d_FSM.I()+in[i]];
+ }
+ // end per stream processing
}
+ d_ST = ST_tmp;
-// end per stream processing
-}
- d_ST = d_ST_tmp;
-
return noutput_items;
}
Modified:
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_encoder_ii.h
===================================================================
---
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_encoder_ii.h
2006-08-14 02:19:14 UTC (rev 3271)
+++
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_encoder_ii.h
2006-08-14 02:58:42 UTC (rev 3272)
@@ -31,7 +31,7 @@
class trellis_encoder_ii;
typedef boost::shared_ptr<trellis_encoder_ii> trellis_encoder_ii_sptr;
-trellis_encoder_ii_sptr trellis_make_encoder_ii (const fsm &FSM, const int ST);
+trellis_encoder_ii_sptr trellis_make_encoder_ii (const fsm &FSM, int ST);
/*!
* \brief Convolutional encoder.
@@ -42,10 +42,10 @@
class trellis_encoder_ii : public gr_sync_block
{
private:
- friend trellis_encoder_ii_sptr trellis_make_encoder_ii (const fsm &FSM,
const int ST);
+ friend trellis_encoder_ii_sptr trellis_make_encoder_ii (const fsm &FSM, int
ST);
fsm d_FSM;
int d_ST;
- trellis_encoder_ii (const fsm &FSM, const int ST);
+ trellis_encoder_ii (const fsm &FSM, int ST);
public:
fsm FSM () const { return d_FSM; }
Modified:
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_encoder_ii.i
===================================================================
---
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_encoder_ii.i
2006-08-14 02:19:14 UTC (rev 3271)
+++
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_encoder_ii.i
2006-08-14 02:58:42 UTC (rev 3272)
@@ -24,12 +24,12 @@
GR_SWIG_BLOCK_MAGIC(trellis,encoder_ii);
-trellis_encoder_ii_sptr trellis_make_encoder_ii (const fsm &FSM, const int ST);
+trellis_encoder_ii_sptr trellis_make_encoder_ii (const fsm &FSM, int ST);
class trellis_encoder_ii : public gr_sync_block
{
private:
- trellis_encoder_ii (const fsm &FSM, const int ST);
+ trellis_encoder_ii (const fsm &FSM, int ST);
public:
fsm FSM () const { return d_FSM; }
int ST () const { return d_ST; }
Modified:
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_encoder_si.cc
===================================================================
---
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_encoder_si.cc
2006-08-14 02:19:14 UTC (rev 3271)
+++
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_encoder_si.cc
2006-08-14 02:58:42 UTC (rev 3272)
@@ -29,12 +29,12 @@
#include <iostream>
trellis_encoder_si_sptr
-trellis_make_encoder_si (const fsm &FSM, const int ST)
+trellis_make_encoder_si (const fsm &FSM, int ST)
{
return trellis_encoder_si_sptr (new trellis_encoder_si (FSM,ST));
}
-trellis_encoder_si::trellis_encoder_si (const fsm &FSM, const int ST)
+trellis_encoder_si::trellis_encoder_si (const fsm &FSM, int ST)
: gr_sync_block ("encoder_si",
gr_make_io_signature (1, -1, sizeof (short)),
gr_make_io_signature (1, -1, sizeof (int))),
@@ -50,27 +50,25 @@
gr_vector_const_void_star &input_items,
gr_vector_void_star &output_items)
{
- int d_ST_tmp;
+ int ST_tmp;
assert (input_items.size() == output_items.size());
int nstreams = input_items.size();
-for (int m=0;m<nstreams;m++) {
- const short *in = (const short *) input_items[m];
- int *out = (int *) output_items[m];
- d_ST_tmp = d_ST;
+ for (int m=0;m<nstreams;m++) {
+ const short *in = (const short *) input_items[m];
+ int *out = (int *) output_items[m];
+ ST_tmp = d_ST;
-// per stream processing
-
- for (int i = 0; i < noutput_items; i++){
- out[i] = (int) d_FSM.OS()[d_ST_tmp*d_FSM.I()+in[i]]; // direction of time?
- d_ST_tmp = (int) d_FSM.NS()[d_ST_tmp*d_FSM.I()+in[i]];
+ // per stream processing
+ for (int i = 0; i < noutput_items; i++){
+ out[i] = (int) d_FSM.OS()[ST_tmp*d_FSM.I()+in[i]]; // direction of time?
+ ST_tmp = (int) d_FSM.NS()[ST_tmp*d_FSM.I()+in[i]];
+ }
+ // end per stream processing
}
+ d_ST = ST_tmp;
-// end per stream processing
-}
- d_ST = d_ST_tmp;
-
return noutput_items;
}
Modified:
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_encoder_si.h
===================================================================
---
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_encoder_si.h
2006-08-14 02:19:14 UTC (rev 3271)
+++
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_encoder_si.h
2006-08-14 02:58:42 UTC (rev 3272)
@@ -31,7 +31,7 @@
class trellis_encoder_si;
typedef boost::shared_ptr<trellis_encoder_si> trellis_encoder_si_sptr;
-trellis_encoder_si_sptr trellis_make_encoder_si (const fsm &FSM, const int ST);
+trellis_encoder_si_sptr trellis_make_encoder_si (const fsm &FSM, int ST);
/*!
* \brief Convolutional encoder.
@@ -42,10 +42,10 @@
class trellis_encoder_si : public gr_sync_block
{
private:
- friend trellis_encoder_si_sptr trellis_make_encoder_si (const fsm &FSM,
const int ST);
+ friend trellis_encoder_si_sptr trellis_make_encoder_si (const fsm &FSM, int
ST);
fsm d_FSM;
int d_ST;
- trellis_encoder_si (const fsm &FSM, const int ST);
+ trellis_encoder_si (const fsm &FSM, int ST);
public:
fsm FSM () const { return d_FSM; }
Modified:
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_encoder_si.i
===================================================================
---
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_encoder_si.i
2006-08-14 02:19:14 UTC (rev 3271)
+++
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_encoder_si.i
2006-08-14 02:58:42 UTC (rev 3272)
@@ -24,12 +24,12 @@
GR_SWIG_BLOCK_MAGIC(trellis,encoder_si);
-trellis_encoder_si_sptr trellis_make_encoder_si (const fsm &FSM, const int ST);
+trellis_encoder_si_sptr trellis_make_encoder_si (const fsm &FSM, int ST);
class trellis_encoder_si : public gr_sync_block
{
private:
- trellis_encoder_si (const fsm &FSM, const int ST);
+ trellis_encoder_si (const fsm &FSM, int ST);
public:
fsm FSM () const { return d_FSM; }
int ST () const { return d_ST; }
Modified:
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_encoder_ss.cc
===================================================================
---
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_encoder_ss.cc
2006-08-14 02:19:14 UTC (rev 3271)
+++
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_encoder_ss.cc
2006-08-14 02:58:42 UTC (rev 3272)
@@ -29,12 +29,12 @@
#include <iostream>
trellis_encoder_ss_sptr
-trellis_make_encoder_ss (const fsm &FSM, const int ST)
+trellis_make_encoder_ss (const fsm &FSM, int ST)
{
return trellis_encoder_ss_sptr (new trellis_encoder_ss (FSM,ST));
}
-trellis_encoder_ss::trellis_encoder_ss (const fsm &FSM, const int ST)
+trellis_encoder_ss::trellis_encoder_ss (const fsm &FSM, int ST)
: gr_sync_block ("encoder_ss",
gr_make_io_signature (1, -1, sizeof (short)),
gr_make_io_signature (1, -1, sizeof (short))),
@@ -50,27 +50,25 @@
gr_vector_const_void_star &input_items,
gr_vector_void_star &output_items)
{
- int d_ST_tmp;
+ int ST_tmp;
assert (input_items.size() == output_items.size());
int nstreams = input_items.size();
-for (int m=0;m<nstreams;m++) {
- const short *in = (const short *) input_items[m];
- short *out = (short *) output_items[m];
- d_ST_tmp = d_ST;
+ for (int m=0;m<nstreams;m++) {
+ const short *in = (const short *) input_items[m];
+ short *out = (short *) output_items[m];
+ ST_tmp = d_ST;
-// per stream processing
-
- for (int i = 0; i < noutput_items; i++){
- out[i] = (short) d_FSM.OS()[d_ST_tmp*d_FSM.I()+in[i]]; // direction of
time?
- d_ST_tmp = (int) d_FSM.NS()[d_ST_tmp*d_FSM.I()+in[i]];
+ // per stream processing
+ for (int i = 0; i < noutput_items; i++){
+ out[i] = (short) d_FSM.OS()[ST_tmp*d_FSM.I()+in[i]]; // direction of
time?
+ ST_tmp = (int) d_FSM.NS()[ST_tmp*d_FSM.I()+in[i]];
+ }
+ // end per stream processing
}
+ d_ST = ST_tmp;
-// end per stream processing
-}
- d_ST = d_ST_tmp;
-
return noutput_items;
}
Modified:
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_encoder_ss.h
===================================================================
---
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_encoder_ss.h
2006-08-14 02:19:14 UTC (rev 3271)
+++
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_encoder_ss.h
2006-08-14 02:58:42 UTC (rev 3272)
@@ -31,7 +31,7 @@
class trellis_encoder_ss;
typedef boost::shared_ptr<trellis_encoder_ss> trellis_encoder_ss_sptr;
-trellis_encoder_ss_sptr trellis_make_encoder_ss (const fsm &FSM, const int ST);
+trellis_encoder_ss_sptr trellis_make_encoder_ss (const fsm &FSM, int ST);
/*!
* \brief Convolutional encoder.
@@ -42,10 +42,10 @@
class trellis_encoder_ss : public gr_sync_block
{
private:
- friend trellis_encoder_ss_sptr trellis_make_encoder_ss (const fsm &FSM,
const int ST);
+ friend trellis_encoder_ss_sptr trellis_make_encoder_ss (const fsm &FSM, int
ST);
fsm d_FSM;
int d_ST;
- trellis_encoder_ss (const fsm &FSM, const int ST);
+ trellis_encoder_ss (const fsm &FSM, int ST);
public:
fsm FSM () const { return d_FSM; }
Modified:
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_encoder_ss.i
===================================================================
---
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_encoder_ss.i
2006-08-14 02:19:14 UTC (rev 3271)
+++
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_encoder_ss.i
2006-08-14 02:58:42 UTC (rev 3272)
@@ -24,12 +24,12 @@
GR_SWIG_BLOCK_MAGIC(trellis,encoder_ss);
-trellis_encoder_ss_sptr trellis_make_encoder_ss (const fsm &FSM, const int ST);
+trellis_encoder_ss_sptr trellis_make_encoder_ss (const fsm &FSM, int ST);
class trellis_encoder_ss : public gr_sync_block
{
private:
- trellis_encoder_ss (const fsm &FSM, const int ST);
+ trellis_encoder_ss (const fsm &FSM, int ST);
public:
fsm FSM () const { return d_FSM; }
int ST () const { return d_ST; }
Modified:
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_metrics_X.cc.t
===================================================================
---
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_metrics_X.cc.t
2006-08-14 02:19:14 UTC (rev 3271)
+++
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_metrics_X.cc.t
2006-08-14 02:58:42 UTC (rev 3272)
@@ -32,14 +32,14 @@
@SPTR_NAME@
address@hidden@ (const int O, const int D, const std::vector<@I_TYPE@> &TABLE,
trellis_metric_type_t TYPE)
address@hidden@ (int O, int D, const std::vector<@I_TYPE@> &TABLE,
trellis_metric_type_t TYPE)
{
return @SPTR_NAME@ (new @NAME@ (O,D,TABLE,TYPE));
}
address@hidden@::@NAME@ (const int O, const int D, const std::vector<@I_TYPE@>
&TABLE, trellis_metric_type_t TYPE)
address@hidden@::@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))),
Modified:
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_metrics_X.h.t
===================================================================
---
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_metrics_X.h.t
2006-08-14 02:19:14 UTC (rev 3271)
+++
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_metrics_X.h.t
2006-08-14 02:58:42 UTC (rev 3272)
@@ -31,7 +31,7 @@
class @NAME@;
typedef boost::shared_ptr<@NAME@> @SPTR_NAME@;
address@hidden@ address@hidden@ (const int O, const int D, const
std::vector<@I_TYPE@> &TABLE, trellis_metric_type_t TYPE);
address@hidden@ address@hidden@ (int O, int D, const std::vector<@I_TYPE@>
&TABLE, trellis_metric_type_t TYPE);
/*!
* \brief Evaluate metrics for use by the Viterbi algorithm.
@@ -45,8 +45,8 @@
trellis_metric_type_t d_TYPE;
std::vector<@I_TYPE@> d_TABLE;
- friend @SPTR_NAME@ address@hidden@ (const int O, const int D, const
std::vector<@I_TYPE@> &TABLE, trellis_metric_type_t TYPE);
- @NAME@ (const int O, const int D, const std::vector<@I_TYPE@> &TABLE,
trellis_metric_type_t TYPE);
+ friend @SPTR_NAME@ address@hidden@ (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);
public:
int O () const { return d_O; }
Modified:
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_metrics_X.i.t
===================================================================
---
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_metrics_X.i.t
2006-08-14 02:19:14 UTC (rev 3271)
+++
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_metrics_X.i.t
2006-08-14 02:58:42 UTC (rev 3272)
@@ -24,12 +24,12 @@
GR_SWIG_BLOCK_MAGIC(trellis,@BASE_NAME@);
address@hidden@ address@hidden@ (const int O, const int D, const
std::vector<@I_TYPE@> &TABLE, trellis_metric_type_t TYPE);
address@hidden@ address@hidden@ (int O, int D, const std::vector<@I_TYPE@>
&TABLE, trellis_metric_type_t TYPE);
class @NAME@ : public gr_block
{
private:
- @NAME@ (const int O, const 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);
public:
int O () const { return d_O; }
Modified:
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_metrics_c.cc
===================================================================
---
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_metrics_c.cc
2006-08-14 02:19:14 UTC (rev 3271)
+++
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_metrics_c.cc
2006-08-14 02:58:42 UTC (rev 3272)
@@ -32,14 +32,14 @@
trellis_metrics_c_sptr
-trellis_make_metrics_c (const int O, const int D, const
std::vector<gr_complex> &TABLE, trellis_metric_type_t TYPE)
+trellis_make_metrics_c (int O, int D, const std::vector<gr_complex> &TABLE,
trellis_metric_type_t TYPE)
{
return trellis_metrics_c_sptr (new trellis_metrics_c (O,D,TABLE,TYPE));
}
-trellis_metrics_c::trellis_metrics_c (const int O, const int D, const
std::vector<gr_complex> &TABLE, trellis_metric_type_t TYPE)
+trellis_metrics_c::trellis_metrics_c (int O, int D, const
std::vector<gr_complex> &TABLE, trellis_metric_type_t TYPE)
: gr_block ("metrics_c",
gr_make_io_signature (1, -1, sizeof (gr_complex)),
gr_make_io_signature (1, -1, sizeof (float))),
Modified:
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_metrics_c.h
===================================================================
---
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_metrics_c.h
2006-08-14 02:19:14 UTC (rev 3271)
+++
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_metrics_c.h
2006-08-14 02:58:42 UTC (rev 3272)
@@ -31,7 +31,7 @@
class trellis_metrics_c;
typedef boost::shared_ptr<trellis_metrics_c> trellis_metrics_c_sptr;
-trellis_metrics_c_sptr trellis_make_metrics_c (const int O, const int D,
const std::vector<gr_complex> &TABLE, trellis_metric_type_t TYPE);
+trellis_metrics_c_sptr trellis_make_metrics_c (int O, int D, const
std::vector<gr_complex> &TABLE, trellis_metric_type_t TYPE);
/*!
* \brief Evaluate metrics for use by the Viterbi algorithm.
@@ -45,8 +45,8 @@
trellis_metric_type_t d_TYPE;
std::vector<gr_complex> d_TABLE;
- friend trellis_metrics_c_sptr trellis_make_metrics_c (const int O, const int
D, const std::vector<gr_complex> &TABLE, trellis_metric_type_t TYPE);
- trellis_metrics_c (const int O, const int D, const std::vector<gr_complex>
&TABLE, trellis_metric_type_t TYPE);
+ friend trellis_metrics_c_sptr trellis_make_metrics_c (int O, int D, const
std::vector<gr_complex> &TABLE, trellis_metric_type_t TYPE);
+ trellis_metrics_c (int O, int D, const std::vector<gr_complex> &TABLE,
trellis_metric_type_t TYPE);
public:
int O () const { return d_O; }
Modified:
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_metrics_c.i
===================================================================
---
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_metrics_c.i
2006-08-14 02:19:14 UTC (rev 3271)
+++
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_metrics_c.i
2006-08-14 02:58:42 UTC (rev 3272)
@@ -24,12 +24,12 @@
GR_SWIG_BLOCK_MAGIC(trellis,metrics_c);
-trellis_metrics_c_sptr trellis_make_metrics_c (const int O, const int D, const
std::vector<gr_complex> &TABLE, trellis_metric_type_t TYPE);
+trellis_metrics_c_sptr trellis_make_metrics_c (int O, int D, const
std::vector<gr_complex> &TABLE, trellis_metric_type_t TYPE);
class trellis_metrics_c : public gr_block
{
private:
- trellis_metrics_c (const int O, const int D, const std::vector<gr_complex>
&TABLE, trellis_metric_type_t TYPE);
+ trellis_metrics_c (int O, int D, const std::vector<gr_complex> &TABLE,
trellis_metric_type_t TYPE);
public:
int O () const { return d_O; }
Modified:
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_metrics_f.cc
===================================================================
---
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_metrics_f.cc
2006-08-14 02:19:14 UTC (rev 3271)
+++
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_metrics_f.cc
2006-08-14 02:58:42 UTC (rev 3272)
@@ -32,14 +32,14 @@
trellis_metrics_f_sptr
-trellis_make_metrics_f (const int O, const int D, const std::vector<float>
&TABLE, trellis_metric_type_t TYPE)
+trellis_make_metrics_f (int O, int D, const std::vector<float> &TABLE,
trellis_metric_type_t TYPE)
{
return trellis_metrics_f_sptr (new trellis_metrics_f (O,D,TABLE,TYPE));
}
-trellis_metrics_f::trellis_metrics_f (const int O, const int D, const
std::vector<float> &TABLE, trellis_metric_type_t TYPE)
+trellis_metrics_f::trellis_metrics_f (int O, int D, const std::vector<float>
&TABLE, trellis_metric_type_t TYPE)
: gr_block ("metrics_f",
gr_make_io_signature (1, -1, sizeof (float)),
gr_make_io_signature (1, -1, sizeof (float))),
Modified:
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_metrics_f.h
===================================================================
---
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_metrics_f.h
2006-08-14 02:19:14 UTC (rev 3271)
+++
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_metrics_f.h
2006-08-14 02:58:42 UTC (rev 3272)
@@ -31,7 +31,7 @@
class trellis_metrics_f;
typedef boost::shared_ptr<trellis_metrics_f> trellis_metrics_f_sptr;
-trellis_metrics_f_sptr trellis_make_metrics_f (const int O, const int D,
const std::vector<float> &TABLE, trellis_metric_type_t TYPE);
+trellis_metrics_f_sptr trellis_make_metrics_f (int O, int D, const
std::vector<float> &TABLE, trellis_metric_type_t TYPE);
/*!
* \brief Evaluate metrics for use by the Viterbi algorithm.
@@ -45,8 +45,8 @@
trellis_metric_type_t d_TYPE;
std::vector<float> d_TABLE;
- friend trellis_metrics_f_sptr trellis_make_metrics_f (const int O, const int
D, const std::vector<float> &TABLE, trellis_metric_type_t TYPE);
- trellis_metrics_f (const int O, const int D, const std::vector<float>
&TABLE, trellis_metric_type_t TYPE);
+ friend trellis_metrics_f_sptr trellis_make_metrics_f (int O, int D, const
std::vector<float> &TABLE, trellis_metric_type_t TYPE);
+ trellis_metrics_f (int O, int D, const std::vector<float> &TABLE,
trellis_metric_type_t TYPE);
public:
int O () const { return d_O; }
Modified:
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_metrics_f.i
===================================================================
---
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_metrics_f.i
2006-08-14 02:19:14 UTC (rev 3271)
+++
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_metrics_f.i
2006-08-14 02:58:42 UTC (rev 3272)
@@ -24,12 +24,12 @@
GR_SWIG_BLOCK_MAGIC(trellis,metrics_f);
-trellis_metrics_f_sptr trellis_make_metrics_f (const int O, const int D, const
std::vector<float> &TABLE, trellis_metric_type_t TYPE);
+trellis_metrics_f_sptr trellis_make_metrics_f (int O, int D, const
std::vector<float> &TABLE, trellis_metric_type_t TYPE);
class trellis_metrics_f : public gr_block
{
private:
- trellis_metrics_f (const int O, const int D, const std::vector<float>
&TABLE, trellis_metric_type_t TYPE);
+ trellis_metrics_f (int O, int D, const std::vector<float> &TABLE,
trellis_metric_type_t TYPE);
public:
int O () const { return d_O; }
Modified:
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_metrics_i.cc
===================================================================
---
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_metrics_i.cc
2006-08-14 02:19:14 UTC (rev 3271)
+++
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_metrics_i.cc
2006-08-14 02:58:42 UTC (rev 3272)
@@ -32,14 +32,14 @@
trellis_metrics_i_sptr
-trellis_make_metrics_i (const int O, const int D, const std::vector<int>
&TABLE, trellis_metric_type_t TYPE)
+trellis_make_metrics_i (int O, int D, const std::vector<int> &TABLE,
trellis_metric_type_t TYPE)
{
return trellis_metrics_i_sptr (new trellis_metrics_i (O,D,TABLE,TYPE));
}
-trellis_metrics_i::trellis_metrics_i (const int O, const int D, const
std::vector<int> &TABLE, trellis_metric_type_t TYPE)
+trellis_metrics_i::trellis_metrics_i (int O, int D, const std::vector<int>
&TABLE, trellis_metric_type_t TYPE)
: gr_block ("metrics_i",
gr_make_io_signature (1, -1, sizeof (int)),
gr_make_io_signature (1, -1, sizeof (float))),
Modified:
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_metrics_i.h
===================================================================
---
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_metrics_i.h
2006-08-14 02:19:14 UTC (rev 3271)
+++
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_metrics_i.h
2006-08-14 02:58:42 UTC (rev 3272)
@@ -31,7 +31,7 @@
class trellis_metrics_i;
typedef boost::shared_ptr<trellis_metrics_i> trellis_metrics_i_sptr;
-trellis_metrics_i_sptr trellis_make_metrics_i (const int O, const int D,
const std::vector<int> &TABLE, trellis_metric_type_t TYPE);
+trellis_metrics_i_sptr trellis_make_metrics_i (int O, int D, const
std::vector<int> &TABLE, trellis_metric_type_t TYPE);
/*!
* \brief Evaluate metrics for use by the Viterbi algorithm.
@@ -45,8 +45,8 @@
trellis_metric_type_t d_TYPE;
std::vector<int> d_TABLE;
- friend trellis_metrics_i_sptr trellis_make_metrics_i (const int O, const int
D, const std::vector<int> &TABLE, trellis_metric_type_t TYPE);
- trellis_metrics_i (const int O, const int D, const std::vector<int> &TABLE,
trellis_metric_type_t TYPE);
+ friend trellis_metrics_i_sptr trellis_make_metrics_i (int O, int D, const
std::vector<int> &TABLE, trellis_metric_type_t TYPE);
+ trellis_metrics_i (int O, int D, const std::vector<int> &TABLE,
trellis_metric_type_t TYPE);
public:
int O () const { return d_O; }
Modified:
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_metrics_i.i
===================================================================
---
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_metrics_i.i
2006-08-14 02:19:14 UTC (rev 3271)
+++
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_metrics_i.i
2006-08-14 02:58:42 UTC (rev 3272)
@@ -24,12 +24,12 @@
GR_SWIG_BLOCK_MAGIC(trellis,metrics_i);
-trellis_metrics_i_sptr trellis_make_metrics_i (const int O, const int D, const
std::vector<int> &TABLE, trellis_metric_type_t TYPE);
+trellis_metrics_i_sptr trellis_make_metrics_i (int O, int D, const
std::vector<int> &TABLE, trellis_metric_type_t TYPE);
class trellis_metrics_i : public gr_block
{
private:
- trellis_metrics_i (const int O, const int D, const std::vector<int> &TABLE,
trellis_metric_type_t TYPE);
+ trellis_metrics_i (int O, int D, const std::vector<int> &TABLE,
trellis_metric_type_t TYPE);
public:
int O () const { return d_O; }
Modified:
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_metrics_s.cc
===================================================================
---
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_metrics_s.cc
2006-08-14 02:19:14 UTC (rev 3271)
+++
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_metrics_s.cc
2006-08-14 02:58:42 UTC (rev 3272)
@@ -32,14 +32,14 @@
trellis_metrics_s_sptr
-trellis_make_metrics_s (const int O, const int D, const std::vector<short>
&TABLE, trellis_metric_type_t TYPE)
+trellis_make_metrics_s (int O, int D, const std::vector<short> &TABLE,
trellis_metric_type_t TYPE)
{
return trellis_metrics_s_sptr (new trellis_metrics_s (O,D,TABLE,TYPE));
}
-trellis_metrics_s::trellis_metrics_s (const int O, const int D, const
std::vector<short> &TABLE, trellis_metric_type_t TYPE)
+trellis_metrics_s::trellis_metrics_s (int O, int D, const std::vector<short>
&TABLE, trellis_metric_type_t TYPE)
: gr_block ("metrics_s",
gr_make_io_signature (1, -1, sizeof (short)),
gr_make_io_signature (1, -1, sizeof (float))),
Modified:
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_metrics_s.h
===================================================================
---
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_metrics_s.h
2006-08-14 02:19:14 UTC (rev 3271)
+++
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_metrics_s.h
2006-08-14 02:58:42 UTC (rev 3272)
@@ -31,7 +31,7 @@
class trellis_metrics_s;
typedef boost::shared_ptr<trellis_metrics_s> trellis_metrics_s_sptr;
-trellis_metrics_s_sptr trellis_make_metrics_s (const int O, const int D,
const std::vector<short> &TABLE, trellis_metric_type_t TYPE);
+trellis_metrics_s_sptr trellis_make_metrics_s (int O, int D, const
std::vector<short> &TABLE, trellis_metric_type_t TYPE);
/*!
* \brief Evaluate metrics for use by the Viterbi algorithm.
@@ -45,8 +45,8 @@
trellis_metric_type_t d_TYPE;
std::vector<short> d_TABLE;
- friend trellis_metrics_s_sptr trellis_make_metrics_s (const int O, const int
D, const std::vector<short> &TABLE, trellis_metric_type_t TYPE);
- trellis_metrics_s (const int O, const int D, const std::vector<short>
&TABLE, trellis_metric_type_t TYPE);
+ friend trellis_metrics_s_sptr trellis_make_metrics_s (int O, int D, const
std::vector<short> &TABLE, trellis_metric_type_t TYPE);
+ trellis_metrics_s (int O, int D, const std::vector<short> &TABLE,
trellis_metric_type_t TYPE);
public:
int O () const { return d_O; }
Modified:
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_metrics_s.i
===================================================================
---
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_metrics_s.i
2006-08-14 02:19:14 UTC (rev 3271)
+++
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_metrics_s.i
2006-08-14 02:58:42 UTC (rev 3272)
@@ -24,12 +24,12 @@
GR_SWIG_BLOCK_MAGIC(trellis,metrics_s);
-trellis_metrics_s_sptr trellis_make_metrics_s (const int O, const int D, const
std::vector<short> &TABLE, trellis_metric_type_t TYPE);
+trellis_metrics_s_sptr trellis_make_metrics_s (int O, int D, const
std::vector<short> &TABLE, trellis_metric_type_t TYPE);
class trellis_metrics_s : public gr_block
{
private:
- trellis_metrics_s (const int O, const int D, const std::vector<short>
&TABLE, trellis_metric_type_t TYPE);
+ trellis_metrics_s (int O, int D, const std::vector<short> &TABLE,
trellis_metric_type_t TYPE);
public:
int O () const { return d_O; }
Modified:
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_permutation.cc
===================================================================
---
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_permutation.cc
2006-08-14 02:19:14 UTC (rev 3271)
+++
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_permutation.cc
2006-08-14 02:58:42 UTC (rev 3272)
@@ -29,20 +29,21 @@
#include <iostream>
trellis_permutation_sptr
-trellis_make_permutation (const int K, const std::vector<int> &TABLE, const
size_t NBYTES)
+trellis_make_permutation (int K, const std::vector<int> &TABLE, int
SYMS_PER_BLOCK, size_t NBYTES_INOUT)
{
- return trellis_permutation_sptr (new trellis_permutation (K,TABLE,NBYTES));
+ return trellis_permutation_sptr (new trellis_permutation
(K,TABLE,SYMS_PER_BLOCK,NBYTES_INOUT));
}
-trellis_permutation::trellis_permutation (const int K, const std::vector<int>
&TABLE, const size_t NBYTES)
+trellis_permutation::trellis_permutation (int K, const std::vector<int>
&TABLE, int SYMS_PER_BLOCK, size_t NBYTES_INOUT)
: gr_sync_block ("permutation",
- gr_make_io_signature (1, -1, NBYTES),
- gr_make_io_signature (1, -1, NBYTES)),
+ gr_make_io_signature (1, -1, NBYTES_INOUT),
+ gr_make_io_signature (1, -1, NBYTES_INOUT)),
d_K (K),
d_TABLE (TABLE),
- d_NBYTES (NBYTES)
+ d_SYMS_PER_BLOCK (SYMS_PER_BLOCK),
+ d_NBYTES_INOUT (NBYTES_INOUT)
{
- set_output_multiple (d_K);
+ set_output_multiple (d_K*SYMS_PER_BLOCK);
//std::cout << d_K << "\n";
}
@@ -56,16 +57,23 @@
int nstreams = input_items.size();
assert (input_items.size() == output_items.size());
assert (noutput_items % d_K ==0);
- //std::cout << noutput_items << "\n";
for (int m=0;m<nstreams;m++) {
const char *in = (const char *) input_items[m];
char *out = (char *) output_items[m];
// per stream processing
- for (unsigned int i = 0; i < noutput_items; i++){
- //std::cout << i << " " << i*d_NBYTES << " " <<
(d_K*(i/d_K)+d_TABLE[i%d_K])*d_NBYTES << "\n";
- memcpy(&(out[i*d_NBYTES]), &(in[(d_K*(i/d_K)+d_TABLE[i%d_K])*d_NBYTES]),
d_NBYTES);
+ for (int i = 0; i < noutput_items/d_SYMS_PER_BLOCK; i++){
+ // Index i refers to blocks.
+ // Begining of packet (in blocks)
+ int i0 = d_K*(i/d_K);
+ // position of block within packet (in blocks)
+ int j0 = i%d_K;
+ // new position of block within packet (in blocks)
+ int k0 = d_TABLE[j0];
+ memcpy(&(out[i*d_SYMS_PER_BLOCK*d_NBYTES_INOUT]),
+ &(in[(i0+k0)*d_SYMS_PER_BLOCK*d_NBYTES_INOUT]),
+ d_NBYTES_INOUT*d_SYMS_PER_BLOCK);
}
// end per stream processing
}
Modified:
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_permutation.h
===================================================================
---
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_permutation.h
2006-08-14 02:19:14 UTC (rev 3271)
+++
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_permutation.h
2006-08-14 02:58:42 UTC (rev 3272)
@@ -30,7 +30,7 @@
class trellis_permutation;
typedef boost::shared_ptr<trellis_permutation> trellis_permutation_sptr;
-trellis_permutation_sptr trellis_make_permutation (const int K, const
std::vector<int> &TABLE, const size_t NBYTES);
+trellis_permutation_sptr trellis_make_permutation (int K, const
std::vector<int> &TABLE, int SYMS_PER_BLOCK, size_t NBYTES_INOUT);
/*!
* \brief Permutation.
@@ -41,16 +41,18 @@
class trellis_permutation : public gr_sync_block
{
private:
- friend trellis_permutation_sptr trellis_make_permutation (const int K, const
std::vector<int> &TABLE, const size_t NBYTES);
+ friend trellis_permutation_sptr trellis_make_permutation (int K, const
std::vector<int> &TABLE, int SYMS_PER_BLOCK, size_t NBYTES_INOUT);
int d_K;
std::vector<int> d_TABLE;
- size_t d_NBYTES;
- trellis_permutation (const int K, const std::vector<int> &TABLE, const
size_t NBYTES);
+ int d_SYMS_PER_BLOCK;
+ size_t d_NBYTES_INOUT;
+ trellis_permutation (int K, const std::vector<int> &TABLE, int
SYMS_PER_BLOCK, size_t NBYTES);
public:
int K () const { return d_K; }
const std::vector<int> & TABLE () const { return d_TABLE; }
- size_t NBYTES () const { return d_NBYTES; }
+ int SYMS_PER_BLOCK () const { return d_SYMS_PER_BLOCK; }
+ size_t NBYTES_INOUT () const { return d_NBYTES_INOUT; }
int work (int noutput_items,
gr_vector_const_void_star &input_items,
Modified:
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_permutation.i
===================================================================
---
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_permutation.i
2006-08-14 02:19:14 UTC (rev 3271)
+++
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_permutation.i
2006-08-14 02:58:42 UTC (rev 3272)
@@ -22,18 +22,20 @@
GR_SWIG_BLOCK_MAGIC(trellis,permutation);
-trellis_permutation_sptr trellis_make_permutation (const int K, const
std::vector<int> &TABLE, const size_t NBYTES);
+trellis_permutation_sptr trellis_make_permutation (int K, const
std::vector<int> &TABLE, int SYMS_PER_BLOCK, size_t NBYTES_INOUT);
class trellis_permutation : public gr_sync_block
{
private:
int d_K;
std::vector<int> d_TABLE;
- size_t d_NBYTES;
- trellis_permutation (const int K, const std::vector<int> &TABLE, const
size_t NBYTES);
+ int d_SYMS_PER_BLOCK;
+ size_t d_NBYTES_INOUT;
+ trellis_permutation (int K, const std::vector<int> &TABLE, int
SYMS_PER_BLOCK, size_t NBYTES_INOUT);
public:
int K () const { return d_K; }
const std::vector<int> & TABLE () const { return d_TABLE; }
- size_t NBYTES () const { return d_NBYTES; }
+ int SYMS_PER_BLOCK () const { return d_SYMS_PER_BLOCK; }
+ size_t NBYTES_INOUT () const { return d_NBYTES_INOUT; }
};
Modified:
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_X.cc.t
===================================================================
---
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_X.cc.t
2006-08-14 02:19:14 UTC (rev 3271)
+++
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_X.cc.t
2006-08-14 02:58:42 UTC (rev 3272)
@@ -34,18 +34,18 @@
@SPTR_NAME@
address@hidden@ (
const fsm &FSM,
- const int K,
- const int S0,
- const int SK)
+ int K,
+ int S0,
+ int SK)
{
return @SPTR_NAME@ (new @NAME@ (FSM,K,S0,SK));
}
@NAME@::@NAME@ (
const fsm &FSM,
- const int K,
- const int S0,
- const int SK)
+ int K,
+ int S0,
+ int SK)
: gr_block ("@BASE_NAME@",
gr_make_io_signature (1, -1, sizeof (float)),
gr_make_io_signature (1, -1, sizeof (@TYPE@))),
@@ -74,13 +74,13 @@
-void viterbi_algorithm(const int I, const int S, const int O,
+void viterbi_algorithm(int I, int S, int O,
const std::vector<int> &NS,
const std::vector<int> &OS,
const std::vector<int> &PS,
const std::vector<int> &PI,
- const int K,
- const int S0,const int SK,
+ int K,
+ int S0,int SK,
const float *in, @TYPE@ *out,
std::vector<int> &trace)
{
Modified:
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_X.h.t
===================================================================
---
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_X.h.t
2006-08-14 02:19:14 UTC (rev 3271)
+++
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_X.h.t
2006-08-14 02:58:42 UTC (rev 3272)
@@ -33,9 +33,9 @@
@SPTR_NAME@ address@hidden@ (
const fsm &FSM,
- const int K,
- const int S0,
- const int SK);
+ int K,
+ int S0,
+ int SK);
@@ -49,16 +49,16 @@
friend @SPTR_NAME@ address@hidden@ (
const fsm &FSM,
- const int K,
- const int S0,
- const int SK);
+ int K,
+ int S0,
+ int SK);
@NAME@ (
const fsm &FSM,
- const int K,
- const int S0,
- const int SK);
+ int K,
+ int S0,
+ int SK);
public:
Modified:
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_X.i.t
===================================================================
---
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_X.i.t
2006-08-14 02:19:14 UTC (rev 3271)
+++
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_X.i.t
2006-08-14 02:58:42 UTC (rev 3272)
@@ -26,9 +26,9 @@
@SPTR_NAME@ address@hidden@ (
const fsm &FSM,
- const int K,
- const int S0,
- const int SK);
+ int K,
+ int S0,
+ int SK);
class @NAME@ : public gr_block
@@ -36,9 +36,9 @@
private:
@NAME@ (
const fsm &FSM,
- const int K,
- const int S0,
- const int SK);
+ int K,
+ int S0,
+ int SK);
public:
fsm FSM () const { return d_FSM; }
Modified:
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_b.cc
===================================================================
---
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_b.cc
2006-08-14 02:19:14 UTC (rev 3271)
+++
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_b.cc
2006-08-14 02:58:42 UTC (rev 3272)
@@ -34,18 +34,18 @@
trellis_viterbi_b_sptr
trellis_make_viterbi_b (
const fsm &FSM,
- const int K,
- const int S0,
- const int SK)
+ int K,
+ int S0,
+ int SK)
{
return trellis_viterbi_b_sptr (new trellis_viterbi_b (FSM,K,S0,SK));
}
trellis_viterbi_b::trellis_viterbi_b (
const fsm &FSM,
- const int K,
- const int S0,
- const int SK)
+ int K,
+ int S0,
+ int SK)
: gr_block ("viterbi_b",
gr_make_io_signature (1, -1, sizeof (float)),
gr_make_io_signature (1, -1, sizeof (unsigned
char))),
@@ -74,13 +74,13 @@
-void viterbi_algorithm(const int I, const int S, const int O,
+void viterbi_algorithm(int I, int S, int O,
const std::vector<int> &NS,
const std::vector<int> &OS,
const std::vector<int> &PS,
const std::vector<int> &PI,
- const int K,
- const int S0,const int SK,
+ int K,
+ int S0,int SK,
const float *in, unsigned char *out,
std::vector<int> &trace)
{
Modified:
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_b.h
===================================================================
---
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_b.h
2006-08-14 02:19:14 UTC (rev 3271)
+++
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_b.h
2006-08-14 02:58:42 UTC (rev 3272)
@@ -33,9 +33,9 @@
trellis_viterbi_b_sptr trellis_make_viterbi_b (
const fsm &FSM,
- const int K,
- const int S0,
- const int SK);
+ int K,
+ int S0,
+ int SK);
@@ -49,16 +49,16 @@
friend trellis_viterbi_b_sptr trellis_make_viterbi_b (
const fsm &FSM,
- const int K,
- const int S0,
- const int SK);
+ int K,
+ int S0,
+ int SK);
trellis_viterbi_b (
const fsm &FSM,
- const int K,
- const int S0,
- const int SK);
+ int K,
+ int S0,
+ int SK);
public:
Modified:
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_b.i
===================================================================
---
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_b.i
2006-08-14 02:19:14 UTC (rev 3271)
+++
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_b.i
2006-08-14 02:58:42 UTC (rev 3272)
@@ -26,9 +26,9 @@
trellis_viterbi_b_sptr trellis_make_viterbi_b (
const fsm &FSM,
- const int K,
- const int S0,
- const int SK);
+ int K,
+ int S0,
+ int SK);
class trellis_viterbi_b : public gr_block
@@ -36,9 +36,9 @@
private:
trellis_viterbi_b (
const fsm &FSM,
- const int K,
- const int S0,
- const int SK);
+ int K,
+ int S0,
+ int SK);
public:
fsm FSM () const { return d_FSM; }
Modified:
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_combined_X.cc.t
===================================================================
---
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_combined_X.cc.t
2006-08-14 02:19:14 UTC (rev 3271)
+++
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_combined_X.cc.t
2006-08-14 02:58:42 UTC (rev 3272)
@@ -34,24 +34,24 @@
@SPTR_NAME@
address@hidden@ (
const fsm &FSM,
- const int D,
+ int D,
const std::vector<float> &TABLE,
- const int K,
- const int S0,
- const int SK,
- const trellis_metric_type_t TYPE)
+ int K,
+ int S0,
+ int SK,
+ trellis_metric_type_t TYPE)
{
return @SPTR_NAME@ (new @NAME@ (FSM,D,TABLE,K,S0,SK,TYPE));
}
@NAME@::@NAME@ (
const fsm &FSM,
- const int D,
+ int D,
const std::vector<float> &TABLE,
- const int K,
- const int S0,
- const int SK,
- const trellis_metric_type_t TYPE)
+ int K,
+ int S0,
+ int SK,
+ trellis_metric_type_t TYPE)
: gr_block ("@BASE_NAME@",
gr_make_io_signature (1, -1, sizeof (float)),
gr_make_io_signature (1, -1, sizeof (@TYPE@))),
@@ -83,16 +83,16 @@
-void viterbi_algorithm_combined(const int I, const int S, const int O,
+void viterbi_algorithm_combined(int I, int S, int O,
const std::vector<int> &NS,
const std::vector<int> &OS,
const std::vector<int> &PS,
const std::vector<int> &PI,
- const int D,
+ int D,
const std::vector<float> &TABLE,
- const int K,
- const int S0,const int SK,
- const trellis_metric_type_t TYPE,
+ int K,
+ int S0,int SK,
+ trellis_metric_type_t TYPE,
const float *in, @TYPE@ *out,
std::vector<int> &trace)
{
Modified:
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_combined_X.h.t
===================================================================
---
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_combined_X.h.t
2006-08-14 02:19:14 UTC (rev 3271)
+++
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_combined_X.h.t
2006-08-14 02:58:42 UTC (rev 3272)
@@ -34,12 +34,12 @@
@SPTR_NAME@ address@hidden@ (
const fsm &FSM,
- const int D,
+ int D,
const std::vector<float> &TABLE,
- const int K,
- const int S0,
- const int SK,
- const trellis_metric_type_t TYPE);
+ int K,
+ int S0,
+ int SK,
+ trellis_metric_type_t TYPE);
class @NAME@ : public gr_block
@@ -55,22 +55,22 @@
friend @SPTR_NAME@ address@hidden@ (
const fsm &FSM,
- const int D,
+ int D,
const std::vector<float> &TABLE,
- const int K,
- const int S0,
- const int SK,
- const trellis_metric_type_t TYPE);
+ int K,
+ int S0,
+ int SK,
+ trellis_metric_type_t TYPE);
@NAME@ (
const fsm &FSM,
- const int D,
+ int D,
const std::vector<float> &TABLE,
- const int K,
- const int S0,
- const int SK,
- const trellis_metric_type_t TYPE);
+ int K,
+ int S0,
+ int SK,
+ trellis_metric_type_t TYPE);
public:
Modified:
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_combined_X.i.t
===================================================================
---
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_combined_X.i.t
2006-08-14 02:19:14 UTC (rev 3271)
+++
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_combined_X.i.t
2006-08-14 02:58:42 UTC (rev 3272)
@@ -26,12 +26,12 @@
@SPTR_NAME@ address@hidden@ (
const fsm &FSM,
- const int D,
+ int D,
const std::vector<float> &TABLE,
- const int K,
- const int S0,
- const int SK,
- const trellis_metric_type_t TYPE);
+ int K,
+ int S0,
+ int SK,
+ trellis_metric_type_t TYPE);
class @NAME@ : public gr_block
@@ -39,12 +39,12 @@
private:
@NAME@ (
const fsm &FSM,
- const int D,
+ int D,
const std::vector<float> &TABLE,
- const int K,
- const int S0,
- const int SK,
- const trellis_metric_type_t TYPE);
+ int K,
+ int S0,
+ int SK,
+ trellis_metric_type_t TYPE);
public:
fsm FSM () const { return d_FSM; }
Modified:
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_combined_b.cc
===================================================================
---
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_combined_b.cc
2006-08-14 02:19:14 UTC (rev 3271)
+++
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_combined_b.cc
2006-08-14 02:58:42 UTC (rev 3272)
@@ -34,24 +34,24 @@
trellis_viterbi_combined_b_sptr
trellis_make_viterbi_combined_b (
const fsm &FSM,
- const int D,
+ int D,
const std::vector<float> &TABLE,
- const int K,
- const int S0,
- const int SK,
- const trellis_metric_type_t TYPE)
+ int K,
+ int S0,
+ int SK,
+ trellis_metric_type_t TYPE)
{
return trellis_viterbi_combined_b_sptr (new trellis_viterbi_combined_b
(FSM,D,TABLE,K,S0,SK,TYPE));
}
trellis_viterbi_combined_b::trellis_viterbi_combined_b (
const fsm &FSM,
- const int D,
+ int D,
const std::vector<float> &TABLE,
- const int K,
- const int S0,
- const int SK,
- const trellis_metric_type_t TYPE)
+ int K,
+ int S0,
+ int SK,
+ trellis_metric_type_t TYPE)
: gr_block ("viterbi_combined_b",
gr_make_io_signature (1, -1, sizeof (float)),
gr_make_io_signature (1, -1, sizeof (unsigned
char))),
@@ -83,16 +83,16 @@
-void viterbi_algorithm_combined(const int I, const int S, const int O,
+void viterbi_algorithm_combined(int I, int S, int O,
const std::vector<int> &NS,
const std::vector<int> &OS,
const std::vector<int> &PS,
const std::vector<int> &PI,
- const int D,
+ int D,
const std::vector<float> &TABLE,
- const int K,
- const int S0,const int SK,
- const trellis_metric_type_t TYPE,
+ int K,
+ int S0,int SK,
+ trellis_metric_type_t TYPE,
const float *in, unsigned char *out,
std::vector<int> &trace)
{
Modified:
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_combined_b.h
===================================================================
---
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_combined_b.h
2006-08-14 02:19:14 UTC (rev 3271)
+++
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_combined_b.h
2006-08-14 02:58:42 UTC (rev 3272)
@@ -34,12 +34,12 @@
trellis_viterbi_combined_b_sptr trellis_make_viterbi_combined_b (
const fsm &FSM,
- const int D,
+ int D,
const std::vector<float> &TABLE,
- const int K,
- const int S0,
- const int SK,
- const trellis_metric_type_t TYPE);
+ int K,
+ int S0,
+ int SK,
+ trellis_metric_type_t TYPE);
class trellis_viterbi_combined_b : public gr_block
@@ -55,22 +55,22 @@
friend trellis_viterbi_combined_b_sptr trellis_make_viterbi_combined_b (
const fsm &FSM,
- const int D,
+ int D,
const std::vector<float> &TABLE,
- const int K,
- const int S0,
- const int SK,
- const trellis_metric_type_t TYPE);
+ int K,
+ int S0,
+ int SK,
+ trellis_metric_type_t TYPE);
trellis_viterbi_combined_b (
const fsm &FSM,
- const int D,
+ int D,
const std::vector<float> &TABLE,
- const int K,
- const int S0,
- const int SK,
- const trellis_metric_type_t TYPE);
+ int K,
+ int S0,
+ int SK,
+ trellis_metric_type_t TYPE);
public:
Modified:
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_combined_b.i
===================================================================
---
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_combined_b.i
2006-08-14 02:19:14 UTC (rev 3271)
+++
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_combined_b.i
2006-08-14 02:58:42 UTC (rev 3272)
@@ -26,12 +26,12 @@
trellis_viterbi_combined_b_sptr trellis_make_viterbi_combined_b (
const fsm &FSM,
- const int D,
+ int D,
const std::vector<float> &TABLE,
- const int K,
- const int S0,
- const int SK,
- const trellis_metric_type_t TYPE);
+ int K,
+ int S0,
+ int SK,
+ trellis_metric_type_t TYPE);
class trellis_viterbi_combined_b : public gr_block
@@ -39,12 +39,12 @@
private:
trellis_viterbi_combined_b (
const fsm &FSM,
- const int D,
+ int D,
const std::vector<float> &TABLE,
- const int K,
- const int S0,
- const int SK,
- const trellis_metric_type_t TYPE);
+ int K,
+ int S0,
+ int SK,
+ trellis_metric_type_t TYPE);
public:
fsm FSM () const { return d_FSM; }
Modified:
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_combined_i.cc
===================================================================
---
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_combined_i.cc
2006-08-14 02:19:14 UTC (rev 3271)
+++
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_combined_i.cc
2006-08-14 02:58:42 UTC (rev 3272)
@@ -34,24 +34,24 @@
trellis_viterbi_combined_i_sptr
trellis_make_viterbi_combined_i (
const fsm &FSM,
- const int D,
+ int D,
const std::vector<float> &TABLE,
- const int K,
- const int S0,
- const int SK,
- const trellis_metric_type_t TYPE)
+ int K,
+ int S0,
+ int SK,
+ trellis_metric_type_t TYPE)
{
return trellis_viterbi_combined_i_sptr (new trellis_viterbi_combined_i
(FSM,D,TABLE,K,S0,SK,TYPE));
}
trellis_viterbi_combined_i::trellis_viterbi_combined_i (
const fsm &FSM,
- const int D,
+ int D,
const std::vector<float> &TABLE,
- const int K,
- const int S0,
- const int SK,
- const trellis_metric_type_t TYPE)
+ int K,
+ int S0,
+ int SK,
+ trellis_metric_type_t TYPE)
: gr_block ("viterbi_combined_i",
gr_make_io_signature (1, -1, sizeof (float)),
gr_make_io_signature (1, -1, sizeof (int))),
@@ -83,16 +83,16 @@
-void viterbi_algorithm_combined(const int I, const int S, const int O,
+void viterbi_algorithm_combined(int I, int S, int O,
const std::vector<int> &NS,
const std::vector<int> &OS,
const std::vector<int> &PS,
const std::vector<int> &PI,
- const int D,
+ int D,
const std::vector<float> &TABLE,
- const int K,
- const int S0,const int SK,
- const trellis_metric_type_t TYPE,
+ int K,
+ int S0,int SK,
+ trellis_metric_type_t TYPE,
const float *in, int *out,
std::vector<int> &trace)
{
Modified:
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_combined_i.h
===================================================================
---
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_combined_i.h
2006-08-14 02:19:14 UTC (rev 3271)
+++
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_combined_i.h
2006-08-14 02:58:42 UTC (rev 3272)
@@ -34,12 +34,12 @@
trellis_viterbi_combined_i_sptr trellis_make_viterbi_combined_i (
const fsm &FSM,
- const int D,
+ int D,
const std::vector<float> &TABLE,
- const int K,
- const int S0,
- const int SK,
- const trellis_metric_type_t TYPE);
+ int K,
+ int S0,
+ int SK,
+ trellis_metric_type_t TYPE);
class trellis_viterbi_combined_i : public gr_block
@@ -55,22 +55,22 @@
friend trellis_viterbi_combined_i_sptr trellis_make_viterbi_combined_i (
const fsm &FSM,
- const int D,
+ int D,
const std::vector<float> &TABLE,
- const int K,
- const int S0,
- const int SK,
- const trellis_metric_type_t TYPE);
+ int K,
+ int S0,
+ int SK,
+ trellis_metric_type_t TYPE);
trellis_viterbi_combined_i (
const fsm &FSM,
- const int D,
+ int D,
const std::vector<float> &TABLE,
- const int K,
- const int S0,
- const int SK,
- const trellis_metric_type_t TYPE);
+ int K,
+ int S0,
+ int SK,
+ trellis_metric_type_t TYPE);
public:
Modified:
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_combined_i.i
===================================================================
---
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_combined_i.i
2006-08-14 02:19:14 UTC (rev 3271)
+++
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_combined_i.i
2006-08-14 02:58:42 UTC (rev 3272)
@@ -26,12 +26,12 @@
trellis_viterbi_combined_i_sptr trellis_make_viterbi_combined_i (
const fsm &FSM,
- const int D,
+ int D,
const std::vector<float> &TABLE,
- const int K,
- const int S0,
- const int SK,
- const trellis_metric_type_t TYPE);
+ int K,
+ int S0,
+ int SK,
+ trellis_metric_type_t TYPE);
class trellis_viterbi_combined_i : public gr_block
@@ -39,12 +39,12 @@
private:
trellis_viterbi_combined_i (
const fsm &FSM,
- const int D,
+ int D,
const std::vector<float> &TABLE,
- const int K,
- const int S0,
- const int SK,
- const trellis_metric_type_t TYPE);
+ int K,
+ int S0,
+ int SK,
+ trellis_metric_type_t TYPE);
public:
fsm FSM () const { return d_FSM; }
Modified:
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_combined_s.cc
===================================================================
---
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_combined_s.cc
2006-08-14 02:19:14 UTC (rev 3271)
+++
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_combined_s.cc
2006-08-14 02:58:42 UTC (rev 3272)
@@ -34,24 +34,24 @@
trellis_viterbi_combined_s_sptr
trellis_make_viterbi_combined_s (
const fsm &FSM,
- const int D,
+ int D,
const std::vector<float> &TABLE,
- const int K,
- const int S0,
- const int SK,
- const trellis_metric_type_t TYPE)
+ int K,
+ int S0,
+ int SK,
+ trellis_metric_type_t TYPE)
{
return trellis_viterbi_combined_s_sptr (new trellis_viterbi_combined_s
(FSM,D,TABLE,K,S0,SK,TYPE));
}
trellis_viterbi_combined_s::trellis_viterbi_combined_s (
const fsm &FSM,
- const int D,
+ int D,
const std::vector<float> &TABLE,
- const int K,
- const int S0,
- const int SK,
- const trellis_metric_type_t TYPE)
+ int K,
+ int S0,
+ int SK,
+ trellis_metric_type_t TYPE)
: gr_block ("viterbi_combined_s",
gr_make_io_signature (1, -1, sizeof (float)),
gr_make_io_signature (1, -1, sizeof (short))),
@@ -83,16 +83,16 @@
-void viterbi_algorithm_combined(const int I, const int S, const int O,
+void viterbi_algorithm_combined(int I, int S, int O,
const std::vector<int> &NS,
const std::vector<int> &OS,
const std::vector<int> &PS,
const std::vector<int> &PI,
- const int D,
+ int D,
const std::vector<float> &TABLE,
- const int K,
- const int S0,const int SK,
- const trellis_metric_type_t TYPE,
+ int K,
+ int S0,int SK,
+ trellis_metric_type_t TYPE,
const float *in, short *out,
std::vector<int> &trace)
{
Modified:
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_combined_s.h
===================================================================
---
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_combined_s.h
2006-08-14 02:19:14 UTC (rev 3271)
+++
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_combined_s.h
2006-08-14 02:58:42 UTC (rev 3272)
@@ -34,12 +34,12 @@
trellis_viterbi_combined_s_sptr trellis_make_viterbi_combined_s (
const fsm &FSM,
- const int D,
+ int D,
const std::vector<float> &TABLE,
- const int K,
- const int S0,
- const int SK,
- const trellis_metric_type_t TYPE);
+ int K,
+ int S0,
+ int SK,
+ trellis_metric_type_t TYPE);
class trellis_viterbi_combined_s : public gr_block
@@ -55,22 +55,22 @@
friend trellis_viterbi_combined_s_sptr trellis_make_viterbi_combined_s (
const fsm &FSM,
- const int D,
+ int D,
const std::vector<float> &TABLE,
- const int K,
- const int S0,
- const int SK,
- const trellis_metric_type_t TYPE);
+ int K,
+ int S0,
+ int SK,
+ trellis_metric_type_t TYPE);
trellis_viterbi_combined_s (
const fsm &FSM,
- const int D,
+ int D,
const std::vector<float> &TABLE,
- const int K,
- const int S0,
- const int SK,
- const trellis_metric_type_t TYPE);
+ int K,
+ int S0,
+ int SK,
+ trellis_metric_type_t TYPE);
public:
Modified:
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_combined_s.i
===================================================================
---
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_combined_s.i
2006-08-14 02:19:14 UTC (rev 3271)
+++
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_combined_s.i
2006-08-14 02:58:42 UTC (rev 3272)
@@ -26,12 +26,12 @@
trellis_viterbi_combined_s_sptr trellis_make_viterbi_combined_s (
const fsm &FSM,
- const int D,
+ int D,
const std::vector<float> &TABLE,
- const int K,
- const int S0,
- const int SK,
- const trellis_metric_type_t TYPE);
+ int K,
+ int S0,
+ int SK,
+ trellis_metric_type_t TYPE);
class trellis_viterbi_combined_s : public gr_block
@@ -39,12 +39,12 @@
private:
trellis_viterbi_combined_s (
const fsm &FSM,
- const int D,
+ int D,
const std::vector<float> &TABLE,
- const int K,
- const int S0,
- const int SK,
- const trellis_metric_type_t TYPE);
+ int K,
+ int S0,
+ int SK,
+ trellis_metric_type_t TYPE);
public:
fsm FSM () const { return d_FSM; }
Modified:
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_i.cc
===================================================================
---
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_i.cc
2006-08-14 02:19:14 UTC (rev 3271)
+++
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_i.cc
2006-08-14 02:58:42 UTC (rev 3272)
@@ -34,18 +34,18 @@
trellis_viterbi_i_sptr
trellis_make_viterbi_i (
const fsm &FSM,
- const int K,
- const int S0,
- const int SK)
+ int K,
+ int S0,
+ int SK)
{
return trellis_viterbi_i_sptr (new trellis_viterbi_i (FSM,K,S0,SK));
}
trellis_viterbi_i::trellis_viterbi_i (
const fsm &FSM,
- const int K,
- const int S0,
- const int SK)
+ int K,
+ int S0,
+ int SK)
: gr_block ("viterbi_i",
gr_make_io_signature (1, -1, sizeof (float)),
gr_make_io_signature (1, -1, sizeof (int))),
@@ -74,13 +74,13 @@
-void viterbi_algorithm(const int I, const int S, const int O,
+void viterbi_algorithm(int I, int S, int O,
const std::vector<int> &NS,
const std::vector<int> &OS,
const std::vector<int> &PS,
const std::vector<int> &PI,
- const int K,
- const int S0,const int SK,
+ int K,
+ int S0,int SK,
const float *in, int *out,
std::vector<int> &trace)
{
Modified:
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_i.h
===================================================================
---
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_i.h
2006-08-14 02:19:14 UTC (rev 3271)
+++
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_i.h
2006-08-14 02:58:42 UTC (rev 3272)
@@ -33,9 +33,9 @@
trellis_viterbi_i_sptr trellis_make_viterbi_i (
const fsm &FSM,
- const int K,
- const int S0,
- const int SK);
+ int K,
+ int S0,
+ int SK);
@@ -49,16 +49,16 @@
friend trellis_viterbi_i_sptr trellis_make_viterbi_i (
const fsm &FSM,
- const int K,
- const int S0,
- const int SK);
+ int K,
+ int S0,
+ int SK);
trellis_viterbi_i (
const fsm &FSM,
- const int K,
- const int S0,
- const int SK);
+ int K,
+ int S0,
+ int SK);
public:
Modified:
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_i.i
===================================================================
---
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_i.i
2006-08-14 02:19:14 UTC (rev 3271)
+++
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_i.i
2006-08-14 02:58:42 UTC (rev 3272)
@@ -26,9 +26,9 @@
trellis_viterbi_i_sptr trellis_make_viterbi_i (
const fsm &FSM,
- const int K,
- const int S0,
- const int SK);
+ int K,
+ int S0,
+ int SK);
class trellis_viterbi_i : public gr_block
@@ -36,9 +36,9 @@
private:
trellis_viterbi_i (
const fsm &FSM,
- const int K,
- const int S0,
- const int SK);
+ int K,
+ int S0,
+ int SK);
public:
fsm FSM () const { return d_FSM; }
Modified:
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_s.cc
===================================================================
---
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_s.cc
2006-08-14 02:19:14 UTC (rev 3271)
+++
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_s.cc
2006-08-14 02:58:42 UTC (rev 3272)
@@ -34,18 +34,18 @@
trellis_viterbi_s_sptr
trellis_make_viterbi_s (
const fsm &FSM,
- const int K,
- const int S0,
- const int SK)
+ int K,
+ int S0,
+ int SK)
{
return trellis_viterbi_s_sptr (new trellis_viterbi_s (FSM,K,S0,SK));
}
trellis_viterbi_s::trellis_viterbi_s (
const fsm &FSM,
- const int K,
- const int S0,
- const int SK)
+ int K,
+ int S0,
+ int SK)
: gr_block ("viterbi_s",
gr_make_io_signature (1, -1, sizeof (float)),
gr_make_io_signature (1, -1, sizeof (short))),
@@ -74,13 +74,13 @@
-void viterbi_algorithm(const int I, const int S, const int O,
+void viterbi_algorithm(int I, int S, int O,
const std::vector<int> &NS,
const std::vector<int> &OS,
const std::vector<int> &PS,
const std::vector<int> &PI,
- const int K,
- const int S0,const int SK,
+ int K,
+ int S0,int SK,
const float *in, short *out,
std::vector<int> &trace)
{
Modified:
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_s.h
===================================================================
---
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_s.h
2006-08-14 02:19:14 UTC (rev 3271)
+++
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_s.h
2006-08-14 02:58:42 UTC (rev 3272)
@@ -33,9 +33,9 @@
trellis_viterbi_s_sptr trellis_make_viterbi_s (
const fsm &FSM,
- const int K,
- const int S0,
- const int SK);
+ int K,
+ int S0,
+ int SK);
@@ -49,16 +49,16 @@
friend trellis_viterbi_s_sptr trellis_make_viterbi_s (
const fsm &FSM,
- const int K,
- const int S0,
- const int SK);
+ int K,
+ int S0,
+ int SK);
trellis_viterbi_s (
const fsm &FSM,
- const int K,
- const int S0,
- const int SK);
+ int K,
+ int S0,
+ int SK);
public:
Modified:
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_s.i
===================================================================
---
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_s.i
2006-08-14 02:19:14 UTC (rev 3271)
+++
gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib/trellis_viterbi_s.i
2006-08-14 02:58:42 UTC (rev 3272)
@@ -26,9 +26,9 @@
trellis_viterbi_s_sptr trellis_make_viterbi_s (
const fsm &FSM,
- const int K,
- const int S0,
- const int SK);
+ int K,
+ int S0,
+ int SK);
class trellis_viterbi_s : public gr_block
@@ -36,9 +36,9 @@
private:
trellis_viterbi_s (
const fsm &FSM,
- const int K,
- const int S0,
- const int SK);
+ int K,
+ int S0,
+ int SK);
public:
fsm FSM () const { return d_FSM; }
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Commit-gnuradio] r3272 - gnuradio/branches/developers/anastas/wip/gr-trellis/src/lib,
anastas <=