commit-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Commit-gnuradio] [gnuradio] 12/43: fec: re-shuffling LDPC make helper


From: git
Subject: [Commit-gnuradio] [gnuradio] 12/43: fec: re-shuffling LDPC make helper
Date: Thu, 2 Apr 2015 19:15:50 +0000 (UTC)

This is an automated email from the git hooks/post-receive script.

jcorgan pushed a commit to branch master
in repository gnuradio.

commit 5c199bafbc9aaced179f19bef8aa737e087067ed
Author: Tim O'Shea <address@hidden>
Date:   Wed Apr 1 11:06:00 2015 -0700

    fec: re-shuffling LDPC make helper
---
 gr-fec/grc/ldpc_decoder_def_list.xml       |  4 ++--
 gr-fec/grc/ldpc_encoder_def_list.xml       |  4 ++--
 gr-fec/include/gnuradio/fec/ldpc_decoder.h | 12 ++++--------
 gr-fec/include/gnuradio/fec/ldpc_encoder.h | 11 +++--------
 gr-fec/lib/ldpc_decoder.cc                 |  2 +-
 gr-fec/lib/ldpc_encoder.cc                 |  2 +-
 6 files changed, 13 insertions(+), 22 deletions(-)

diff --git a/gr-fec/grc/ldpc_decoder_def_list.xml 
b/gr-fec/grc/ldpc_decoder_def_list.xml
index 01bdce7..9e21f24 100644
--- a/gr-fec/grc/ldpc_decoder_def_list.xml
+++ b/gr-fec/grc/ldpc_decoder_def_list.xml
@@ -10,9 +10,9 @@
     <import>from gnuradio import fec</import>
     <var_make>
 #if int($ndim())==1 #
-self.$(id) = $(id) = map( (lambda a: fec.ldpc_make_decoder($file, $sigma, 
$max_iter)), range(0,$dim1) ); #slurp
+self.$(id) = $(id) = map( (lambda a: fec.ldpc_decoder.make($file, $sigma, 
$max_iter)), range(0,$dim1) ); #slurp
 #else
-self.$(id) = $(id) = map( (lambda b: map( ( lambda a: 
fec.ldpc_make_decoder($file, $sigma, $max_iter)), range(0,$dim2) ) ), 
range(0,$dim1)); #slurp
+self.$(id) = $(id) = map( (lambda b: map( ( lambda a: 
fec.ldpc_decoder.make($file, $sigma, $max_iter)), range(0,$dim2) ) ), 
range(0,$dim1)); #slurp
 #end if</var_make>
     <make></make>
 
diff --git a/gr-fec/grc/ldpc_encoder_def_list.xml 
b/gr-fec/grc/ldpc_encoder_def_list.xml
index 26200ab..9ec98b6 100755
--- a/gr-fec/grc/ldpc_encoder_def_list.xml
+++ b/gr-fec/grc/ldpc_encoder_def_list.xml
@@ -10,9 +10,9 @@
     <import>from gnuradio import fec</import>
     <var_make>
 #if int($ndim())==1 #
-self.$(id) = $(id) = map( (lambda a: fec.ldpc_make_encoder($file)), 
range(0,$dim1) ); #slurp
+self.$(id) = $(id) = map( (lambda a: fec.ldpc_encoder.make($file)), 
range(0,$dim1) ); #slurp
 #else
-self.$(id) = $(id) = map( (lambda b: map( ( lambda a: 
fec.ldpc_make_encoder($file)), range(0,$dim2) ) ), range(0,$dim1)); #slurp
+self.$(id) = $(id) = map( (lambda b: map( ( lambda a: 
fec.ldpc_encoder.make($file)), range(0,$dim2) ) ), range(0,$dim1)); #slurp
 #end if</var_make>
     <make></make>
 
diff --git a/gr-fec/include/gnuradio/fec/ldpc_decoder.h 
b/gr-fec/include/gnuradio/fec/ldpc_decoder.h
index 0f411bd..bc26464 100644
--- a/gr-fec/include/gnuradio/fec/ldpc_decoder.h
+++ b/gr-fec/include/gnuradio/fec/ldpc_decoder.h
@@ -38,16 +38,10 @@ typedef unsigned char OUTPUT_DATATYPE;
 namespace gr {
  namespace fec {
 
-FEC_API generic_decoder::sptr
-ldpc_make_decoder (std::string alist_file, float sigma=0.5, int 
max_iterations=50);
 
 #define MAXLOG 1e7
 
 class FEC_API ldpc_decoder : public generic_decoder {
-    //befriend the global, swigged make function
-    friend generic_decoder::sptr
-    ldpc_make_decoder (std::string alist_file, float sigma, int 
max_iterations);
-
     //private constructor
     ldpc_decoder (std::string alist_file, float sigma, int max_iterations);
 
@@ -70,9 +64,11 @@ class FEC_API ldpc_decoder : public generic_decoder {
  public:
     ~ldpc_decoder ();
 
+    double rate() { return (1.0*get_output_item_size() / 
get_input_item_size()); }
+    bool set_frame_size(unsigned int frame_size) { return false; }
 
-    double rate() { return 1; }
-    bool set_frame_size(unsigned int frame_size) { throw 
std::runtime_error("Nope"); }
+    static generic_decoder::sptr
+        make (std::string alist_file, float sigma=0.5, int max_iterations=50);
 };
 
 }
diff --git a/gr-fec/include/gnuradio/fec/ldpc_encoder.h 
b/gr-fec/include/gnuradio/fec/ldpc_encoder.h
index 0498430..86220e9 100755
--- a/gr-fec/include/gnuradio/fec/ldpc_encoder.h
+++ b/gr-fec/include/gnuradio/fec/ldpc_encoder.h
@@ -34,15 +34,9 @@
 namespace gr {
  namespace fec {
 
-FEC_API generic_encoder::sptr
-ldpc_make_encoder (std::string alist_file);
 
 
 class FEC_API ldpc_encoder : public generic_encoder {
-    //befriend the global, swigged make function
-    friend generic_encoder::sptr
-    ldpc_make_encoder (std::string alist_file);
-
     //private constructor
     ldpc_encoder (std::string alist_file);
 
@@ -57,11 +51,12 @@ class FEC_API ldpc_encoder : public generic_encoder {
     alist d_list;
     cldpc d_code;   
 
-    double rate() { return 1.0; }
-    bool set_frame_size(unsigned int frame_size) { throw 
std::runtime_error("Not supported!!!"); }
+    double rate() { return (1.0*get_input_size() / get_output_size()); }
+    bool set_frame_size(unsigned int frame_size) { return false; }
 
  public:
     ~ldpc_encoder ();
+    static generic_encoder::sptr make (std::string alist_file);
 
 };
 
diff --git a/gr-fec/lib/ldpc_decoder.cc b/gr-fec/lib/ldpc_decoder.cc
index b7aae0b..3f545ed 100644
--- a/gr-fec/lib/ldpc_decoder.cc
+++ b/gr-fec/lib/ldpc_decoder.cc
@@ -37,7 +37,7 @@ namespace gr {
  namespace fec {
 
 generic_decoder::sptr
-ldpc_make_decoder(std::string alist_file, float sigma, int max_iterations)
+ldpc_decoder::make(std::string alist_file, float sigma, int max_iterations)
 {
     return generic_decoder::sptr(new ldpc_decoder(alist_file, sigma, 
max_iterations));
 }
diff --git a/gr-fec/lib/ldpc_encoder.cc b/gr-fec/lib/ldpc_encoder.cc
index 0385dc8..e25eade 100755
--- a/gr-fec/lib/ldpc_encoder.cc
+++ b/gr-fec/lib/ldpc_encoder.cc
@@ -34,7 +34,7 @@ namespace gr {
   namespace fec {
 
 generic_encoder::sptr
-ldpc_make_encoder(std::string alist_file)
+ldpc_encoder::make(std::string alist_file)
 {
     return generic_encoder::sptr(new ldpc_encoder(alist_file));
 }



reply via email to

[Prev in Thread] Current Thread [Next in Thread]