![]() |
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