Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Won't Fix
-
1.1
-
None
-
None
Description
Consider the following test code:
// construct an array of input values, containing infinity
double[] values = new double[]
;
// find the variance using Variance.evaluate(double[])
Variance var1 = new Variance();
double value1 = var1.evaluate(values);
// find the variance using Variance.getResult()
Variance var2 = new Variance();
var2.incrementAll(values);
double value2 = var2.getResult();
// print out the results
System.out.println(value1);
System.out.println(value2);
This code prints out:
NaN
Infinity
So, we get two different variances, depending on the method we use.
(The same is true when we use Double.NEGATIVE_INFINITY as input value instead of Double.POSITIVE_INFINITY.)