23 #ifndef INCLUDED_TRELLIS_FSM_H
24 #define INCLUDED_TRELLIS_FSM_H
57 std::vector<int> d_NS;
61 std::vector<int> d_OS;
64 std::vector< std::vector<int> > d_PS;
70 std::vector< std::vector<int> > d_PI;
75 std::vector<int> d_TMl;
79 std::vector<int> d_TMi;
80 void generate_PS_PI ();
107 fsm(
int I,
int S,
int O,
const std::vector<int> &NS,
const std::vector<int> &OS);
115 fsm(
const char *name);
125 fsm(
int k,
int n,
const std::vector<int> &G);
134 fsm(
int mod_size,
int ch_length);
147 fsm(
int P,
int M,
int L);
165 fsm(
const fsm &FSMo,
const fsm &FSMi,
bool serial);
173 fsm(
const fsm &FSM,
int n);
174 int I()
const {
return d_I; }
175 int S()
const {
return d_S; }
176 int O()
const {
return d_O; }
177 const std::vector<int> &
NS()
const {
return d_NS; }
178 const std::vector<int> &
OS()
const {
return d_OS; }
179 const std::vector< std::vector<int> > &
PS()
const {
return d_PS; }
180 const std::vector< std::vector<int> > &
PI()
const {
return d_PI; }
181 const std::vector<int> &
TMi()
const {
return d_TMi; }
182 const std::vector<int> &
TMl()
const {
return d_TMl; }
190 void write_trellis_svg(std::string filename ,
int number_stages);
197 void write_fsm_txt(std::string filename);
const std::vector< int > & NS() const
Definition: fsm.h:177
const std::vector< int > & TMl() const
Definition: fsm.h:182
const std::vector< std::vector< int > > & PS() const
Definition: fsm.h:179
const std::vector< int > & TMi() const
Definition: fsm.h:181
const std::vector< int > & OS() const
Definition: fsm.h:178
int I() const
Definition: fsm.h:174
Include this header to use the message passing features.
Definition: logger.h:131
const std::vector< std::vector< int > > & PI() const
Definition: fsm.h:180
#define TRELLIS_API
Definition: gr-trellis/include/gnuradio/trellis/api.h:30
int S() const
Definition: fsm.h:175
int O() const
Definition: fsm.h:176
Finite State Machine Specification class.
Definition: fsm.h:43
#define S(x)
Definition: rpcserver_thrift.h:37