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 &ge; <a href="#thetaLong">Theta Long</a> or &lt; 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 &lt; 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> &lt; 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> &lt; 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