/** {@inheritDoc} */ @Override public void increment(final double d) { if (n < 1) { m3 = m2 = m1 = 0.0; } double prevM2 = m2; super.increment(d); nDevSq = nDev * nDev; double n0 = n; m3 = m3 - 3.0 * nDev * prevM2 + (n0 - 1) * (n0 - 2) * nDevSq * dev; }
/** {@inheritDoc} */ @Override public void clear() { super.clear(); m3 = Double.NaN; nDevSq = Double.NaN; }
/** * Copies source to dest. * * <p>Neither source nor dest can be null. * * @param source ThirdMoment to copy * @param dest ThirdMoment to copy to * @throws NullPointerException if either source or dest is null */ public static void copy(ThirdMoment source, ThirdMoment dest) { SecondMoment.copy(source, dest); dest.m3 = source.m3; dest.nDevSq = source.nDevSq; }