@Override public boolean evaluate(Tuple tuple, ImmutableBytesWritable ptr) { if (cachedResult == null) { double ssd = sumSquaredDeviation(); double result = Math.sqrt(ssd / getDataPointsCount()); cachedResult = new BigDecimal(result); } if (buffer == null) { initBuffer(); } buffer = PDecimal.INSTANCE.toBytes(cachedResult); ptr.set(buffer); return true; }
private double sumSquaredDeviation() { double m = mean(); double result = 0.0; for (Entry<ImmutableBytesPtr, Integer> entry : valueVsCount.entrySet()) { double colValue = (Double) PDouble.INSTANCE.toObject(entry.getKey(), this.stdDevColExp.getDataType()); double delta = colValue - m; result += (delta * delta) * entry.getValue(); } return result; }
@Override public boolean evaluate(Tuple tuple, ImmutableBytesWritable ptr) { if (cachedResult == null) { double ssd = sumSquaredDeviation(); double result = Math.sqrt(ssd / getDataPointsCount()); cachedResult = new BigDecimal(result); } if (buffer == null) { initBuffer(); } buffer = PDecimal.INSTANCE.toBytes(cachedResult); ptr.set(buffer); return true; }
private double sumSquaredDeviation() { double m = mean(); double result = 0.0; for (Entry<ImmutableBytesPtr, Integer> entry : valueVsCount.entrySet()) { double colValue = (Double) PDouble.INSTANCE.toObject(entry.getKey(), this.stdDevColExp.getDataType()); double delta = colValue - m; result += (delta * delta) * entry.getValue(); } return result; }
@Override public boolean evaluate(Tuple tuple, ImmutableBytesWritable ptr) { if (cachedResult == null) { double ssd = sumSquaredDeviation(); double result = Math.sqrt(ssd / getDataPointsCount()); cachedResult = new BigDecimal(result); } if (buffer == null) { initBuffer(); } buffer = PDecimal.INSTANCE.toBytes(cachedResult); ptr.set(buffer); return true; }
private double sumSquaredDeviation() { double m = mean(); double result = 0.0; for (Entry<ImmutableBytesPtr, Integer> entry : valueVsCount.entrySet()) { double colValue = (Double) PDouble.INSTANCE.toObject(entry.getKey(), this.stdDevColExp.getDataType()); double delta = colValue - m; result += (delta * delta) * entry.getValue(); } return result; }