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
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description ArrayOfDoublesCompactSketch
compact()
abstract ArrayOfDoublesCompactSketch
compact(org.apache.datasketches.memory.WritableMemory dstMem)
abstract int
getCurrentBytes()
For compact sketches this is the same as getMaxBytes().double
getEstimate()
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
getMaxBytes()
int
getNumValues()
abstract int
getRetainedEntries()
double
getTheta()
Gets the value of theta as a double between zero and onedouble
getUpperBound(int numStdDev)
Gets the approximate upper error bound given the specified number of Standard Deviations.abstract double[][]
getValues()
abstract boolean
hasMemory()
Returns true if this sketch's data structure is backed by Memory or WritableMemory.static ArrayOfDoublesSketch
heapify(org.apache.datasketches.memory.Memory mem)
Heapify the given Memory as an ArrayOfDoublesSketchstatic ArrayOfDoublesSketch
heapify(org.apache.datasketches.memory.Memory mem, long seed)
Heapify the given Memory and seed as a ArrayOfDoublesSketchboolean
isEmpty()
boolean
isEstimationMode()
Returns true if the sketch is Estimation Mode (as opposed to Exact Mode).abstract ArrayOfDoublesSketchIterator
iterator()
abstract byte[]
toByteArray()
String
toString()
static ArrayOfDoublesSketch
wrap(org.apache.datasketches.memory.Memory mem)
Wrap the given Memory as an ArrayOfDoublesSketchstatic ArrayOfDoublesSketch
wrap(org.apache.datasketches.memory.Memory mem, long seed)
Wrap the given Memory and seed as a ArrayOfDoublesSketch
-
-
-
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 Memoryseed
- 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 Memoryseed
- 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.
-
-