23 #ifndef INCLUDED_TRELLIS_FSM_H
24 #define INCLUDED_TRELLIS_FSM_H
48 std::vector<int> d_NS;
51 std::vector<int> d_OS;
53 std::vector< std::vector<int> > d_PS;
58 std::vector< std::vector<int> > d_PI;
62 std::vector<int> d_TMl;
65 std::vector<int> d_TMi;
66 void generate_PS_PI ();
90 fsm(
int I,
int S,
int O,
const std::vector<int> &NS,
const std::vector<int> &OS);
106 fsm(
int k,
int n,
const std::vector<int> &G);
114 fsm(
int mod_size,
int ch_length);
126 fsm(
int P,
int M,
int L);
140 fsm(
const fsm &FSM,
int n);
141 int I ()
const {
return d_I; }
142 int S ()
const {
return d_S; }
143 int O ()
const {
return d_O; }
144 const std::vector<int> &
NS ()
const {
return d_NS; }
145 const std::vector<int> &
OS ()
const {
return d_OS; }
146 const std::vector< std::vector<int> > &
PS ()
const {
return d_PS; }
147 const std::vector< std::vector<int> > &
PI ()
const {
return d_PI; }
148 const std::vector<int> &
TMi ()
const {
return d_TMi; }
149 const std::vector<int> &
TMl ()
const {
return d_TMl; }
157 void write_trellis_svg(std::string filename ,
int number_stages);
164 void write_fsm_txt(std::string filename);