docs: public static int probRound(double value, Random rand) {
  
      if (value >= 0) {
        double lower = Math.floor(value);
        double prob = value - lower;
        if (rand.nextDouble() < prob) {
  	return (int)lower + 1;
        } else {
  	return (int)lower;
        }
      } else {
        double lower = Math.floor(Math.abs(value));
        double prob = Math.abs(value) - lower;
        if (rand.nextDouble() < prob) {
  	return -((int)lower + 1);
        } else {
  	return -(int)lower;
        }
      }
    }