Simple question: will the following code work for finding the minimum value in an array of doubles (assume at least one value exists):
double[] values = ...
double currentMin = Double.POSITIVE_INFINITY;
for(int i = 0; i < values.length; i++) {
if(values[i] < currentMin) {
currentMin = values[i];
}
}
return currentMin;
The crux of the question is whether POSITIVE_INFINITY will behave as expected when compared to other (real) double values, as well as potential infinities themselves.
It is safe to use Double.POSITIVE_INFINITY. From the specification
All values other than NaN are ordered, with negative infinity less than all finite values, and positive infinity greater than all finite values.