public Tuple exec()

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);
  }