1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
// SPDX-FileCopyrightText: 2025 Daniel Vrátil <me@dvratil.cz>
//
// SPDX-License-Identifier: MIT
//
// Based on the original Zetasketch implementation by Google:
// https://github.com/google/zetasketch
// Published under the Apache License 2.0
//! This crate provides fully compatible re-implementation of the
//! [ZetaSketch Java library](https://github.com/google/zetasketch) from Google in Rust.
//!
//! The ZetaSketch library contains implementation of the HyperLogLog++ algorithm as
//! used by various Google Cloud products, such as BigQuery and BigTable. You can use
//! this crate to decode and encode the HyperLogLog++ sketches in a way that is fully
//! compatible with the implementation in BigQuery and BigTable.
//!
//! This crate strives to be a 100% compatible re-implementation of the original Java
//! library and any deviation from the behavior of the Java library is considered to
//! be a bug.
//!
//! ## Usage
//!
//! To decode an existing sketch, you can use [`HyperLogLogPlusPlus::from_bytes`].
//! To create a branch new sketch, you can use the [`HyperLogLogPlusPlusBuilder`].
//! See documentation for each of the classes for more details.
pub
pub use Aggregator;
pub use SketchError;
pub use ;