diff options
Diffstat (limited to 'gr-fec/lib/ldpc_encoder_impl.cc')
-rw-r--r-- | gr-fec/lib/ldpc_encoder_impl.cc | 75 |
1 files changed, 31 insertions, 44 deletions
diff --git a/gr-fec/lib/ldpc_encoder_impl.cc b/gr-fec/lib/ldpc_encoder_impl.cc index 4905904cf1..7adaf6b886 100644 --- a/gr-fec/lib/ldpc_encoder_impl.cc +++ b/gr-fec/lib/ldpc_encoder_impl.cc @@ -25,59 +25,46 @@ #include <volk/volk.h> #include <sstream> #include <stdio.h> -#include <algorithm> // for std::reverse -#include <string.h> // for memcpy +#include <algorithm> // for std::reverse +#include <string.h> // for memcpy namespace gr { - namespace fec { +namespace fec { - generic_encoder::sptr - ldpc_encoder::make(std::string alist_file) - { - return generic_encoder::sptr - (new ldpc_encoder_impl(alist_file)); - } +generic_encoder::sptr ldpc_encoder::make(std::string alist_file) +{ + return generic_encoder::sptr(new ldpc_encoder_impl(alist_file)); +} - ldpc_encoder_impl::ldpc_encoder_impl(std::string alist_file) - { - if(!boost::filesystem::exists(alist_file)) { +ldpc_encoder_impl::ldpc_encoder_impl(std::string alist_file) +{ + if (!boost::filesystem::exists(alist_file)) { throw std::runtime_error("Bad AList file name!"); - } - - d_list.read(alist_file.c_str()); - d_code.set_alist(d_list); - inputSize = d_code.dimension(); - outputSize = d_code.get_N(); - - //printf("ENCODER: inputSize = %d, outputSize = %d\n",inputSize, outputSize); } - int - ldpc_encoder_impl::get_output_size() - { - return outputSize; - } + d_list.read(alist_file.c_str()); + d_code.set_alist(d_list); + inputSize = d_code.dimension(); + outputSize = d_code.get_N(); - int - ldpc_encoder_impl::get_input_size() - { - return inputSize; - } + // printf("ENCODER: inputSize = %d, outputSize = %d\n",inputSize, outputSize); +} - void - ldpc_encoder_impl::generic_work(void *inBuffer, void *outBuffer) - { - const unsigned char *in = (const unsigned char *) inBuffer; - unsigned char *out = (unsigned char *) outBuffer; - std::vector<char> inbuf(inputSize); - memcpy(&inbuf[0], in, inputSize); - std::vector<char> coded(d_code.encode(inbuf)); - memcpy(&out[0], &coded[0], coded.size()); - } +int ldpc_encoder_impl::get_output_size() { return outputSize; } - ldpc_encoder_impl::~ldpc_encoder_impl() - { - } +int ldpc_encoder_impl::get_input_size() { return inputSize; } - } +void ldpc_encoder_impl::generic_work(void* inBuffer, void* outBuffer) +{ + const unsigned char* in = (const unsigned char*)inBuffer; + unsigned char* out = (unsigned char*)outBuffer; + std::vector<char> inbuf(inputSize); + memcpy(&inbuf[0], in, inputSize); + std::vector<char> coded(d_code.encode(inbuf)); + memcpy(&out[0], &coded[0], coded.size()); } + +ldpc_encoder_impl::~ldpc_encoder_impl() {} + +} // namespace fec +} // namespace gr |