Assertion tripped in boost::uniform_int
Hello. I just experienced an assertion failure using the
boost::minstd_rand generator:
/home/packages/boost_1_29_0/boost/random/uniform_int.hpp:50:
boost::uniform_int
Hello,
template <class T> T random(T min, T max) { boost::random_number_generator
rng(pseudo_rng); return rng(max - min + 1) + min; }
I presume that you sometimes call random with min = max ? Dave
Am I doing something wrong, or is there a fault in the uniform_int algorithm?
Thanks, Matt.
********************************************************************** This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you have received this email in error please notify mail.administrator@jupiters.com.au
**********************************************************************
[Non-text portions of this message have been removed]
Info: http://www.boost.org Wiki: http://www.crystalclearsoftware.com/cgi-bin/boost_wiki/wiki.pl Unsubscribe: mailto:boost-users-unsubscribe@yahoogroups.com
Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
Hi, sorry for the delay.
--- In Boost-Users@yahoogroups.com, David Pearce
Hello,
template <class T> T random(T min, T max) { boost::random_number_generator
rng(pseudo_rng); return rng(max - min + 1) + min; } I presume that you sometimes call random with min = max ?
Well, that's not my intention, but I can't assert that it didn't happen in this case - there are some data-dependent invocations of the random number generator. I would have thought that the generator would return 0 for rng(1). Thanks, Matt.
Dave
Am I doing something wrong, or is there a fault in the
uniform_int
algorithm?
Thanks, Matt.
**********************************************
This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you have received this email in error please notify mail.administrator@j...
**********************************************
[Non-text portions of this message have been removed]
Info: http://www.boost.org Wiki: <http://www.crystalclearsoftware.com/cgi
-bin/boost_wiki/wiki.pl>
Unsubscribe: mailto:boost-users-unsubscribe@yahoogroups.com
Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
matts_temp_id wrote:
I presume that you sometimes call random with min = max ?
Well, that's not my intention, but I can't assert that it didn't happen in this case - there are some data-dependent invocations of the random number generator.
The current code does not handle the case min == max. There have been other people who requested that this should work and do the obvious thing (i.e. always return min). I've checked in to the current CVS a fix that allows min == max for uniform_int. Jens Maurer
I'm not quite following here, I'm sorry.
I believe David was asking whether I called my own function with
parameters min == max, which would have resulted in a call to
boost::random_number_generator
matts_temp_id wrote:
I presume that you sometimes call random with min = max ?
Well, that's not my intention, but I can't assert that it didn't happen in this case - there are some data-dependent invocations of the random number generator.
The current code does not handle the case min == max. There have been other people who requested that this should work and do the obvious thing (i.e. always return min).
I've checked in to the current CVS a fix that allows min == max for uniform_int.
Jens Maurer
participants (4)
-
David Pearce
-
Jens Maurer
-
matts_temp_id
-
mvogt@juptech.com