rssoft  0.0.0
Reed-Solomon codes library with soft decision decoding
/shared/development/google_code/rssoft/library/lib/RS_Encoding.h
Go to the documentation of this file.
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  Does the Reed-Solomon encoding of a message.
00021  This is the genuine, straightforward, non-systematic encoding that
00022  takes message symbols to build the successive coefficients of the
00023  encoding polynomial. Then this polynomial is evaluated at the
00024  evaluation points to make the codeword.
00025 
00026  */
00027 #ifndef __RS_ENCODING_H__
00028 #define __RS_ENCODING_H__
00029 
00030 #include "GFq.h"
00031 #include "GFq_Element.h"
00032 #include <vector>
00033 
00034 namespace rssoft
00035 {
00036 
00037 class EvaluationValues;
00038 
00044 class RS_Encoding
00045 {
00046 public:
00053         RS_Encoding(const gf::GFq& _gf, unsigned int k, const EvaluationValues& _evaluation_values);
00054 
00058         ~RS_Encoding();
00059 
00065         void run(const std::vector<gf::GFq_Symbol>& message, std::vector<gf::GFq_Symbol>& codeword) const;
00066 
00067 protected:
00068         const gf::GFq& gf; 
00069         unsigned int k; 
00070         const EvaluationValues& evaluation_values; 
00071 };
00072 
00073 
00074 } // namespace rssoft
00075 
00076 #endif // __RS_ENCODING_H__
00077 
 All Classes Namespaces Files Functions Variables Typedefs Friends Defines