From 9f502aa5f040b15b6d6e76d26a1dce3cb1a90f96 Mon Sep 17 00:00:00 2001 From: anastas Date: Tue, 6 Feb 2007 23:55:34 +0000 Subject: [PATCH] Minor fix in interleaver class: invoking with negative seed will not reset the random number generator. git-svn-id: http://gnuradio.org/svn/gnuradio/trunk@4402 221aa14e-8319-0410-a670-987f0aec2ac5 --- gr-trellis/src/lib/interleaver.cc | 4 ++-- gr-trellis/src/lib/interleaver.h | 2 +- gr-trellis/src/lib/interleaver.i | 2 +- gr-trellis/src/lib/quicksort_index.cc | 2 +- gr-trellis/src/lib/quicksort_index.h | 3 +-- 5 files changed, 6 insertions(+), 7 deletions(-) diff --git a/gr-trellis/src/lib/interleaver.cc b/gr-trellis/src/lib/interleaver.cc index 33556ea4..93c19470 100644 --- a/gr-trellis/src/lib/interleaver.cc +++ b/gr-trellis/src/lib/interleaver.cc @@ -85,13 +85,13 @@ interleaver::interleaver(const char *name) //###################################################################### //# Generate a random interleaver //###################################################################### -interleaver::interleaver(int K, unsigned int seed) +interleaver::interleaver(int K, int seed) { d_K=K; d_INTER.resize(d_K); d_DEINTER.resize(d_K); - srand(seed); + if(seed>=0) srand((unsigned int)seed); std::vector tmp(d_K); for(int i=0;i & INTER); interleaver(const char *name); - interleaver(int K, unsigned int seed); + interleaver(int K, int seed); int K () const { return d_K; } const std::vector & INTER () const { return d_INTER; } const std::vector & DEINTER () const { return d_DEINTER; } diff --git a/gr-trellis/src/lib/interleaver.i b/gr-trellis/src/lib/interleaver.i index 46db7216..a5e68dc5 100644 --- a/gr-trellis/src/lib/interleaver.i +++ b/gr-trellis/src/lib/interleaver.i @@ -30,7 +30,7 @@ public: interleaver(const interleaver & INTERLEAVER); interleaver(int K, const std::vector & INTER); interleaver(const char *name); - interleaver(int K, unsigned int seed); + interleaver(int K, int seed); int K () const { return d_K; } const std::vector & INTER () const { return d_INTER; } const std::vector & DEINTER () const { return d_DEINTER; } diff --git a/gr-trellis/src/lib/quicksort_index.cc b/gr-trellis/src/lib/quicksort_index.cc index 0b577ff0..591d8fdb 100644 --- a/gr-trellis/src/lib/quicksort_index.cc +++ b/gr-trellis/src/lib/quicksort_index.cc @@ -61,7 +61,7 @@ quicksort_index } // instantiate an version of the quicksort_index - +//template void SWAP (int & a, int & b); template void quicksort_index diff --git a/gr-trellis/src/lib/quicksort_index.h b/gr-trellis/src/lib/quicksort_index.h index b519b66c..0f620c56 100644 --- a/gr-trellis/src/lib/quicksort_index.h +++ b/gr-trellis/src/lib/quicksort_index.h @@ -29,7 +29,6 @@ template void SWAP (T & a, T & b); template -void quicksort_index (std::vector & p, std::vector & index, - int left, int right); +void quicksort_index (std::vector & p, std::vector & index, int left, int right); #endif -- 2.30.2