![]() |
rssoft
0.0.0
Reed-Solomon codes library with soft decision decoding
|
00001 /* 00002 Copyright 2013 Edouard Griffiths <f4exb at free dot fr> 00003 00004 This file is part of RSSoft. A Reed-Solomon Soft Decoding library 00005 00006 This program is free software; you can redistribute it and/or modify 00007 it under the terms of the GNU General Public License as published by 00008 the Free Software Foundation; either version 2 of the License, or 00009 (at your option) any later version. 00010 00011 This program is distributed in the hope that it will be useful, 00012 but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00014 GNU General Public License for more details. 00015 00016 You should have received a copy of the GNU General Public License 00017 along with this program; if not, write to the Free Software 00018 Foundation, Inc., 51 Franklin Street, Boston, MA 02110-1301 USA 00019 00020 Original from Arash Partow (see original copytight notice). 00021 Modified and included in RSSoft in gf sub-namespace. 00022 00023 Evaluation points of encoding polynomial and symbol values 00024 Following the format of Reliability and Multiplicity matrices: 00025 - Horizontal, column or X values represent the successive evaluation points in GFq of the 00026 encoding polynomial 00027 - Vertical, row or Y values represent the successive symbol values of the corresponding elements in GFq 00028 00029 */ 00030 #ifndef __EVALUATION_VALUES__ 00031 #define __EVALUATION_VALUES__ 00032 00033 #include "GFq_Element.h" 00034 #include <vector> 00035 00036 namespace rssoft 00037 { 00038 namespace gf 00039 { 00040 class GFq; 00041 } 00042 00043 00049 class EvaluationValues 00050 { 00051 public: 00058 EvaluationValues(const gf::GFq& _gf); 00059 00066 EvaluationValues(const gf::GFq& _gf, const std::vector<gf::GFq_Element>& _x_values, const std::vector<gf::GFq_Element>& _y_values); 00067 00071 ~EvaluationValues(); 00072 00073 const std::vector<gf::GFq_Element>& get_x_values() const 00074 { 00075 return x_values; 00076 } 00077 00078 const std::vector<gf::GFq_Element>& get_evaluation_points() const 00079 { 00080 return x_values; 00081 } 00082 00083 const std::vector<gf::GFq_Element>& get_y_values() const 00084 { 00085 return y_values; 00086 } 00087 00088 const std::vector<gf::GFq_Element>& get_symbols() const 00089 { 00090 return y_values; 00091 } 00092 00093 00094 protected: 00095 const gf::GFq& gf; 00096 std::vector<gf::GFq_Element> x_values; 00097 std::vector<gf::GFq_Element> y_values; 00098 }; 00099 00100 } // namespace rssoft 00101 00102 #endif // __EVALUATION_VALUES__