Loading...
Searching...
No Matches
cc_common.h
Go to the documentation of this file.
/* -*- c++ -*- */
/*
* Copyright 2013-2014 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
* SPDX-License-Identifier: GPL-3.0-or-later
*
*/
#ifndef INCLUDED_FEC_CC_COMMON_H
#define INCLUDED_FEC_CC_COMMON_H
#include <volk/volk_alloc.hh>
typedef enum _cc_mode_t {
CC_STREAMING = 0,
CC_TERMINATED,
CC_TRUNCATED,
CC_TAILBITING
} cc_mode_t;
typedef union {
// decision_t is a BIT vector
unsigned char* t;
unsigned int* w;
unsigned short* s;
unsigned char* c;
} decision_t;
typedef union {
unsigned char* t;
} metric_t;
struct v {
volk::vector<unsigned char> metrics;
metric_t old_metrics, new_metrics, metrics1,
metrics2; /* Pointers to path metrics, swapped on every bit */
volk::vector<unsigned char> decisions;
};
#endif /*INCLUDED_FEC_CC_COMMON_H*/
cc_mode_t
enum _cc_mode_t cc_mode_t
_cc_mode_t
_cc_mode_t
Definition cc_common.h:16
CC_STREAMING
@ CC_STREAMING
Definition cc_common.h:17
CC_TAILBITING
@ CC_TAILBITING
Definition cc_common.h:20
CC_TERMINATED
@ CC_TERMINATED
Definition cc_common.h:18
CC_TRUNCATED
@ CC_TRUNCATED
Definition cc_common.h:19
v
Definition cc_common.h:35
v::metrics1
metric_t metrics1
Definition cc_common.h:37
v::metrics2
metric_t metrics2
Definition cc_common.h:38
v::new_metrics
metric_t new_metrics
Definition cc_common.h:37
v::metrics
volk::vector< unsigned char > metrics
Definition cc_common.h:36
v::decisions
volk::vector< unsigned char > decisions
Definition cc_common.h:39
v::old_metrics
metric_t old_metrics
Definition cc_common.h:37
decision_t
Definition cc_common.h:23
decision_t::s
unsigned short * s
Definition cc_common.h:27
decision_t::c
unsigned char * c
Definition cc_common.h:28
decision_t::w
unsigned int * w
Definition cc_common.h:26
decision_t::t
unsigned char * t
Definition cc_common.h:25
metric_t
Definition cc_common.h:31
metric_t::t
unsigned char * t
Definition cc_common.h:32