[ https://issues.apache.org/jira/browse/RNG-140?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17362947#comment-17362947 ]
Gilles Sadowski commented on RNG-140: ------------------------------------- Could the method be added to the {{UniformRandomProvider}} interface and implemented in {{BaseProvider}}? Code (from Commons Math): {code:java} public long nextLong(final long lower, final long upper) { if (lower >= upper) { throw new NumberIsTooLargeException(LocalizedFormats.LOWER_BOUND_NOT_BELOW_UPPER_BOUND, lower, upper, false); } final long max = (upper - lower) + 1; if (max <= 0) { // Range is too wide to fit in a positive long (larger than 2^63); // as it covers more than half the long range, we use directly a // simple rejection method. while (true) { final long r = rng.nextLong(); if (r >= lower && r <= upper) { return r; } } } else if (max < Integer.MAX_VALUE){ // We can shift the range and generate directly a positive int. return lower + rng.nextInt((int) max); } else { // We can shift the range and generate directly a positive long. return lower + rng.nextLong(max); } } {code} > nextLong(long lo, long hi) > -------------------------- > > Key: RNG-140 > URL: https://issues.apache.org/jira/browse/RNG-140 > Project: Commons RNG > Issue Type: Wish > Components: sampling > Reporter: Gilles Sadowski > Priority: Minor > Labels: api > > Replacement for functionality defined in > [{{RandomUtils}}|https://gitbox.apache.org/repos/asf?p=commons-math.git;a=blob;f=commons-math-legacy/src/main/java/org/apache/commons/math4/legacy/random/RandomUtils.java;h=60060e71d5bbe1d00878a1f54f8bb1ff88b65f11;hb=HEAD#l293]. -- This message was sent by Atlassian Jira (v8.3.4#803005)