summaryrefslogtreecommitdiff
path: root/gnuradio-runtime/python
diff options
context:
space:
mode:
authorJohannes Demel <ufcsy@student.kit.edu>2015-09-28 11:00:27 +0200
committerJohannes Demel <ufcsy@student.kit.edu>2015-09-28 14:48:21 +0200
commita09f44a82ec9c8f8932f815f9b5f90127d1edbe2 (patch)
tree887eec902d265c7da12dc7f5821c91ec231d7368 /gnuradio-runtime/python
parent44ef5e1c240b7d5aeac7ca6537c4b07f3cf606c5 (diff)
random-analog: fixed reseed issue
Diffstat (limited to 'gnuradio-runtime/python')
-rw-r--r--gnuradio-runtime/python/gnuradio/gr/qa_random.py29
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)