in src/main/java/org/apache/datasketches/pig/theta/AexcludeB.java [118:139]
public Tuple exec(final Tuple inputTuple) throws IOException {
//The exec is a stateless function. It operates on the input and returns a result.
// It can only call static functions.
final Object objA = extractFieldAtIndex(inputTuple, 0);
Sketch sketchA = null;
if (objA != null) {
final DataByteArray dbaA = (DataByteArray)objA;
final Memory srcMem = Memory.wrap(dbaA.get());
sketchA = Sketch.wrap(srcMem, this.seed_);
}
final Object objB = extractFieldAtIndex(inputTuple, 1);
Sketch sketchB = null;
if (objB != null) {
final DataByteArray dbaB = (DataByteArray)objB;
final Memory srcMem = Memory.wrap(dbaB.get());
sketchB = Sketch.wrap(srcMem, this.seed_);
}
final AnotB aNOTb = SetOperation.builder().setSeed(this.seed_).buildANotB();
final CompactSketch compactSketch = aNOTb.aNotB(sketchA, sketchB, true, null);
return compactOrderedSketchToTuple(compactSketch);
}