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 Summary

    Modifier and Type
    Method
    Description
    Returns this sketch in compact form, which is immutable.
    compact(org.apache.datasketches.memory.WritableMemory dstMem)
    Returns this sketch in compact form, which is immutable.
    abstract int
    For compact sketches this is the same as getMaxBytes().
    double
    Estimates the cardinality of the set (number of unique values presented to the sketch)
    double
    getLowerBound(int numStdDev)
    Gets the approximate lower error bound given the specified number of Standard Deviations.
    abstract int
    Returns the maximum number of bytes for this sketch when serialized.
    int
    Returns number of double values associated with each key
    abstract int
    Returns number of retained entries
    double
    Gets the value of theta as a double between zero and one
    double
    getUpperBound(int numStdDev)
    Gets the approximate upper error bound given the specified number of Standard Deviations.
    abstract double[][]
    Returns array of arrays of double values in the sketch
    abstract boolean
    Returns true if this sketch's data structure is backed by Memory or WritableMemory.
    heapify(org.apache.datasketches.memory.Memory mem)
    Heapify the given Memory as an ArrayOfDoublesSketch
    heapify(org.apache.datasketches.memory.Memory mem, long seed)
    Heapify the given Memory and seed as a ArrayOfDoublesSketch
    boolean
    boolean
    Returns true if the sketch is Estimation Mode (as opposed to Exact Mode).
    Returns an iterator over the sketch
    abstract byte[]
    Returns serialized representation of the sketch
     
    wrap(org.apache.datasketches.memory.Memory mem)
    Wrap the given Memory as an ArrayOfDoublesSketch
    wrap(org.apache.datasketches.memory.Memory mem, long seed)
    Wrap the given Memory and seed as a ArrayOfDoublesSketch

    Methods inherited from class java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • 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
      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
      Returns:
      number of retained entries
    • getMaxBytes

      public abstract int getMaxBytes()
      Returns the maximum number of bytes for this sketch when serialized.
      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
      Returns:
      serialized representation of the sketch
    • getValues

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

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

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

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

      public String toString()
      Overrides:
      toString in class Object