GNU Radio Manual and C++ API Reference  3.9.1.0
The Free & Open Software Radio Ecosystem
cc_common.h
Go to the documentation of this file.
1 /* -*- c++ -*- */
2 /*
3  * Copyright 2013-2014 Free Software Foundation, Inc.
4  *
5  * This file is part of GNU Radio
6  *
7  * SPDX-License-Identifier: GPL-3.0-or-later
8  *
9  */
10 
11 #ifndef INCLUDED_FEC_CC_COMMON_H
12 #define INCLUDED_FEC_CC_COMMON_H
13 
14 #include <volk/volk_alloc.hh>
15 
16 typedef enum _cc_mode_t {
21 } cc_mode_t;
22 
23 typedef union {
24  // decision_t is a BIT vector
25  unsigned char* t;
26  unsigned int* w;
27  unsigned short* s;
28  unsigned char* c;
29 } decision_t;
30 
31 typedef union {
32  unsigned char* t;
33 } metric_t;
34 
35 struct v {
36  volk::vector<unsigned char> metrics;
38  metrics2; /* Pointers to path metrics, swapped on every bit */
39  volk::vector<unsigned char> decisions;
40 };
41 
42 #endif /*INCLUDED_FEC_CC_COMMON_H*/
v::metrics1
metric_t metrics1
Definition: cc_common.h:37
v::metrics
volk::vector< unsigned char > metrics
Definition: cc_common.h:36
CC_TERMINATED
@ CC_TERMINATED
Definition: cc_common.h:18
decision_t::w
unsigned int * w
Definition: cc_common.h:26
decision_t
Definition: cc_common.h:23
decision_t::t
unsigned char * t
Definition: cc_common.h:25
CC_STREAMING
@ CC_STREAMING
Definition: cc_common.h:17
v::metrics2
metric_t metrics2
Definition: cc_common.h:38
v::decisions
volk::vector< unsigned char > decisions
Definition: cc_common.h:39
metric_t
Definition: cc_common.h:31
v
Definition: cc_common.h:35
v::old_metrics
metric_t old_metrics
Definition: cc_common.h:37
metric_t::t
unsigned char * t
Definition: cc_common.h:32
_cc_mode_t
_cc_mode_t
Definition: cc_common.h:16
cc_mode_t
enum _cc_mode_t cc_mode_t
decision_t::c
unsigned char * c
Definition: cc_common.h:28
v::new_metrics
metric_t new_metrics
Definition: cc_common.h:37
CC_TAILBITING
@ CC_TAILBITING
Definition: cc_common.h:20
decision_t::s
unsigned short * s
Definition: cc_common.h:27
CC_TRUNCATED
@ CC_TRUNCATED
Definition: cc_common.h:19