commit-gnuradio
[Top][All Lists]
Advanced

[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; }





reply via email to

[Prev in Thread] Current Thread [Next in Thread]