in src/main/java/org/apache/datasketches/characterization/theta/ThetaUnionAccuracyProfile2.java [45:79]
public void configure() {
final Family family = Family.stringToFamily(prop.mustGet("THETA_famName"));
final float p = Float.parseFloat(prop.mustGet("THETA_p"));
final ResizeFactor rf = ResizeFactor.getRF(Integer.parseInt(prop.mustGet("THETA_lgRF")));
final boolean direct = Boolean.parseBoolean(prop.mustGet("THETA_direct"));
rebuild = Boolean.parseBoolean(prop.mustGet("THETA_rebuild"));
final int k = 1 << lgK;
//Configure Union
final SetOperationBuilder bldr = new SetOperationBuilder();
bldr.setNominalEntries(k);
bldr.setP(p);
bldr.setResizeFactor(rf);
if (direct) {
final int bytes = Sketches.getMaxUnionBytes(k);
final WritableMemory wmem = WritableMemory.allocate(bytes);
union = bldr.buildUnion(wmem);
} else {
union = bldr.buildUnion();
}
//Configure Sketch
final UpdateSketchBuilder bldr2 = new UpdateSketchBuilder();
bldr2.setFamily(family);
bldr2.setP(p);
bldr2.setResizeFactor(rf);
bldr2.setNominalEntries(k);
if (direct) {
final int bytes = Sketches.getMaxUpdateSketchBytes(k);
final WritableMemory wmem = WritableMemory.allocate(bytes);
sketch = bldr2.build(wmem);
} else {
sketch = bldr2.build();
}
}