Variance extends AbstractStorelessUnivariateStatistic implements Serializable, WeightedEvaluation { @Override public double evaluate(final double[] values) throws MathIllegalArgumentException { if (values == null) { throw new NullArgumentException(LocalizedFormats.INPUT_ARRAY); } return evaluate(values, 0, values.length); } Variance();  Variance(final SecondMoment m2);  Variance(boolean isBiasCorrected);  Variance(boolean isBiasCorrected, SecondMoment m2);  Variance(Variance original); @Override void increment(final double d); @Override double getResult(); long getN(); @Override void clear(); @Override double evaluate(final double[] values); @Override double evaluate(final double[] values, final int begin, final int length); double evaluate(final double[] values, final double[] weights,
                           final int begin, final int length); double evaluate(final double[] values, final double[] weights); double evaluate(final double[] values, final double mean,
            final int begin, final int length); double evaluate(final double[] values, final double mean); double evaluate(final double[] values, final double[] weights,
    final double mean, final int begin, final int length); double evaluate(final double[] values, final double[] weights, final double mean); boolean isBiasCorrected(); void setBiasCorrected(boolean biasCorrected); @Override Variance copy(); static void copy(Variance source, Variance dest);  }
@Test public void testWeightedVariance() { Variance variance = new Variance(); Assert.assertEquals(expectedWeightedValue(), variance.evaluate(testArray, testWeightsArray, 0, testArray.length), getTolerance()); Assert.assertEquals(expectedValue(), variance.evaluate(testArray, unitWeightsArray, 0, testArray.length), getTolerance()); Assert.assertEquals(expectedValue(), variance.evaluate(testArray, MathArrays.normalizeArray(identicalWeightsArray, testArray.length), 0, testArray.length), getTolerance()); }