rssoft  0.0.0
Reed-Solomon codes library with soft decision decoding
rssoft::RR_Node Class Reference

Node in the Roth-Ruckenstein's algorithm. More...

#include <RR_Factorization.h>

Collaboration diagram for rssoft::RR_Node:

List of all members.

Public Member Functions

 RR_Node (RR_Node *_parent, const gf::GFq_BivariatePolynomial &_Q, const gf::GFq_Element &_coeff, unsigned int _id)
unsigned int get_id () const
int get_degree () const
const gf::GFq_BivariatePolynomialgetQ () const
const gf::GFq_Elementget_coeff () const
void add_ry (const gf::GFq_Element &root_y)
bool is_in_ry_set (const gf::GFq_Element &root_y) const

Protected Attributes

RR_Nodeparent
 Pointer to the parent node.
const gf::GFq_BivariatePolynomialQ
 Node's polynomial.
const gf::GFq_Elementcoeff
unsigned int id
 Identifier number of the node.
int degree
 The distance of the node from the root counted in the number of arcs less one.
std::set< gf::GFq_Elementry_set
 Set of roots in Y of the node's polynomial.

Detailed Description

Node in the Roth-Ruckenstein's algorithm.


Constructor & Destructor Documentation

rssoft::RR_Node::RR_Node ( RR_Node _parent,
const gf::GFq_BivariatePolynomial _Q,
const gf::GFq_Element _coeff,
unsigned int  _id 
)

Constructor

Parameters:
_parentPointer to the parent node, 0 for root node
_QNode polynomial
_coeffCoefficient on the arc towards this node
_idNode identifier
                                  :
        parent(_parent),
        Q(_Q),
    coeff(_coeff),
        id(_id)
{
        if (_parent == 0)
        {
                degree = -1;
        }
        else
        {
                degree = _parent->get_degree()+1;
        }
}

Here is the call graph for this function:


Member Function Documentation

void rssoft::RR_Node::add_ry ( const gf::GFq_Element root_y) [inline]

Add a root in Y

        {
                ry_set.insert(root_y);
        }
const gf::GFq_Element& rssoft::RR_Node::get_coeff ( ) const [inline]

Get coefficient towards the node

        {
                return coeff;
        }
int rssoft::RR_Node::get_degree ( ) const [inline]

Get the degree of the node

        {
                return degree;
        }
unsigned int rssoft::RR_Node::get_id ( ) const [inline]

Get the node's Id

        {
                return id;
        }

Get node's polynomial

        {
                return Q;
        }
bool rssoft::RR_Node::is_in_ry_set ( const gf::GFq_Element root_y) const [inline]

Tells if an element is in the set of Y roots

        {
                std::set<gf::GFq_Element>::const_iterator e_it = ry_set.find(root_y);
                return e_it != ry_set.end();
        }

Member Data Documentation

int rssoft::RR_Node::degree [protected]

The distance of the node from the root counted in the number of arcs less one.

unsigned int rssoft::RR_Node::id [protected]

Identifier number of the node.

Pointer to the parent node.

Node's polynomial.

Set of roots in Y of the node's polynomial.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Friends Defines