Loading...
Searching...
No Matches
siso_f.h
Go to the documentation of this file.
/* -*- c++ -*- */
/*
* Copyright 2004,2012 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
* SPDX-License-Identifier: GPL-3.0-or-later
*
*/
#ifndef INCLUDED_TRELLIS_SISO_F_H
#define INCLUDED_TRELLIS_SISO_F_H
#include <gnuradio/block.h>
#include <gnuradio/trellis/api.h>
#include <gnuradio/trellis/core_algorithms.h>
#include <gnuradio/trellis/fsm.h>
#include <gnuradio/trellis/siso_type.h>
namespace gr {
namespace trellis {
/*!
* \ingroup trellis_coding_blk
*/
class TRELLIS_API siso_f : virtual public block
{
public:
// gr::trellis::siso_f::sptr
typedef std::shared_ptr<siso_f> sptr;
static sptr make(const fsm& FSM,
int K,
int S0,
int SK,
bool POSTI,
bool POSTO,
siso_type_t d_SISO_TYPE);
virtual fsm FSM() const = 0;
virtual int K() const = 0;
virtual int S0() const = 0;
virtual int SK() const = 0;
virtual bool POSTI() const = 0;
virtual bool POSTO() const = 0;
virtual siso_type_t SISO_TYPE() const = 0;
virtual void set_FSM(const fsm& FSM) = 0;
virtual void set_K(int K) = 0;
virtual void set_S0(int S0) = 0;
virtual void set_SK(int SK) = 0;
virtual void set_POSTI(bool posti) = 0;
virtual void set_POSTO(bool posto) = 0;
virtual void set_SISO_TYPE(trellis::siso_type_t type) = 0;
};
} /* namespace trellis */
} /* namespace gr */
#endif /* INCLUDED_TRELLIS_SISO_F_H */
gr::block
The abstract base class for all 'terminal' processing blocks.
Definition gnuradio-runtime/include/gnuradio/block.h:63
gr::trellis::fsm
Finite State Machine Specification class.
Definition fsm.h:33
gr::trellis::siso_f
Definition siso_f.h:27
gr::trellis::siso_f::K
virtual int K() const =0
gr::trellis::siso_f::make
static sptr make(const fsm &FSM, int K, int S0, int SK, bool POSTI, bool POSTO, siso_type_t d_SISO_TYPE)
gr::trellis::siso_f::set_K
virtual void set_K(int K)=0
gr::trellis::siso_f::set_POSTO
virtual void set_POSTO(bool posto)=0
gr::trellis::siso_f::set_S0
virtual void set_S0(int S0)=0
gr::trellis::siso_f::POSTO
virtual bool POSTO() const =0
gr::trellis::siso_f::set_POSTI
virtual void set_POSTI(bool posti)=0
gr::trellis::siso_f::SK
virtual int SK() const =0
gr::trellis::siso_f::set_SISO_TYPE
virtual void set_SISO_TYPE(trellis::siso_type_t type)=0
gr::trellis::siso_f::set_FSM
virtual void set_FSM(const fsm &FSM)=0
gr::trellis::siso_f::POSTI
virtual bool POSTI() const =0
gr::trellis::siso_f::set_SK
virtual void set_SK(int SK)=0
gr::trellis::siso_f::sptr
std::shared_ptr< siso_f > sptr
Definition siso_f.h:30
gr::trellis::siso_f::SISO_TYPE
virtual siso_type_t SISO_TYPE() const =0
gr::trellis::siso_f::FSM
virtual fsm FSM() const =0
gr::trellis::siso_f::S0
virtual int S0() const =0
core_algorithms.h
fsm.h
block.h
api.h
TRELLIS_API
#define TRELLIS_API
Definition gr-trellis/include/gnuradio/trellis/api.h:18
gr::trellis::siso_type_t
siso_type_t
Definition siso_type.h:17
gr
GNU Radio logging wrapper.
Definition basic_block.h:29
siso_type.h