This is an automated email from the ASF dual-hosted git repository.

tisonkun pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/datasketches-rust.git


The following commit(s) were added to refs/heads/main by this push:
     new 25ce9e4  refactor: keep sketch configuration constants private (#241)
25ce9e4 is described below

commit 25ce9e4a070dc88f2c7f626c1d2470c71b29665a
Author: tison <[email protected]>
AuthorDate: Fri Aug 28 23:05:32 2026 +0800

    refactor: keep sketch configuration constants private (#241)
---
 CHANGELOG.md                             | 1 +
 datasketches/src/bloom/sketch.rs         | 8 ++++----
 datasketches/src/req/mod.rs              | 6 +++---
 tests-integration/tests/req_test/core.rs | 3 +--
 4 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 989f148..8c62c90 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -8,6 +8,7 @@ All significant changes to this project will be documented in 
this file.
 
 * `ThetaIntersection::to_sketch` and `TupleIntersection::to_sketch` now return 
`Option`. Callers must handle `None` until the intersection receives its first 
successful update.
 * `BloomFilterBuilder`, `ThetaSketchBuilder`, `ThetaUnionBuilder`, 
`TupleSketchBuilder`, and `TupleUnionBuilder` now validate their configuration 
when `build` is called, and `build` returns `Result`. Callers must propagate or 
handle construction errors.
+* `BloomFilterBuilder::{MIN_NUM_BITS, MAX_NUM_BITS, MIN_NUM_HASHES, 
MAX_NUM_HASHES}` are no longer public. Callers should pass configurations to 
`build` and handle `InvalidArgument` instead of prevalidating against these 
constants.
 * Fallible sketch and operator constructors now return `Result` directly from 
`new` or `with_seed`. `ReqSketch`, `ReqUnion`, and `TDigestMut` no longer 
provide `try_new`, and the Count-Min parameter suggestion methods also return 
`Result`.
 
 ### New features
diff --git a/datasketches/src/bloom/sketch.rs b/datasketches/src/bloom/sketch.rs
index fbd1308..da0c471 100644
--- a/datasketches/src/bloom/sketch.rs
+++ b/datasketches/src/bloom/sketch.rs
@@ -626,16 +626,16 @@ enum BloomFilterBuilderMode {
 
 impl BloomFilterBuilder {
     /// Minimum allowed requested Bloom filter size, in bits.
-    pub const MIN_NUM_BITS: u64 = 1;
+    const MIN_NUM_BITS: u64 = 1;
     /// Maximum allowed requested Bloom filter size, in bits.
     ///
     /// Derived from serialization limits so the encoded sketch length fits in 
a signed 32-bit size
     /// field.
-    pub const MAX_NUM_BITS: u64 = (i32::MAX as u64 - 
Family::BLOOMFILTER.max_pre_longs as u64) * 64;
+    const MAX_NUM_BITS: u64 = (i32::MAX as u64 - 
Family::BLOOMFILTER.max_pre_longs as u64) * 64;
     /// Minimum allowed number of hash functions.
-    pub const MIN_NUM_HASHES: u16 = 1;
+    const MIN_NUM_HASHES: u16 = 1;
     /// Maximum allowed number of hash functions.
-    pub const MAX_NUM_HASHES: u16 = i16::MAX as u16;
+    const MAX_NUM_HASHES: u16 = i16::MAX as u16;
 
     /// Creates a builder with optimal parameters for a target accuracy.
     ///
diff --git a/datasketches/src/req/mod.rs b/datasketches/src/req/mod.rs
index 77e3698..399236c 100644
--- a/datasketches/src/req/mod.rs
+++ b/datasketches/src/req/mod.rs
@@ -38,11 +38,11 @@ pub use self::union::ReqUnion;
 pub use self::value::ReqValue;
 
 /// Default value of `k` if not specified. Roughly 1% relative error at 95% 
confidence.
-pub const DEFAULT_K: u16 = 12;
+const DEFAULT_K: u16 = 12;
 /// Minimum allowed value of `k`.
-pub const MIN_K: u16 = 4;
+const MIN_K: u16 = 4;
 /// Maximum allowed value of `k`.
-pub const MAX_K: u16 = 1024;
+const MAX_K: u16 = 1024;
 
 /// Selects which tail of the rank domain the sketch optimizes for.
 #[derive(Debug, Clone, Copy, PartialEq, Eq, Default)]
diff --git a/tests-integration/tests/req_test/core.rs 
b/tests-integration/tests/req_test/core.rs
index 6557c6d..375d03e 100644
--- a/tests-integration/tests/req_test/core.rs
+++ b/tests-integration/tests/req_test/core.rs
@@ -19,7 +19,6 @@
 
 use datasketches::error::Error;
 use datasketches::error::ErrorKind;
-use datasketches::req::DEFAULT_K;
 use datasketches::req::RankAccuracy;
 use datasketches::req::ReqSketch;
 use datasketches::req::SearchCriteria;
@@ -113,7 +112,7 @@ fn single_value_hra_answers_exactly() {
 
 #[test]
 fn single_value_lra_preserves_configuration() {
-    let mut sketch = ReqSketch::<f32>::new(DEFAULT_K, 
RankAccuracy::LowRank).unwrap();
+    let mut sketch = ReqSketch::<f32>::new(12, RankAccuracy::LowRank).unwrap();
     sketch.update(1.0f32);
 
     assert_eq!(sketch.rank_accuracy(), RankAccuracy::LowRank);


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to