Class ArrayOfDoublesSketch

java.lang.Object
org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesSketch
Direct Known Subclasses:
ArrayOfDoublesCompactSketch, ArrayOfDoublesUpdatableSketch

public abstract class ArrayOfDoublesSketch extends Object
The base class for the tuple sketch of type ArrayOfDoubles, where an array of double values is associated with each key. A primitive array of doubles is used here, as opposed to a generic Summary object, for improved performance.
  • Method Details

    • heapify

      public static ArrayOfDoublesSketch heapify(org.apache.datasketches.memory.Memory mem)
      Heapify the given Memory as an ArrayOfDoublesSketch
      Parameters:
      mem - the given Memory
      Returns:
      an ArrayOfDoublesSketch
    • heapify

      public static ArrayOfDoublesSketch heapify(org.apache.datasketches.memory.Memory mem, long seed)
      Heapify the given Memory and seed as a ArrayOfDoublesSketch
      Parameters:
      mem - the given Memory
      seed - the given seed
      Returns:
      an ArrayOfDoublesSketch
    • wrap

      public static ArrayOfDoublesSketch wrap(org.apache.datasketches.memory.Memory mem)
      Wrap the given Memory as an ArrayOfDoublesSketch
      Parameters:
      mem - the given Memory
      Returns:
      an ArrayOfDoublesSketch
    • wrap

      public static ArrayOfDoublesSketch wrap(org.apache.datasketches.memory.Memory mem, long seed)
      Wrap the given Memory and seed as a ArrayOfDoublesSketch
      Parameters:
      mem - the given Memory
      seed - the given seed
      Returns:
      an ArrayOfDoublesSketch
    • getEstimate

      public double getEstimate()
      Estimates the cardinality of the set (number of unique values presented to the sketch)
      Returns:
      best estimate of the number of unique values
    • getUpperBound

      public double getUpperBound(int numStdDev)
      Gets the approximate upper error bound given the specified number of Standard Deviations. This will return getEstimate() if isEmpty() is true.
      Parameters:
      numStdDev - See Number of Standard Deviations
      Returns:
      the upper bound.
    • getLowerBound

      public double getLowerBound(int numStdDev)
      Gets the approximate lower error bound given the specified number of Standard Deviations. This will return getEstimate() if isEmpty() is true.
      Parameters:
      numStdDev - See Number of Standard Deviations
      Returns:
      the lower bound.
    • hasMemory

      public abstract boolean hasMemory()
      Returns true if this sketch's data structure is backed by Memory or WritableMemory.
      Returns:
      true if this sketch's data structure is backed by Memory or WritableMemory.
    • isEmpty

      public boolean isEmpty()
      Returns:
      true if empty.
    • getNumValues

      public int getNumValues()
      Returns:
      number of double values associated with each key
    • isEstimationMode

      public boolean isEstimationMode()
      Returns true if the sketch is Estimation Mode (as opposed to Exact Mode). This is true if theta < 1.0 AND isEmpty() is false.
      Returns:
      true if the sketch is in estimation mode.
    • getTheta

      public double getTheta()
      Gets the value of theta as a double between zero and one
      Returns:
      the value of theta as a double
    • getRetainedEntries

      public abstract int getRetainedEntries()
      Returns:
      number of retained entries
    • getMaxBytes

      public abstract int getMaxBytes()
      Returns:
      the maximum number of bytes for this sketch when serialized.
    • getCurrentBytes

      public abstract int getCurrentBytes()
      For compact sketches this is the same as getMaxBytes().
      Returns:
      the current number of bytes for this sketch when serialized.
    • toByteArray

      public abstract byte[] toByteArray()
      Returns:
      serialized representation of the sketch
    • getValues

      public abstract double[][] getValues()
      Returns:
      array of arrays of double values in the sketch
    • iterator

      public abstract ArrayOfDoublesSketchIterator iterator()
      Returns:
      iterator over the sketch
    • compact

      public ArrayOfDoublesCompactSketch compact()
      Returns:
      this sketch in compact form, which is immutable.
    • compact

      public abstract ArrayOfDoublesCompactSketch compact(org.apache.datasketches.memory.WritableMemory dstMem)
      Parameters:
      dstMem - the destination WritableMemory
      Returns:
      this sketch in compact form, which is immutable.
    • toString

      public String toString()
      Overrides:
      toString in class Object