/** * {@inheritDoc} */ @Override public void increment(final double d) { sumOfLogs.increment(d); }
/** * Add a value to the data * @param value the value to add */ public void addValue(double value) { sumImpl.increment(value); sumsqImpl.increment(value); minImpl.increment(value); maxImpl.increment(value); sumLogImpl.increment(value); secondMoment.increment(value); // If mean, variance or geomean have been overridden, // need to increment these if (meanImpl != mean) { meanImpl.increment(value); } if (varianceImpl != variance) { varianceImpl.increment(value); } if (geoMeanImpl != geoMean) { geoMeanImpl.increment(value); } n++; }
/** * Add an n-tuple to the data * * @param value the n-tuple to add * @throws DimensionMismatchException if the length of the array * does not match the one used at construction */ public void addValue(double[] value) throws DimensionMismatchException { checkDimension(value.length); for (int i = 0; i < k; ++i) { double v = value[i]; sumImpl[i].increment(v); sumSqImpl[i].increment(v); minImpl[i].increment(v); maxImpl[i].increment(v); sumLogImpl[i].increment(v); geoMeanImpl[i].increment(v); meanImpl[i].increment(v); } covarianceImpl.increment(value); n++; }
public void addStat(long stat) { for (StorelessUnivariateStatistic statistic : stats) { statistic.increment(stat); } }
/** * {@inheritDoc} */ @Override public void increment(final double d) { sumOfLogs.increment(d); }
/** * {@inheritDoc} */ @Override public void increment(final double d) { sumOfLogs.increment(d); }
@Override public void increment(double v) { statImpl.increment(v); }
@Override public void increment(double v) { statImpl.increment(v); }
@Override public void onIncrement(final double value) { for (final StorelessUnivariateStatistic stat : this.statistics.values()) { stat.increment(value); } }
/** * Add a value to the data * @param value the value to add */ public void addValue(double value) { sumImpl.increment(value); sumsqImpl.increment(value); minImpl.increment(value); maxImpl.increment(value); sumLogImpl.increment(value); secondMoment.increment(value); // If mean, variance or geomean have been overridden, // need to increment these if (meanImpl != mean) { meanImpl.increment(value); } if (varianceImpl != variance) { varianceImpl.increment(value); } if (geoMeanImpl != geoMean) { geoMeanImpl.increment(value); } n++; }
/** * Add a value to the data * @param value the value to add */ public void addValue(double value) { sumImpl.increment(value); sumsqImpl.increment(value); minImpl.increment(value); maxImpl.increment(value); sumLogImpl.increment(value); secondMoment.increment(value); // If mean, variance or geomean have been overridden, // need to increment these if (meanImpl != mean) { meanImpl.increment(value); } if (varianceImpl != variance) { varianceImpl.increment(value); } if (geoMeanImpl != geoMean) { geoMeanImpl.increment(value); } n++; }
/** * Add an n-tuple to the data * * @param value the n-tuple to add * @throws DimensionMismatchException if the length of the array * does not match the one used at construction */ public void addValue(double[] value) throws DimensionMismatchException { checkDimension(value.length); for (int i = 0; i < k; ++i) { double v = value[i]; sumImpl[i].increment(v); sumSqImpl[i].increment(v); minImpl[i].increment(v); maxImpl[i].increment(v); sumLogImpl[i].increment(v); geoMeanImpl[i].increment(v); meanImpl[i].increment(v); } covarianceImpl.increment(value); n++; }
@Override public Number apply(final Number value) { stat.increment(value.doubleValue()); return stat.getResult(); }
@Override public void reset() { stat.clear(); stat.increment(initialValue.doubleValue()); } }
@Override public Number apply(final Number value) { stat.increment(value.doubleValue()); return stat.getResult(); }
@Override public void reset() { stat.clear(); stat.increment(initialValue.doubleValue()); } }
@Override public Number apply(final List<V> values) { stat.clear(); for (Object value : values) { if (value != null) { if (value instanceof Boolean) { value = Boolean.class.cast(value) ? 1 : 0; } stat.increment(Number.class.cast(value).doubleValue()); } } return stat.getResult(); } }
@Override public Number apply(final List<V> values) { stat.clear(); for (Object value : values) { if (value != null) { if (value instanceof Boolean) { value = Boolean.class.cast(value) ? 1 : 0; } stat.increment(Number.class.cast(value).doubleValue()); } } return stat.getResult(); } }
@Override public FieldValue evaluate(List<FieldValue> arguments){ StorelessUnivariateStatistic statistic = createStatistic(); DataType dataType = null; for(int i = 0; i < arguments.size(); i++){ FieldValue value = getOptionalArgument(arguments, i); // "Missing values in the input to an aggregate function are simply ignored" if(Objects.equals(FieldValues.MISSING_VALUE, value)){ continue; } statistic.increment((value.asNumber()).doubleValue()); if(dataType != null){ dataType = TypeUtil.getCommonDataType(dataType, value.getDataType()); } else { dataType = value.getDataType(); } } // "If all inputs are missing, then the result evaluates to a missing value" if(statistic.getN() == 0){ return FieldValues.MISSING_VALUE; } Double result = statistic.getResult(); return FieldValueUtil.create(getResultDataType(dataType), OpType.CONTINUOUS, result); }