diff options
author | Johnathan Corgan <johnathan@corganlabs.com> | 2017-03-20 20:51:28 -0700 |
---|---|---|
committer | Johnathan Corgan <johnathan@corganlabs.com> | 2017-03-20 20:51:28 -0700 |
commit | ea6d423696f5359265e58b23c266f3ef3b3d72d4 (patch) | |
tree | 4302729beb04548061b73f84d3f56dfd2beeb4d2 /gnuradio-runtime/lib/math | |
parent | ffa0822abf7a30f9b44b3fb046cb6d723c4d8c37 (diff) | |
parent | fab36b019183844d539e387554fad70058d70caa (diff) |
Merge branch 'next' into python3
Diffstat (limited to 'gnuradio-runtime/lib/math')
-rw-r--r-- | gnuradio-runtime/lib/math/random.cc | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/gnuradio-runtime/lib/math/random.cc b/gnuradio-runtime/lib/math/random.cc index 35f63076b2..59f2f22bd0 100644 --- a/gnuradio-runtime/lib/math/random.cc +++ b/gnuradio-runtime/lib/math/random.cc @@ -51,7 +51,7 @@ namespace gr { // Setup random number generators d_rng = new boost::mt19937; // random numbers are generated here. d_uniform = new boost::uniform_real<float>; // map random number to distribution - d_integer_dis = new boost::random::uniform_int_distribution<>(0, 1); // another "mapper" + d_integer_dis = new boost::uniform_int<>(0, 1); // another "mapper" d_generator = NULL; // MUST be reinstantiated on every call to reseed. d_integer_generator = NULL; // MUST be reinstantiated on everytime d_rng or d_integer_dis is changed. reseed(seed); // set seed for random number generator @@ -80,16 +80,17 @@ namespace gr { delete d_generator; d_generator = new boost::variate_generator<boost::mt19937&, boost::uniform_real<float> > (*d_rng,*d_uniform); // create number generator in [0,1) from boost.random delete d_integer_generator; - d_integer_generator = new boost::variate_generator<boost::mt19937&, boost::random::uniform_int_distribution<> >(*d_rng, *d_integer_dis); + d_integer_generator = new boost::variate_generator<boost::mt19937&, boost::uniform_int<> >(*d_rng, *d_integer_dis); } void random::set_integer_limits(const int minimum, const int maximum){ // boost expects integer limits defined as [minimum, maximum] which is unintuitive. - boost::random::uniform_int_distribution<>::param_type dis_params(minimum, maximum - 1); - d_integer_dis->param(dis_params); + // use the expected half open interval behavior! [minimum, maximum)! delete d_integer_generator; - d_integer_generator = new boost::variate_generator<boost::mt19937&, boost::random::uniform_int_distribution<> >(*d_rng, *d_integer_dis); + delete d_integer_dis; + d_integer_dis = new boost::uniform_int<>(minimum, maximum - 1); + d_integer_generator = new boost::variate_generator<boost::mt19937&, boost::uniform_int<> >(*d_rng, *d_integer_dis); } /*! |