Imported Upstream version 3.2.2
[debian/gnuradio] / gr-trellis / src / lib / trellis_siso_combined_f.cc
index 125e47a057936836ca67ffba13e1e4798b650694..c8181d109695a442dc3f59394da53ed5e16232a0 100644 (file)
@@ -138,8 +138,8 @@ inline float min_star(float a, float b)
 void siso_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 std::vector< std::vector<int> > &PS,
+             const std::vector< std::vector<int> > &PI,
              int K,
              int S0,int SK,
              bool POSTI, bool POSTO,
@@ -171,9 +171,9 @@ void siso_algorithm_combined(int I, int S, int O,
       norm=INF;
       for(int j=0;j<S;j++) {
           minm=INF;
-          for(int i=0;i<I;i++) {
-              int i0 = j*I+i;
-              mm=alpha[k*S+PS[i0]]+priori[k*I+PI[i0]]+prioro[k*O+OS[PS[i0]*I+PI[i0]]];
+          for(unsigned int i=0;i<PS[j].size();i++) {
+              //int i0 = j*I+i;
+              mm=alpha[k*S+PS[j][i]]+priori[k*I+PI[j][i]]+prioro[k*O+OS[PS[j][i]*I+PI[j][i]]];
               minm=(*p2mymin)(minm,mm);
           }
           alpha[(k+1)*S+j]=minm;