You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@datasketches.apache.org by le...@apache.org on 2019/10/08 19:23:57 UTC
[incubator-datasketches-java] branch master updated: updates to
dictionary
This is an automated email from the ASF dual-hosted git repository.
leerho pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-datasketches-java.git
The following commit(s) were added to refs/heads/master by this push:
new 7705a89 updates to dictionary
7705a89 is described below
commit 7705a89420a163268406b995af1417102858666b
Author: Lee Rhodes <le...@users.noreply.github.com>
AuthorDate: Tue Oct 8 12:23:50 2019 -0700
updates to dictionary
---
src/main/javadoc/resources/dictionary.html | 20 ++++++++++----------
1 file changed, 10 insertions(+), 10 deletions(-)
diff --git a/src/main/javadoc/resources/dictionary.html b/src/main/javadoc/resources/dictionary.html
index 8824099..18004cc 100644
--- a/src/main/javadoc/resources/dictionary.html
+++ b/src/main/javadoc/resources/dictionary.html
@@ -77,22 +77,22 @@ desirable in some applications, especially real-time.
For the Theta Alpha Sketch, a retained hash value is considered <i>dirty</i> if it is ≥ <a href="#thetaLong">Theta Long</a> or < 0.
See <a href="#validHash">Valid Hash</a>.
-<h3><a name="empty">Empty</a></h3>
-In Theta Sketches, the state <i>Empty</i> for a sketch means that the sketch cache has zero hash values and that none of the
-update methods have been called with valid data. In other words, the sketch has never seen any data.
-However, if the P sampling mode is used, a virgin sketch will have a theta < 1.0, and a set operation could be
-(and should be) impacted by this lower theta. This is by design.
+<h3><a name="empty">isEmpty()</a></h3>
+In Theta Sketches, the state <i>isEmpty()</i> for a sketch means that the sketch cache has zero hash values and that none of the
+update methods have been called with valid data. In other words, the sketch has never seen any data.
+This state is equivalent to "null" in the sense that it is safe to exclude empty sketches from set operations.
-It is only safe to exclude empty sketches from set operations if isEmpty() == true and getTheta() == 1.0.
-
-<p>Note that <i>Empty</i> does not mean that theta is 1.0 because if <i>p</i> < 1.0, theta will be set
+<p>Note that <i>isEmpty()</i> does not mean that theta is 1.0 because if <i>p</i> < 1.0, theta will be set
equal to <i>p</i> during construction.
-Also, a cache of zero values (<i>getRetainedEntries(true) = 0</i>) does not mean that the sketch is <i>Empty</i> since set intersection or difference
-operations can result in a sketch with zero values.
+Also, a cache of zero values (<i>getRetainedEntries(true) = 0</i>) does not mean that the sketch is <i>Empty</i> since
+set intersection or difference operations can result in a sketch with zero values.
If the sourcing sketches had seen data then a resulting intersection or difference sketch will be <i>not Empty</i>
and have valid upper and lower bounds even if the cache has zero values. In other words, the resulting sketch represents
a valid distribution of data that just happens to have zero samples collected from it.
+<p>Note also that a virgin Intersection object will return <i>isEmpty() == false</i>. This is because a virgin Intersection object represents
+the Universe Set, which is clearly not empty.</p>
+
<p>These are subtle distinctions and exist for mathematical correctness. Excluding sketches that just have <i>getRetainedEntries(true) = 0</i>
from set operations them could result in impacting the accuracy of results.
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@datasketches.apache.org
For additional commands, e-mail: commits-help@datasketches.apache.org