public double nextUniform(double lower,double upper){
  if (upper <= lower) {
    throw new MathIllegalArgumentException(LocalizedCoreFormats.LOWER_BOUND_NOT_BELOW_UPPER_BOUND,lower,upper);
  }
  if (Double.isInfinite(lower) || Double.isInfinite(upper)) {
    throw new MathIllegalArgumentException(LocalizedCoreFormats.INFINITE_BOUND);
  }
  if (Double.isNaN(lower) || Double.isNaN(upper)) {
    throw new MathIllegalArgumentException(LocalizedCoreFormats.NAN_NOT_ALLOWED);
  }
  final double u=randomGenerator.nextDouble();
  return u * upper + (1 - u) * lower;
}

public double nextUniform ( double lower , double upper ) { if ( upper <= lower ) { throw new MathIllegalArgumentException ( LocalizedCoreFormats . LOWER_BOUND_NOT_BELOW_UPPER_BOUND , lower , upper ) ; } if ( Double . isInfinite ( lower ) || Double . isInfinite ( upper ) ) { throw new MathIllegalArgumentException ( LocalizedCoreFormats . INFINITE_BOUND ) ; } if ( Double . isNaN ( lower ) || Double . isNaN ( upper ) ) { throw new MathIllegalArgumentException ( LocalizedCoreFormats . NAN_NOT_ALLOWED ) ; } final double u = randomGenerator . nextDouble ( ) ; return u * upper + ( 1 - u ) * lower ; }
returns a double value uniformly distributed over [ lower , upper ]
