in src/main/java/org/apache/datasketches/characterization/fdt/FdtAccuracyProfile.java [210:255]
private void process(final List<AccuracyStats> list) {
final Iterator<AccuracyStats> itr2 = list.iterator();
final int lgK = Integer.numberOfTrailingZeros(sketch.getNominalEntries());
job.println("Sketch: lgK: " + lgK);
job.println(String.format("Slope: %.2f", slope));
job.println(getHeader());
while (itr2.hasNext()) { //compute error for each AccuracyStats
final AccuracyStats as = itr2.next();
final int trials = as.bytes;
final int uniq = (int) as.trueValue;
final double meanEst = as.sumEst / trials;
final double meanRelErr = as.sumRelErr / trials;
final double meanSqErr = as.sumSqErr / trials;
final double normMeanSqErr = meanSqErr / (1.0 * uniq * uniq);
final double rmsRE = Math.sqrt(normMeanSqErr);
as.rmsre = rmsRE;
//OUTPUT
final double[] qarr = as.qsk.getQuantiles(GAUSSIANS_4SD, INCLUSIVE);
final String out = String.format(fmt,
uniq, meanEst, meanRelErr, rmsRE, trials,
qf(qarr[0],uniq),qf(qarr[1],uniq),qf(qarr[2],uniq),qf(qarr[3],uniq),qf(qarr[4],uniq),
qf(qarr[5],uniq),qf(qarr[6],uniq),qf(qarr[7],uniq),qf(qarr[8],uniq),qf(qarr[9],uniq),
qf(qarr[10],uniq));
job.println(out);
}
//Print PostProcessor
if (printPostProcessor) {
final List<Group> gpList = lastPost.getGroupList(priKeyIndices, numStdDev, topN);
final Iterator<Group> itr = gpList.iterator();
job.println("");
job.println("Data From Last Trial");
job.println("Total Sketch Updates : " + sketchUpdates);
job.println("Sketch Retained Items : " + sketch.getRetainedEntries());
job.println("Total Groups generated: " + groupsGenerated);
job.println("Total Groups captured : " + lastPost.getGroupCount());
job.println("Total X-axis Points : " + xPoints);
job.println(new TestGroup().getHeader());
while (itr.hasNext()) {
final Group gp = itr.next();
job.println(gp.toString());
}
}
job.println("");
job.println(sketch.toString());
}