23 #ifndef INCLUDED_TRELLIS_FSM_H
24 #define INCLUDED_TRELLIS_FSM_H
47 std::vector<int> d_NS;
50 std::vector<int> d_OS;
52 std::vector< std::vector<int> > d_PS;
57 std::vector< std::vector<int> > d_PI;
61 std::vector<int> d_TMl;
64 std::vector<int> d_TMi;
65 void generate_PS_PI ();
89 fsm(
int I,
int S,
int O,
const std::vector<int> &NS,
const std::vector<int> &OS);
105 fsm(
int k,
int n,
const std::vector<int> &G);
113 fsm(
int mod_size,
int ch_length);
125 fsm(
int P,
int M,
int L);
139 fsm(
const fsm &FSM,
int n);
140 int I ()
const {
return d_I; }
141 int S ()
const {
return d_S; }
142 int O ()
const {
return d_O; }
143 const std::vector<int> &
NS ()
const {
return d_NS; }
144 const std::vector<int> &
OS ()
const {
return d_OS; }
145 const std::vector< std::vector<int> > &
PS ()
const {
return d_PS; }
146 const std::vector< std::vector<int> > &
PI ()
const {
return d_PI; }
147 const std::vector<int> &
TMi ()
const {
return d_TMi; }
148 const std::vector<int> &
TMl ()
const {
return d_TMl; }
156 void write_trellis_svg(std::string filename ,
int number_stages);
163 void write_fsm_txt(std::string filename);