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

Evaluation points of encoding polynomial and symbol values. Following the format of Reliability and Multiplicity matrices: More...

#include <EvaluationValues.h>

Collaboration diagram for rssoft::EvaluationValues:

List of all members.

Public Member Functions

 EvaluationValues (const gf::GFq &_gf)
 EvaluationValues (const gf::GFq &_gf, const std::vector< gf::GFq_Element > &_x_values, const std::vector< gf::GFq_Element > &_y_values)
 ~EvaluationValues ()
const std::vector
< gf::GFq_Element > & 
get_x_values () const
const std::vector
< gf::GFq_Element > & 
get_evaluation_points () const
const std::vector
< gf::GFq_Element > & 
get_y_values () const
const std::vector
< gf::GFq_Element > & 
get_symbols () const

Protected Attributes

const gf::GFqgf
 Galois Field being used.
std::vector< gf::GFq_Elementx_values
 successive evaluation points in GFq of the encoding polynomial
std::vector< gf::GFq_Elementy_values
 successive symbol values of the corresponding elements in GFq

Detailed Description

Evaluation points of encoding polynomial and symbol values. Following the format of Reliability and Multiplicity matrices:

  • Horizontal, column or X values represent the successive evaluation points in GFq of the encoding polynomial
  • Vertical, row or Y values represent the successive symbol values of the corresponding elements in GFq

Constructor & Destructor Documentation

Default constructor X values are the successive powers of alpha Y values are 0 followed by the successive powers of alpha

Parameters:
gfReference to the Galois Field being used
                                                   :
        gf(_gf)
{
        // default X interpolation values initialized as increasing powers of alpha starting at a^0 = 1
        // default Y interpolation values initialized as the increasing natural order of symbols

        y_values.push_back(gf::GFq_Element(gf, 0));

        for (unsigned int i=0; i < gf.size(); i++)
        {
                x_values.push_back(gf::GFq_Element(gf, gf.alpha(i)));
                y_values.push_back(gf::GFq_Element(gf, i+1));
        }
}

Here is the call graph for this function:

rssoft::EvaluationValues::EvaluationValues ( const gf::GFq _gf,
const std::vector< gf::GFq_Element > &  _x_values,
const std::vector< gf::GFq_Element > &  _y_values 
)

Constructor given X and Y values. It is programmer's responsibility to enter values correctly

Parameters:
gfReference to the Galois Field being used
_x_valuesSuccessive evaluation points in GFq of the encoding polynomial
_y_valuesSuccessive symbol values of the corresponding elements in GFq
                                                                                                                                         :
        gf(_gf),
        x_values(_x_values),
        y_values(_y_values)
{
        if (x_values.size() > gf.size())
        {
                throw RSSoft_Exception("number of evaluation points cannot be more than the number of non null elements in the field");
        }
        else if (y_values.size() > gf.size()+1)
        {
                throw RSSoft_Exception("number of symbols cannot be more than the number of elements in the field");
        }
}

Here is the call graph for this function:


Member Function Documentation

const std::vector<gf::GFq_Element>& rssoft::EvaluationValues::get_evaluation_points ( ) const [inline]
        {
                return x_values;
        }
const std::vector<gf::GFq_Element>& rssoft::EvaluationValues::get_symbols ( ) const [inline]
        {
                return y_values;
        }
const std::vector<gf::GFq_Element>& rssoft::EvaluationValues::get_x_values ( ) const [inline]
        {
                return x_values;
        }
const std::vector<gf::GFq_Element>& rssoft::EvaluationValues::get_y_values ( ) const [inline]
        {
                return y_values;
        }

Member Data Documentation

Galois Field being used.

successive evaluation points in GFq of the encoding polynomial

successive symbol values of the corresponding elements in GFq


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