Class 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 Detail

      • 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
      • 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.