From f6ee48fda7ca4692808eaf57944d8b16ace4cb1c Mon Sep 17 00:00:00 2001 From: anastas Date: Tue, 13 Feb 2007 04:52:51 +0000 Subject: [PATCH] added methods to interleaver class for writting to text file git-svn-id: http://gnuradio.org/svn/gnuradio/trunk@4463 221aa14e-8319-0410-a670-987f0aec2ac5 --- gr-trellis/src/lib/interleaver.cc | 29 +++++++++++++++++++++++++++++ gr-trellis/src/lib/interleaver.h | 1 + gr-trellis/src/lib/interleaver.i | 1 + 3 files changed, 31 insertions(+) diff --git a/gr-trellis/src/lib/interleaver.cc b/gr-trellis/src/lib/interleaver.cc index 93c19470..ad33d78b 100644 --- a/gr-trellis/src/lib/interleaver.cc +++ b/gr-trellis/src/lib/interleaver.cc @@ -23,11 +23,16 @@ #include #include #include +#include +#include #include #include #include "quicksort_index.h" #include "interleaver.h" + + + interleaver::interleaver() { d_K=0; @@ -104,3 +109,27 @@ interleaver::interleaver(int K, int seed) d_DEINTER[d_INTER[i]]=i; } } + + + + + +//###################################################################### +//# Write an INTERLEAVER specification from a file. +//# Format +//# K +//# blank line +//# list of space separated K integers from 0 to K-1 in appropriate order +//# optional comments +//###################################################################### +void interleaver::write_interleaver_txt(std::string filename) +{ + std::ofstream interleaver_fname (filename.c_str()); + if (!interleaver_fname) {std::cout << "file not found " << std::endl ; exit(-1);} + interleaver_fname << d_K << std::endl; + interleaver_fname << std::endl; + for(int i=0;i & INTER () const { return d_INTER; } const std::vector & DEINTER () const { return d_DEINTER; } + void write_interleaver_txt(std::string filename); }; #endif diff --git a/gr-trellis/src/lib/interleaver.i b/gr-trellis/src/lib/interleaver.i index a5e68dc5..30a97bf6 100644 --- a/gr-trellis/src/lib/interleaver.i +++ b/gr-trellis/src/lib/interleaver.i @@ -34,4 +34,5 @@ public: int K () const { return d_K; } const std::vector & INTER () const { return d_INTER; } const std::vector & DEINTER () const { return d_DEINTER; } + void write_interleaver_txt(std::string filename); }; -- 2.47.2