summaryrefslogtreecommitdiff
path: root/gr-trellis/src/lib/core_algorithms.h
diff options
context:
space:
mode:
authorJosh Blum2011-09-05 21:15:49 -0700
committerJosh Blum2011-09-05 21:15:49 -0700
commitca86c6f82d81bbc57bfe898afb8489a419ddbe63 (patch)
tree272a4623e6fd247c82d17d01e65ed14f3abe72a4 /gr-trellis/src/lib/core_algorithms.h
parent0ea25051b5126d9761e49ceeb0e5d76aaecd2ca3 (diff)
parent492446d2ec6ed85d6437bb35caf4700b02930147 (diff)
downloadgnuradio-ca86c6f82d81bbc57bfe898afb8489a419ddbe63.tar.gz
gnuradio-ca86c6f82d81bbc57bfe898afb8489a419ddbe63.tar.bz2
gnuradio-ca86c6f82d81bbc57bfe898afb8489a419ddbe63.zip
Merge branch 'next' of gnuradio.org:gnuradio into next
Conflicts: gr-trellis/src/lib/trellis_permutation.h
Diffstat (limited to 'gr-trellis/src/lib/core_algorithms.h')
-rw-r--r--gr-trellis/src/lib/core_algorithms.h36
1 files changed, 24 insertions, 12 deletions
diff --git a/gr-trellis/src/lib/core_algorithms.h b/gr-trellis/src/lib/core_algorithms.h
index fd45844c0..cab7086ba 100644
--- a/gr-trellis/src/lib/core_algorithms.h
+++ b/gr-trellis/src/lib/core_algorithms.h
@@ -91,11 +91,21 @@ void siso_algorithm_combined(int I, int S, int O,
);
+template<class T>
+void sccc_decoder(
+ const fsm &FSMo, int STo0, int SToK,
+ const fsm &FSMi, int STi0, int STiK,
+ const interleaver &INTERLEAVER, int blocklength, int iterations,
+ float (*p2mymin)(float,float),
+ const float *iprioro, T *data
+);
+
+
template<class Ti, class To>
void sccc_decoder_combined(
const fsm &FSMo, int STo0, int SToK,
const fsm &FSMi, int STi0, int STiK,
- const interleaver &INTERLEAVER, int blocklength, int repetitions,
+ const interleaver &INTERLEAVER, int blocklength, int iterations,
float (*p2mymin)(float,float),
int D, const std::vector<Ti> &TABLE,
trellis_metric_type_t METRIC_TYPE,
@@ -103,26 +113,28 @@ void sccc_decoder_combined(
const Ti *observations, To *data
);
-
template<class T>
-void sccc_decoder(
- const fsm &FSMo, int STo0, int SToK,
- const fsm &FSMi, int STi0, int STiK,
- const interleaver &INTERLEAVER, int blocklength, int repetitions,
+void pccc_decoder(
+ const fsm &FSM1, int ST10, int ST1K,
+ const fsm &FSM2, int ST20, int ST2K,
+ const interleaver &INTERLEAVER, int blocklength, int iterations,
float (*p2mymin)(float,float),
- const float *iprioro, T *data
+ const float *cprioro, T *data
);
-
-template<class T>
-void pccc_decoder(
+template<class Ti, class To>
+void pccc_decoder_combined(
const fsm &FSM1, int ST10, int ST1K,
const fsm &FSM2, int ST20, int ST2K,
- const interleaver &INTERLEAVER, int blocklength, int repetitions,
+ const interleaver &INTERLEAVER, int blocklength, int iterations,
float (*p2mymin)(float,float),
- const float *cprioro, T *data
+ int D, const std::vector<Ti> &TABLE,
+ trellis_metric_type_t METRIC_TYPE,
+ float scaling,
+ const Ti *observations, To *data
);
+
#endif