29 #ifndef PUNCT_CONVCODE_H
30 #define PUNCT_CONVCODE_H
119 void encode(
const bvec &input, bvec &output);
121 bvec
encode(
const bvec &input) { bvec output;
encode(input, output);
return output; }
153 virtual void decode(
const vec &received_signal, bvec &output);
155 virtual bvec
decode(
const vec &received_signal) { bvec output;
decode(received_signal, output);
return output; }
158 virtual void decode(
const bvec &coded_bits, bvec &decoded_bits);
159 virtual bvec
decode(
const bvec &coded_bits);
162 void decode_trunc(
const vec &received_signal, bvec &output);
172 void decode_tail(
const vec &received_signal, bvec &output);
185 { bvec output;
decode_tailbite(received_signal, output);
return output; }
193 bool inverse_tail(
const bvec coded_sequence, bvec &input);
247 int fast(
Array<ivec> &
spectrum,
int time,
int dfree,
int no_terms,
int d_best_so_far = 0,
bool test_catastrophic =
false);
251 int weight(
const int state,
const int input,
int time);
253 void weight(
const int state,
int &w0,
int &w1,
int time);
269 #endif // #ifndef PUNCT_CONVCODE_H