![]() |
rssoft
0.0.0
Reed-Solomon codes library with soft decision decoding
|
Evaluation points of encoding polynomial and symbol values. Following the format of Reliability and Multiplicity matrices: More...
#include <EvaluationValues.h>
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::GFq & | gf |
Galois Field being used. | |
std::vector< gf::GFq_Element > | x_values |
successive evaluation points in GFq of the encoding polynomial | |
std::vector< gf::GFq_Element > | y_values |
successive symbol values of the corresponding elements in GFq |
Evaluation points of encoding polynomial and symbol values. Following the format of Reliability and Multiplicity matrices:
rssoft::EvaluationValues::EvaluationValues | ( | const gf::GFq & | _gf | ) |
Default constructor X values are the successive powers of alpha Y values are 0 followed by the successive powers of alpha
gf | Reference 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)); } }
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
gf | Reference to the Galois Field being used |
_x_values | Successive evaluation points in GFq of the encoding polynomial |
_y_values | Successive 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"); } }
Destructor
{}
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; }
const gf::GFq& rssoft::EvaluationValues::gf [protected] |
Galois Field being used.
std::vector<gf::GFq_Element> rssoft::EvaluationValues::x_values [protected] |
successive evaluation points in GFq of the encoding polynomial
std::vector<gf::GFq_Element> rssoft::EvaluationValues::y_values [protected] |
successive symbol values of the corresponding elements in GFq