From 011f775e3f4fd82f863a5d14d63d9029b8b59cfe Mon Sep 17 00:00:00 2001 From: Lee Rhodes Date: Thu, 26 Mar 2026 18:37:25 -0700 Subject: [PATCH 1/2] Fixes the getRSE() function and updates the SketchesCheckstyle.xml. --- .../java/org/apache/datasketches/req/BaseReqSketch.java | 7 +++---- tools/SketchesCheckstyle.xml | 3 +++ 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/apache/datasketches/req/BaseReqSketch.java b/src/main/java/org/apache/datasketches/req/BaseReqSketch.java index f9411d5f4..fd44a12df 100644 --- a/src/main/java/org/apache/datasketches/req/BaseReqSketch.java +++ b/src/main/java/org/apache/datasketches/req/BaseReqSketch.java @@ -71,7 +71,7 @@ abstract class BaseReqSketch implements QuantilesFloatsAPI { * @return an a priori estimate of relative standard error (RSE, expressed as a number in [0,1]). */ public static double getRSE(final int k, final double rank, final boolean hra, final long totalN) { - return getRankUB(k, 2, rank, 1, hra, totalN); //more conservative to assume > 1 level + return getRankUB(k, 2, rank, 1, hra, totalN) - rank; //more conservative to assume > 1 level } @Override @@ -188,9 +188,8 @@ public boolean isReadOnly() { */ public abstract String viewCompactorDetail(String fmt, boolean allData); - static boolean exactRank(final int k, final int levels, final double rank, - final boolean hra, final long totalN) { - final int baseCap = k * INIT_NUMBER_OF_SECTIONS; + static boolean exactRank(final int k, final int levels, final double rank, final boolean hra, final long totalN) { + final long baseCap = (long)k * INIT_NUMBER_OF_SECTIONS; if ((levels == 1) || (totalN <= baseCap)) { return true; } final double exactRankThresh = (double)baseCap / totalN; return (hra ? (rank >= (1.0 - exactRankThresh)) : (rank <= exactRankThresh)); diff --git a/tools/SketchesCheckstyle.xml b/tools/SketchesCheckstyle.xml index f51987dc5..0ced9d3e3 100644 --- a/tools/SketchesCheckstyle.xml +++ b/tools/SketchesCheckstyle.xml @@ -1,4 +1,7 @@ +