in src/main/scala/org/apache/spark/sql/datasketches/kll/expressions/KllDoublesSketchExpressions.scala [272:284]
override def nullSafeEval(sketchInput: Any, splitPointsInput: Any, isInclusiveInput: Any): Any = {
val sketchBytes = sketchInput.asInstanceOf[Array[Byte]]
val splitPoints = splitPointsInput.asInstanceOf[GenericArrayData].toDoubleArray()
val sketch = KllDoublesSketch.wrap(Memory.wrap(sketchBytes))
val result: Array[Double] =
if (isPmf) {
sketch.getPMF(splitPoints, if (isInclusive) QuantileSearchCriteria.INCLUSIVE else QuantileSearchCriteria.EXCLUSIVE)
} else {
sketch.getCDF(splitPoints, if (isInclusive) QuantileSearchCriteria.INCLUSIVE else QuantileSearchCriteria.EXCLUSIVE)
}
new GenericArrayData(result)
}