Review Board 2.0.15


Base: Fixed shift amount in genrand() to work with large numbers

Review Request #923 - Created Nov. 30, 2011 and submitted - Latest diff uploaded

Information
Ali Saidi
gem5
Reviewers
Default
ali, gblack, nate, stever
Base: Fixed shift amount in genrand() to work with large numbers

The previous version didn't work correctly with max integer values (2^31-1 for 32-bit, 2^63-1 for 64bit version), causing "shift" to become -1.
For smaller numbers, it wouldn't have caused functional errors, but would have resulted in more than necessary loops in the while loop.
Special-cased cases when (max + 1 == 0) to prevent the ceilLog2 functions from failing.