in src/main/java/org/apache/datasketches/hll/HllSketch.java [470:530]
public String toString(final boolean summary, final boolean detail, final boolean auxDetail,
final boolean all) {
final StringBuilder sb = new StringBuilder();
if (summary) {
sb.append("### HLL SKETCH SUMMARY: ").append(LS);
sb.append(" Log Config K : ").append(getLgConfigK()).append(LS);
sb.append(" Hll Target : ").append(getTgtHllType()).append(LS);
sb.append(" Current Mode : ").append(getCurMode()).append(LS);
sb.append(" Memory : ").append(isMemory()).append(LS);
sb.append(" LB : ").append(getLowerBound(1)).append(LS);
sb.append(" Estimate : ").append(getEstimate()).append(LS);
sb.append(" UB : ").append(getUpperBound(1)).append(LS);
sb.append(" OutOfOrder Flag: ").append(isOutOfOrder()).append(LS);
if (getCurMode() == CurMode.HLL) {
final AbstractHllArray absHll = (AbstractHllArray) hllSketchImpl;
sb.append(" CurMin : ").append(absHll.getCurMin()).append(LS);
sb.append(" NumAtCurMin : ").append(absHll.getNumAtCurMin()).append(LS);
sb.append(" HipAccum : ").append(absHll.getHipAccum()).append(LS);
sb.append(" KxQ0 : ").append(absHll.getKxQ0()).append(LS);
sb.append(" KxQ1 : ").append(absHll.getKxQ1()).append(LS);
sb.append(" Rebuild KxQ Flg: ").append(absHll.isRebuildCurMinNumKxQFlag()).append(LS);
} else {
sb.append(" Coupon Count : ")
.append(((AbstractCoupons)hllSketchImpl).getCouponCount()).append(LS);
}
}
if (detail) {
sb.append("### HLL SKETCH DATA DETAIL: ").append(LS);
final PairIterator pitr = iterator();
sb.append(pitr.getHeader()).append(LS);
if (all) {
while (pitr.nextAll()) {
sb.append(pitr.getString()).append(LS);
}
} else {
while (pitr.nextValid()) {
sb.append(pitr.getString()).append(LS);
}
}
}
if (auxDetail) {
if ((getCurMode() == CurMode.HLL) && (getTgtHllType() == TgtHllType.HLL_4)) {
final AbstractHllArray absHll = (AbstractHllArray) hllSketchImpl;
final PairIterator auxItr = absHll.getAuxIterator();
if (auxItr != null) {
sb.append("### HLL SKETCH AUX DETAIL: ").append(LS);
sb.append(auxItr.getHeader()).append(LS);
if (all) {
while (auxItr.nextAll()) {
sb.append(auxItr.getString()).append(LS);
}
} else {
while (auxItr.nextValid()) {
sb.append(auxItr.getString()).append(LS);
}
}
}
}
}
return sb.toString();
}