Fix signed integer UB in random.
There were some last signed overflows. Required some re-writing of the test to compute uniform bin probabilities.
There were some last signed overflows. Required some re-writing of the test to compute uniform bin probabilities.