diff options
author | Johannes Demel <ufcsy@student.kit.edu> | 2015-09-28 11:00:27 +0200 |
---|---|---|
committer | Johannes Demel <ufcsy@student.kit.edu> | 2015-09-28 14:48:21 +0200 |
commit | a09f44a82ec9c8f8932f815f9b5f90127d1edbe2 (patch) | |
tree | 887eec902d265c7da12dc7f5821c91ec231d7368 /gnuradio-runtime/python | |
parent | 44ef5e1c240b7d5aeac7ca6537c4b07f3cf606c5 (diff) |
random-analog: fixed reseed issue
Diffstat (limited to 'gnuradio-runtime/python')
-rw-r--r-- | gnuradio-runtime/python/gnuradio/gr/qa_random.py | 29 |
1 files changed, 14 insertions, 15 deletions
diff --git a/gnuradio-runtime/python/gnuradio/gr/qa_random.py b/gnuradio-runtime/python/gnuradio/gr/qa_random.py index 6e321894b9..d3e5410454 100644 --- a/gnuradio-runtime/python/gnuradio/gr/qa_random.py +++ b/gnuradio-runtime/python/gnuradio/gr/qa_random.py @@ -38,39 +38,38 @@ class test_random(gr_unittest.TestCase): self.assertLess(value, 1) self.assertGreaterEqual(value, 0) - # Check reseed method (init with time and seed as fix number) - def test_2(self): + # Same seed should yield same random values. + def test_2_same_seed(self): num = 5 - - rndm0 = gr.random(42) # init with time - rndm1 = gr.random(42) # init with fix seed + # Init with fixed seed. + rndm0 = gr.random(42) + rndm1 = gr.random(42) for k in range(num): x = rndm0.ran1() y = rndm1.ran1() self.assertEqual(x, y) + # reseed should yield same numbers. + def test_003_reseed(self): + num = 5 x = np.zeros(num) y = np.zeros(num) - rndm0 = gr.random(42) # init with fix seed 1 - for k in range(num): - x[k] = rndm0.ran1() - rndm1.reseed(43) # init with fix seed 2 + rndm = gr.random(43) # init with fix seed 1 for k in range(num): - y[k] = rndm0.ran1() + x[k] = rndm.ran1() + rndm.reseed(43) # init with fix seed 2 for k in range(num): - self.assertNotEqual(x[k], y[k]) + y[k] = rndm.ran1() + self.assertFloatTuplesAlmostEqual(x, y) - def test_003_integer(self): + def test_004_integer(self): nitems = 100000 minimum = 2 maximum = 42 - rng = gr.random(1, minimum, maximum) - rnd_vals = np.zeros(nitems, dtype=int) for i in range(nitems): rnd_vals[i] = rng.ran_int() - self.assertGreaterEqual(minimum, np.min(rnd_vals)) self.assertLess(np.max(rnd_vals), maximum) |