Skip to content
  • deuce's avatar
    Fix a distribution problem in xp_random() with limits that are not a power · 243c3838
    deuce authored
    of two.
    
    Essentially, any bits above the next lowest power of two are less likely
    to be set.  For example, xp_random(6) would use 3 bits of randomness with
    the following distribution:
    
    000 = 0
    001 = 1
    010 = 2
    011 = 3
    100 = 4
    101 = 5
    110 = 0
    111 = 1
    
    As you can see, zero and one are twice as likely to occur than 2,3,4, or 5.
    243c3838