summaryrefslogtreecommitdiff
path: root/gr-trellis
diff options
context:
space:
mode:
authoranastas <anastas@221aa14e-8319-0410-a670-987f0aec2ac5>2007-02-06 23:55:34 +0000
committeranastas <anastas@221aa14e-8319-0410-a670-987f0aec2ac5>2007-02-06 23:55:34 +0000
commit9f502aa5f040b15b6d6e76d26a1dce3cb1a90f96 (patch)
tree0708b195ded2fba675a763fac67a108ed6e7d0d5 /gr-trellis
parent552c2aa5e5900697e3f2bcc38dc381662af5b8d6 (diff)
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
Diffstat (limited to 'gr-trellis')
-rw-r--r--gr-trellis/src/lib/interleaver.cc4
-rw-r--r--gr-trellis/src/lib/interleaver.h2
-rw-r--r--gr-trellis/src/lib/interleaver.i2
-rw-r--r--gr-trellis/src/lib/quicksort_index.cc2
-rw-r--r--gr-trellis/src/lib/quicksort_index.h3
5 files changed, 6 insertions, 7 deletions
diff --git a/gr-trellis/src/lib/interleaver.cc b/gr-trellis/src/lib/interleaver.cc
index 33556ea45b..93c194709d 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<int> tmp(d_K);
for(int i=0;i<d_K;i++) {
d_INTER[i]=i;
diff --git a/gr-trellis/src/lib/interleaver.h b/gr-trellis/src/lib/interleaver.h
index 53a3123bad..466b0cdd22 100644
--- a/gr-trellis/src/lib/interleaver.h
+++ b/gr-trellis/src/lib/interleaver.h
@@ -38,7 +38,7 @@ public:
interleaver(const interleaver & INTERLEAVER);
interleaver(int K, const std::vector<int> & 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<int> & INTER () const { return d_INTER; }
const std::vector<int> & DEINTER () const { return d_DEINTER; }
diff --git a/gr-trellis/src/lib/interleaver.i b/gr-trellis/src/lib/interleaver.i
index 46db7216bd..a5e68dc589 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<int> & 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<int> & INTER () const { return d_INTER; }
const std::vector<int> & DEINTER () const { return d_DEINTER; }
diff --git a/gr-trellis/src/lib/quicksort_index.cc b/gr-trellis/src/lib/quicksort_index.cc
index 0b577ff053..591d8fdb99 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 <int> version of the quicksort_index
-
+//template <int> void SWAP (int & a, int & b);
template
void
quicksort_index<int>
diff --git a/gr-trellis/src/lib/quicksort_index.h b/gr-trellis/src/lib/quicksort_index.h
index b519b66c9d..0f620c564f 100644
--- a/gr-trellis/src/lib/quicksort_index.h
+++ b/gr-trellis/src/lib/quicksort_index.h
@@ -29,7 +29,6 @@ template <class T>
void SWAP (T & a, T & b);
template <class T>
-void quicksort_index (std::vector<T> & p, std::vector<int> & index,
- int left, int right);
+void quicksort_index (std::vector<T> & p, std::vector<int> & index, int left, int right);
#endif