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

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.

   
Ship it!
Posted (Dec. 1, 2011, 8:07 a.m.)



  
Ship it!
Posted (Dec. 3, 2011, 5:24 a.m.)