You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@datasketches.apache.org by ti...@apache.org on 2026/07/24 06:03:45 UTC
(datasketches-tck) 03/03: generate cpp snapshots
This is an automated email from the ASF dual-hosted git repository.
tisonkun pushed a commit to branch generator
in repository https://gitbox.apache.org/repos/asf/datasketches-tck.git
commit 8b193674ac56d69375d5759611d6cafb127c51c9
Author: tison <wa...@gmail.com>
AuthorDate: Fri Jul 24 14:03:16 2026 +0800
generate cpp snapshots
Signed-off-by: tison <wa...@gmail.com>
---
serialization/cpp/generator.py | 79 +++++++++++++++++++++
serialization/cpp/snapshots/aod_1_n0_cpp.sk | 1 +
serialization/cpp/snapshots/aod_1_n1000000_cpp.sk | Bin 0 -> 104984 bytes
serialization/cpp/snapshots/aod_1_n100000_cpp.sk | Bin 0 -> 68584 bytes
serialization/cpp/snapshots/aod_1_n10000_cpp.sk | Bin 0 -> 85208 bytes
serialization/cpp/snapshots/aod_1_n1000_cpp.sk | Bin 0 -> 16024 bytes
serialization/cpp/snapshots/aod_1_n100_cpp.sk | Bin 0 -> 1624 bytes
serialization/cpp/snapshots/aod_1_n10_cpp.sk | Bin 0 -> 184 bytes
serialization/cpp/snapshots/aod_1_n1_cpp.sk | Bin 0 -> 40 bytes
.../snapshots/aod_1_non_empty_no_entries_cpp.sk | Bin 0 -> 16 bytes
serialization/cpp/snapshots/aod_3_n0_cpp.sk | 1 +
serialization/cpp/snapshots/aod_3_n1000000_cpp.sk | Bin 0 -> 209944 bytes
serialization/cpp/snapshots/aod_3_n100000_cpp.sk | Bin 0 -> 137144 bytes
serialization/cpp/snapshots/aod_3_n10000_cpp.sk | Bin 0 -> 170392 bytes
serialization/cpp/snapshots/aod_3_n1000_cpp.sk | Bin 0 -> 32024 bytes
serialization/cpp/snapshots/aod_3_n100_cpp.sk | Bin 0 -> 3224 bytes
serialization/cpp/snapshots/aod_3_n10_cpp.sk | Bin 0 -> 344 bytes
serialization/cpp/snapshots/aod_3_n1_cpp.sk | Bin 0 -> 56 bytes
serialization/cpp/snapshots/aos_1_n0_cpp.sk | Bin 0 -> 8 bytes
serialization/cpp/snapshots/aos_1_n1000000_cpp.sk | Bin 0 -> 186166 bytes
serialization/cpp/snapshots/aos_1_n100000_cpp.sk | Bin 0 -> 118446 bytes
serialization/cpp/snapshots/aos_1_n10000_cpp.sk | Bin 0 -> 138803 bytes
serialization/cpp/snapshots/aos_1_n1000_cpp.sk | Bin 0 -> 24906 bytes
serialization/cpp/snapshots/aos_1_n100_cpp.sk | Bin 0 -> 2406 bytes
serialization/cpp/snapshots/aos_1_n10_cpp.sk | Bin 0 -> 246 bytes
serialization/cpp/snapshots/aos_1_n1_cpp.sk | Bin 0 -> 31 bytes
.../snapshots/aos_1_non_empty_no_entries_cpp.sk | Bin 0 -> 24 bytes
serialization/cpp/snapshots/aos_3_n0_cpp.sk | Bin 0 -> 8 bytes
serialization/cpp/snapshots/aos_3_n1000000_cpp.sk | Bin 0 -> 304800 bytes
serialization/cpp/snapshots/aos_3_n100000_cpp.sk | Bin 0 -> 187976 bytes
serialization/cpp/snapshots/aos_3_n10000_cpp.sk | Bin 0 -> 212681 bytes
serialization/cpp/snapshots/aos_3_n1000_cpp.sk | Bin 0 -> 36686 bytes
serialization/cpp/snapshots/aos_3_n100_cpp.sk | Bin 0 -> 3386 bytes
serialization/cpp/snapshots/aos_3_n10_cpp.sk | Bin 0 -> 326 bytes
serialization/cpp/snapshots/aos_3_n1_cpp.sk | Bin 0 -> 39 bytes
.../cpp/snapshots/aos_empty_strings_cpp.sk | Bin 0 -> 86 bytes
serialization/cpp/snapshots/aos_multikey_n0_cpp.sk | Bin 0 -> 8 bytes
.../cpp/snapshots/aos_multikey_n1000000_cpp.sk | Bin 0 -> 192012 bytes
.../cpp/snapshots/aos_multikey_n100000_cpp.sk | Bin 0 -> 121208 bytes
.../cpp/snapshots/aos_multikey_n10000_cpp.sk | Bin 0 -> 138305 bytes
.../cpp/snapshots/aos_multikey_n1000_cpp.sk | Bin 0 -> 24906 bytes
.../cpp/snapshots/aos_multikey_n100_cpp.sk | Bin 0 -> 2406 bytes
.../cpp/snapshots/aos_multikey_n10_cpp.sk | Bin 0 -> 246 bytes
serialization/cpp/snapshots/aos_multikey_n1_cpp.sk | Bin 0 -> 31 bytes
serialization/cpp/snapshots/aos_unicode_cpp.sk | Bin 0 -> 122 bytes
serialization/cpp/snapshots/bf_n0_h3_cpp.sk | Bin 0 -> 24 bytes
serialization/cpp/snapshots/bf_n0_h5_cpp.sk | Bin 0 -> 24 bytes
serialization/cpp/snapshots/bf_n10000_h3_cpp.sk | Bin 0 -> 1288 bytes
serialization/cpp/snapshots/bf_n10000_h5_cpp.sk | Bin 0 -> 1288 bytes
serialization/cpp/snapshots/bf_n2000000_h3_cpp.sk | Bin 0 -> 250032 bytes
serialization/cpp/snapshots/bf_n2000000_h5_cpp.sk | Bin 0 -> 250032 bytes
serialization/cpp/snapshots/bf_n30000000_h3_cpp.sk | Bin 0 -> 3750032 bytes
serialization/cpp/snapshots/bf_n30000000_h5_cpp.sk | Bin 0 -> 3750032 bytes
serialization/cpp/snapshots/count_min_empty_cpp.sk | Bin 0 -> 16 bytes
.../cpp/snapshots/count_min_non_empty_cpp.sk | Bin 0 -> 24600 bytes
serialization/cpp/snapshots/cpc_n0_cpp.sk | Bin 0 -> 8 bytes
serialization/cpp/snapshots/cpc_n100_cpp.sk | Bin 0 -> 132 bytes
serialization/cpp/snapshots/cpc_n20000_cpp.sk | Bin 0 -> 1280 bytes
serialization/cpp/snapshots/cpc_n2000_cpp.sk | Bin 0 -> 856 bytes
serialization/cpp/snapshots/cpc_n200_cpp.sk | Bin 0 -> 204 bytes
.../cpp/snapshots/frequent_long_n0_cpp.sk | Bin 0 -> 8 bytes
.../cpp/snapshots/frequent_long_n1000000_cpp.sk | Bin 0 -> 160 bytes
.../cpp/snapshots/frequent_long_n100000_cpp.sk | Bin 0 -> 672 bytes
.../cpp/snapshots/frequent_long_n10000_cpp.sk | Bin 0 -> 96 bytes
.../cpp/snapshots/frequent_long_n1000_cpp.sk | Bin 0 -> 352 bytes
.../cpp/snapshots/frequent_long_n100_cpp.sk | Bin 0 -> 64 bytes
.../cpp/snapshots/frequent_long_n10_cpp.sk | Bin 0 -> 192 bytes
.../cpp/snapshots/frequent_long_n1_cpp.sk | Bin 0 -> 48 bytes
.../cpp/snapshots/frequent_string_ascii_cpp.sk | Bin 0 -> 196 bytes
.../cpp/snapshots/frequent_string_n0_cpp.sk | Bin 0 -> 8 bytes
.../cpp/snapshots/frequent_string_n1000000_cpp.sk | Bin 0 -> 177 bytes
.../cpp/snapshots/frequent_string_n100000_cpp.sk | Bin 0 -> 713 bytes
.../cpp/snapshots/frequent_string_n10000_cpp.sk | Bin 0 -> 97 bytes
.../cpp/snapshots/frequent_string_n1000_cpp.sk | Bin 0 -> 333 bytes
.../cpp/snapshots/frequent_string_n100_cpp.sk | Bin 0 -> 61 bytes
.../cpp/snapshots/frequent_string_n10_cpp.sk | Bin 0 -> 163 bytes
.../cpp/snapshots/frequent_string_n1_cpp.sk | Bin 0 -> 45 bytes
.../cpp/snapshots/frequent_string_utf8_cpp.sk | Bin 0 -> 182 bytes
serialization/cpp/snapshots/hll4_n0_cpp.sk | Bin 0 -> 8 bytes
serialization/cpp/snapshots/hll4_n1000000_cpp.sk | Bin 0 -> 2092 bytes
serialization/cpp/snapshots/hll4_n100000_cpp.sk | Bin 0 -> 2092 bytes
serialization/cpp/snapshots/hll4_n10000_cpp.sk | Bin 0 -> 2088 bytes
serialization/cpp/snapshots/hll4_n1000_cpp.sk | Bin 0 -> 2088 bytes
serialization/cpp/snapshots/hll4_n100_cpp.sk | Bin 0 -> 412 bytes
serialization/cpp/snapshots/hll4_n10_cpp.sk | Bin 0 -> 52 bytes
serialization/cpp/snapshots/hll4_n1_cpp.sk | Bin 0 -> 12 bytes
serialization/cpp/snapshots/hll6_n0_cpp.sk | Bin 0 -> 8 bytes
serialization/cpp/snapshots/hll6_n1000000_cpp.sk | Bin 0 -> 3113 bytes
serialization/cpp/snapshots/hll6_n100000_cpp.sk | Bin 0 -> 3113 bytes
serialization/cpp/snapshots/hll6_n10000_cpp.sk | Bin 0 -> 3113 bytes
serialization/cpp/snapshots/hll6_n1000_cpp.sk | Bin 0 -> 3113 bytes
serialization/cpp/snapshots/hll6_n100_cpp.sk | Bin 0 -> 412 bytes
serialization/cpp/snapshots/hll6_n10_cpp.sk | Bin 0 -> 52 bytes
serialization/cpp/snapshots/hll6_n1_cpp.sk | 1 +
serialization/cpp/snapshots/hll8_n0_cpp.sk | Bin 0 -> 8 bytes
serialization/cpp/snapshots/hll8_n1000000_cpp.sk | Bin 0 -> 4136 bytes
serialization/cpp/snapshots/hll8_n100000_cpp.sk | Bin 0 -> 4136 bytes
serialization/cpp/snapshots/hll8_n10000_cpp.sk | Bin 0 -> 4136 bytes
serialization/cpp/snapshots/hll8_n1000_cpp.sk | Bin 0 -> 4136 bytes
serialization/cpp/snapshots/hll8_n100_cpp.sk | Bin 0 -> 412 bytes
serialization/cpp/snapshots/hll8_n10_cpp.sk | Bin 0 -> 52 bytes
serialization/cpp/snapshots/hll8_n1_cpp.sk | 1 +
serialization/cpp/snapshots/kll_double_n0_cpp.sk | Bin 0 -> 8 bytes
.../cpp/snapshots/kll_double_n1000000_cpp.sk | Bin 0 -> 5000 bytes
.../cpp/snapshots/kll_double_n100000_cpp.sk | Bin 0 -> 4728 bytes
.../cpp/snapshots/kll_double_n10000_cpp.sk | Bin 0 -> 4372 bytes
.../cpp/snapshots/kll_double_n1000_cpp.sk | Bin 0 -> 2640 bytes
serialization/cpp/snapshots/kll_double_n100_cpp.sk | Bin 0 -> 840 bytes
serialization/cpp/snapshots/kll_double_n10_cpp.sk | Bin 0 -> 120 bytes
serialization/cpp/snapshots/kll_double_n1_cpp.sk | Bin 0 -> 16 bytes
serialization/cpp/snapshots/kll_float_n0_cpp.sk | Bin 0 -> 8 bytes
.../cpp/snapshots/kll_float_n1000000_cpp.sk | Bin 0 -> 2536 bytes
.../cpp/snapshots/kll_float_n100000_cpp.sk | Bin 0 -> 2392 bytes
.../cpp/snapshots/kll_float_n10000_cpp.sk | Bin 0 -> 2208 bytes
serialization/cpp/snapshots/kll_float_n1000_cpp.sk | Bin 0 -> 1336 bytes
serialization/cpp/snapshots/kll_float_n100_cpp.sk | Bin 0 -> 432 bytes
serialization/cpp/snapshots/kll_float_n10_cpp.sk | Bin 0 -> 72 bytes
serialization/cpp/snapshots/kll_float_n1_cpp.sk | Bin 0 -> 12 bytes
serialization/cpp/snapshots/kll_long_n0_cpp.sk | Bin 0 -> 8 bytes
.../cpp/snapshots/kll_long_n1000000_cpp.sk | Bin 0 -> 5000 bytes
.../cpp/snapshots/kll_long_n100000_cpp.sk | Bin 0 -> 4728 bytes
serialization/cpp/snapshots/kll_long_n10000_cpp.sk | Bin 0 -> 4372 bytes
serialization/cpp/snapshots/kll_long_n1000_cpp.sk | Bin 0 -> 2640 bytes
serialization/cpp/snapshots/kll_long_n100_cpp.sk | Bin 0 -> 840 bytes
serialization/cpp/snapshots/kll_long_n10_cpp.sk | Bin 0 -> 120 bytes
serialization/cpp/snapshots/kll_long_n1_cpp.sk | Bin 0 -> 16 bytes
serialization/cpp/snapshots/kll_string_n0_cpp.sk | Bin 0 -> 8 bytes
.../cpp/snapshots/kll_string_n1000000_cpp.sk | Bin 0 -> 6198 bytes
.../cpp/snapshots/kll_string_n100000_cpp.sk | Bin 0 -> 5267 bytes
.../cpp/snapshots/kll_string_n10000_cpp.sk | Bin 0 -> 4337 bytes
.../cpp/snapshots/kll_string_n1000_cpp.sk | Bin 0 -> 2286 bytes
serialization/cpp/snapshots/kll_string_n100_cpp.sk | Bin 0 -> 628 bytes
serialization/cpp/snapshots/kll_string_n10_cpp.sk | Bin 0 -> 86 bytes
serialization/cpp/snapshots/kll_string_n1_cpp.sk | Bin 0 -> 13 bytes
.../cpp/snapshots/quantiles_double_n0_cpp.sk | Bin 0 -> 8 bytes
.../cpp/snapshots/quantiles_double_n1000000_cpp.sk | Bin 0 -> 6688 bytes
.../cpp/snapshots/quantiles_double_n100000_cpp.sk | Bin 0 -> 5408 bytes
.../cpp/snapshots/quantiles_double_n10000_cpp.sk | Bin 0 -> 4256 bytes
.../cpp/snapshots/quantiles_double_n1000_cpp.sk | Bin 0 -> 3936 bytes
.../cpp/snapshots/quantiles_double_n100_cpp.sk | Bin 0 -> 832 bytes
.../cpp/snapshots/quantiles_double_n10_cpp.sk | Bin 0 -> 112 bytes
.../cpp/snapshots/quantiles_double_n1_cpp.sk | Bin 0 -> 40 bytes
.../cpp/snapshots/quantiles_string_n0_cpp.sk | Bin 0 -> 8 bytes
.../cpp/snapshots/quantiles_string_n1000000_cpp.sk | Bin 0 -> 8327 bytes
.../cpp/snapshots/quantiles_string_n100000_cpp.sk | Bin 0 -> 6058 bytes
.../cpp/snapshots/quantiles_string_n10000_cpp.sk | Bin 0 -> 4239 bytes
.../cpp/snapshots/quantiles_string_n1000_cpp.sk | Bin 0 -> 3419 bytes
.../cpp/snapshots/quantiles_string_n100_cpp.sk | Bin 0 -> 620 bytes
.../cpp/snapshots/quantiles_string_n10_cpp.sk | Bin 0 -> 78 bytes
.../cpp/snapshots/quantiles_string_n1_cpp.sk | Bin 0 -> 31 bytes
serialization/cpp/snapshots/req_float_n0_cpp.sk | Bin 0 -> 8 bytes
.../cpp/snapshots/req_float_n1000000_cpp.sk | Bin 0 -> 8148 bytes
.../cpp/snapshots/req_float_n100000_cpp.sk | Bin 0 -> 5332 bytes
.../cpp/snapshots/req_float_n10000_cpp.sk | Bin 0 -> 3448 bytes
serialization/cpp/snapshots/req_float_n1000_cpp.sk | Bin 0 -> 1364 bytes
serialization/cpp/snapshots/req_float_n100_cpp.sk | Bin 0 -> 440 bytes
serialization/cpp/snapshots/req_float_n10_cpp.sk | Bin 0 -> 68 bytes
serialization/cpp/snapshots/req_float_n1_cpp.sk | Bin 0 -> 12 bytes
.../cpp/snapshots/tdigest_double_buf_n0_cpp.sk | Bin 0 -> 8 bytes
.../snapshots/tdigest_double_buf_n1000000_cpp.sk | Bin 0 -> 5392 bytes
.../snapshots/tdigest_double_buf_n100000_cpp.sk | Bin 0 -> 2480 bytes
.../cpp/snapshots/tdigest_double_buf_n10000_cpp.sk | Bin 0 -> 8032 bytes
.../cpp/snapshots/tdigest_double_buf_n1000_cpp.sk | Bin 0 -> 2736 bytes
.../cpp/snapshots/tdigest_double_buf_n100_cpp.sk | Bin 0 -> 832 bytes
.../cpp/snapshots/tdigest_double_buf_n10_cpp.sk | Bin 0 -> 112 bytes
.../cpp/snapshots/tdigest_double_buf_n1_cpp.sk | Bin 0 -> 16 bytes
.../cpp/snapshots/tdigest_double_n0_cpp.sk | Bin 0 -> 8 bytes
.../cpp/snapshots/tdigest_double_n1000000_cpp.sk | Bin 0 -> 2224 bytes
.../cpp/snapshots/tdigest_double_n100000_cpp.sk | Bin 0 -> 2192 bytes
.../cpp/snapshots/tdigest_double_n10000_cpp.sk | Bin 0 -> 1984 bytes
.../cpp/snapshots/tdigest_double_n1000_cpp.sk | Bin 0 -> 1584 bytes
.../cpp/snapshots/tdigest_double_n100_cpp.sk | Bin 0 -> 1248 bytes
.../cpp/snapshots/tdigest_double_n10_cpp.sk | Bin 0 -> 192 bytes
.../cpp/snapshots/tdigest_double_n1_cpp.sk | Bin 0 -> 16 bytes
.../cpp/snapshots/tdigest_float_buf_n0_cpp.sk | Bin 0 -> 8 bytes
.../snapshots/tdigest_float_buf_n1000000_cpp.sk | Bin 0 -> 2704 bytes
.../cpp/snapshots/tdigest_float_buf_n100000_cpp.sk | Bin 0 -> 1248 bytes
.../cpp/snapshots/tdigest_float_buf_n10000_cpp.sk | Bin 0 -> 4024 bytes
.../cpp/snapshots/tdigest_float_buf_n1000_cpp.sk | Bin 0 -> 1376 bytes
.../cpp/snapshots/tdigest_float_buf_n100_cpp.sk | Bin 0 -> 424 bytes
.../cpp/snapshots/tdigest_float_buf_n10_cpp.sk | Bin 0 -> 64 bytes
.../cpp/snapshots/tdigest_float_buf_n1_cpp.sk | Bin 0 -> 12 bytes
.../cpp/snapshots/tdigest_float_n0_cpp.sk | Bin 0 -> 8 bytes
.../cpp/snapshots/tdigest_float_n1000000_cpp.sk | Bin 0 -> 1120 bytes
.../cpp/snapshots/tdigest_float_n100000_cpp.sk | Bin 0 -> 1104 bytes
.../cpp/snapshots/tdigest_float_n10000_cpp.sk | Bin 0 -> 1000 bytes
.../cpp/snapshots/tdigest_float_n1000_cpp.sk | Bin 0 -> 800 bytes
.../cpp/snapshots/tdigest_float_n100_cpp.sk | Bin 0 -> 632 bytes
.../cpp/snapshots/tdigest_float_n10_cpp.sk | Bin 0 -> 104 bytes
.../cpp/snapshots/tdigest_float_n1_cpp.sk | Bin 0 -> 12 bytes
.../cpp/snapshots/theta_compressed_n1000000_cpp.sk | Bin 0 -> 38558 bytes
.../cpp/snapshots/theta_compressed_n100000_cpp.sk | Bin 0 -> 26800 bytes
.../cpp/snapshots/theta_compressed_n10000_cpp.sk | Bin 0 -> 35955 bytes
.../cpp/snapshots/theta_compressed_n1000_cpp.sk | Bin 0 -> 7010 bytes
.../cpp/snapshots/theta_compressed_n100_cpp.sk | Bin 0 -> 759 bytes
.../cpp/snapshots/theta_compressed_n10_cpp.sk | 2 +
serialization/cpp/snapshots/theta_n0_cpp.sk | Bin 0 -> 8 bytes
serialization/cpp/snapshots/theta_n1000000_cpp.sk | Bin 0 -> 52504 bytes
serialization/cpp/snapshots/theta_n100000_cpp.sk | Bin 0 -> 34304 bytes
serialization/cpp/snapshots/theta_n10000_cpp.sk | Bin 0 -> 42616 bytes
serialization/cpp/snapshots/theta_n1000_cpp.sk | Bin 0 -> 8016 bytes
serialization/cpp/snapshots/theta_n100_cpp.sk | Bin 0 -> 816 bytes
serialization/cpp/snapshots/theta_n10_cpp.sk | Bin 0 -> 96 bytes
serialization/cpp/snapshots/theta_n1_cpp.sk | Bin 0 -> 16 bytes
.../snapshots/theta_non_empty_no_entries_cpp.sk | Bin 0 -> 24 bytes
serialization/cpp/snapshots/tuple_int_n0_cpp.sk | Bin 0 -> 8 bytes
.../cpp/snapshots/tuple_int_n1000000_cpp.sk | Bin 0 -> 78744 bytes
.../cpp/snapshots/tuple_int_n100000_cpp.sk | Bin 0 -> 51444 bytes
.../cpp/snapshots/tuple_int_n10000_cpp.sk | Bin 0 -> 63912 bytes
serialization/cpp/snapshots/tuple_int_n1000_cpp.sk | Bin 0 -> 12016 bytes
serialization/cpp/snapshots/tuple_int_n100_cpp.sk | Bin 0 -> 1216 bytes
serialization/cpp/snapshots/tuple_int_n10_cpp.sk | Bin 0 -> 136 bytes
serialization/cpp/snapshots/tuple_int_n1_cpp.sk | Bin 0 -> 20 bytes
.../cpp/snapshots/varopt_sketch_long_n0_cpp.sk | Bin 0 -> 8 bytes
.../snapshots/varopt_sketch_long_n1000000_cpp.sk | Bin 0 -> 288 bytes
.../snapshots/varopt_sketch_long_n100000_cpp.sk | Bin 0 -> 288 bytes
.../cpp/snapshots/varopt_sketch_long_n10000_cpp.sk | Bin 0 -> 288 bytes
.../cpp/snapshots/varopt_sketch_long_n1000_cpp.sk | Bin 0 -> 288 bytes
.../cpp/snapshots/varopt_sketch_long_n100_cpp.sk | Bin 0 -> 288 bytes
.../cpp/snapshots/varopt_sketch_long_n10_cpp.sk | Bin 0 -> 184 bytes
.../cpp/snapshots/varopt_sketch_long_n1_cpp.sk | Bin 0 -> 40 bytes
.../snapshots/varopt_sketch_long_sampling_cpp.sk | Bin 0 -> 8248 bytes
.../snapshots/varopt_sketch_string_exact_cpp.sk | Bin 0 -> 2916 bytes
.../snapshots/varopt_union_double_sampling_cpp.sk | Bin 0 -> 572 bytes
224 files changed, 85 insertions(+)
diff --git a/serialization/cpp/generator.py b/serialization/cpp/generator.py
old mode 100644
new mode 100755
index 13a8339..175be66
--- a/serialization/cpp/generator.py
+++ b/serialization/cpp/generator.py
@@ -1,3 +1,5 @@
+#!/usr/bin/env python3
+
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
@@ -14,3 +16,80 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
+
+import shutil
+
+import tck
+import typer
+
+
+def main():
+ print("--- Generating C++ Test Data ---")
+
+ # 1. Check prerequisites
+ tck.check_command_installed("git")
+ tck.check_command_installed("cmake")
+ tck.check_command_installed("ctest")
+
+ # 2. Define paths
+ repository_dir = tck.repository_root()
+ temp_dir = repository_dir / "tmp_datasketches_cpp"
+ output_dir = repository_dir / "serialization" / "cpp" / "snapshots"
+
+ # 3. Setup temporary directory
+ if temp_dir.exists():
+ print(f"Removing existing temporary directory: {temp_dir}")
+ shutil.rmtree(temp_dir)
+
+ temp_dir.mkdir()
+
+ # 4. Clone repository
+ repo_url = "https://github.com/apache/datasketches-cpp.git"
+ commit = "401423367055acdf7502e8ed3126730a08039d91"
+ tck.run_command([
+ "git", "clone",
+ "--depth", "1",
+ "--revision", commit,
+ "--single-branch",
+ repo_url,
+ str(temp_dir)
+ ])
+
+ # 5. Build and Run CMake
+ build_dir = temp_dir / "build"
+ build_dir.mkdir(exist_ok=True)
+
+ # Configure: Add CMAKE_BUILD_TYPE for single-config generators (Ninja/Make)
+ tck.run_command(["cmake", "..", "-DGENERATE=true", "-DCMAKE_BUILD_TYPE=Release"], cwd=build_dir)
+
+ # Build: Release config
+ tck.run_command(["cmake", "--build", ".", "--config", "Release"], cwd=build_dir)
+
+ # Test: Use ctest which is more portable than 'cmake --target test' (VS uses RUN_TESTS)
+ # --output-on-failure helps debug if a specific test fails
+ tck.run_command(["ctest", "-C", "Release", "--output-on-failure"], cwd=build_dir)
+
+ # 6. Copy generated files
+ # The instructions say: cp datasketches-cpp/build/*/test/*_cpp.sk serialization_test_data/cpp_generated_files
+ # We need to find where they are exactly.
+ # It seems they might be in build/test/ or subdirectories depending on generator.
+
+ print(f"Copying files to {output_dir}")
+ output_dir.mkdir(parents=True, exist_ok=True)
+
+ files_copied = 0
+
+ for file_path in build_dir.rglob("*_cpp.sk"):
+ shutil.copy2(file_path, output_dir)
+ print(f"Copied: {file_path.name}")
+ files_copied += 1
+
+
+ if files_copied == 0:
+ print("Warning: No *_cpp.sk files were found to copy.")
+ else:
+ print(f"Successfully copied {files_copied} files.")
+
+
+if __name__ == "__main__":
+ typer.run(main)
diff --git a/serialization/cpp/snapshots/aod_1_n0_cpp.sk b/serialization/cpp/snapshots/aod_1_n0_cpp.sk
new file mode 100644
index 0000000..422b45e
--- /dev/null
+++ b/serialization/cpp/snapshots/aod_1_n0_cpp.sk
@@ -0,0 +1 @@
+ ̓�������
\ No newline at end of file
diff --git a/serialization/cpp/snapshots/aod_1_n1000000_cpp.sk b/serialization/cpp/snapshots/aod_1_n1000000_cpp.sk
new file mode 100644
index 0000000..14addf0
Binary files /dev/null and b/serialization/cpp/snapshots/aod_1_n1000000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/aod_1_n100000_cpp.sk b/serialization/cpp/snapshots/aod_1_n100000_cpp.sk
new file mode 100644
index 0000000..4885fe8
Binary files /dev/null and b/serialization/cpp/snapshots/aod_1_n100000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/aod_1_n10000_cpp.sk b/serialization/cpp/snapshots/aod_1_n10000_cpp.sk
new file mode 100644
index 0000000..bd039c5
Binary files /dev/null and b/serialization/cpp/snapshots/aod_1_n10000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/aod_1_n1000_cpp.sk b/serialization/cpp/snapshots/aod_1_n1000_cpp.sk
new file mode 100644
index 0000000..4acb492
Binary files /dev/null and b/serialization/cpp/snapshots/aod_1_n1000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/aod_1_n100_cpp.sk b/serialization/cpp/snapshots/aod_1_n100_cpp.sk
new file mode 100644
index 0000000..a14948a
Binary files /dev/null and b/serialization/cpp/snapshots/aod_1_n100_cpp.sk differ
diff --git a/serialization/cpp/snapshots/aod_1_n10_cpp.sk b/serialization/cpp/snapshots/aod_1_n10_cpp.sk
new file mode 100644
index 0000000..ac09b4e
Binary files /dev/null and b/serialization/cpp/snapshots/aod_1_n10_cpp.sk differ
diff --git a/serialization/cpp/snapshots/aod_1_n1_cpp.sk b/serialization/cpp/snapshots/aod_1_n1_cpp.sk
new file mode 100644
index 0000000..0f5d476
Binary files /dev/null and b/serialization/cpp/snapshots/aod_1_n1_cpp.sk differ
diff --git a/serialization/cpp/snapshots/aod_1_non_empty_no_entries_cpp.sk b/serialization/cpp/snapshots/aod_1_non_empty_no_entries_cpp.sk
new file mode 100644
index 0000000..47d55f0
Binary files /dev/null and b/serialization/cpp/snapshots/aod_1_non_empty_no_entries_cpp.sk differ
diff --git a/serialization/cpp/snapshots/aod_3_n0_cpp.sk b/serialization/cpp/snapshots/aod_3_n0_cpp.sk
new file mode 100644
index 0000000..48185c2
--- /dev/null
+++ b/serialization/cpp/snapshots/aod_3_n0_cpp.sk
@@ -0,0 +1 @@
+ ̓�������
\ No newline at end of file
diff --git a/serialization/cpp/snapshots/aod_3_n1000000_cpp.sk b/serialization/cpp/snapshots/aod_3_n1000000_cpp.sk
new file mode 100644
index 0000000..3e7abe7
Binary files /dev/null and b/serialization/cpp/snapshots/aod_3_n1000000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/aod_3_n100000_cpp.sk b/serialization/cpp/snapshots/aod_3_n100000_cpp.sk
new file mode 100644
index 0000000..e7441c5
Binary files /dev/null and b/serialization/cpp/snapshots/aod_3_n100000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/aod_3_n10000_cpp.sk b/serialization/cpp/snapshots/aod_3_n10000_cpp.sk
new file mode 100644
index 0000000..b0aeeb9
Binary files /dev/null and b/serialization/cpp/snapshots/aod_3_n10000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/aod_3_n1000_cpp.sk b/serialization/cpp/snapshots/aod_3_n1000_cpp.sk
new file mode 100644
index 0000000..0f3cc9c
Binary files /dev/null and b/serialization/cpp/snapshots/aod_3_n1000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/aod_3_n100_cpp.sk b/serialization/cpp/snapshots/aod_3_n100_cpp.sk
new file mode 100644
index 0000000..fd60ded
Binary files /dev/null and b/serialization/cpp/snapshots/aod_3_n100_cpp.sk differ
diff --git a/serialization/cpp/snapshots/aod_3_n10_cpp.sk b/serialization/cpp/snapshots/aod_3_n10_cpp.sk
new file mode 100644
index 0000000..2864264
Binary files /dev/null and b/serialization/cpp/snapshots/aod_3_n10_cpp.sk differ
diff --git a/serialization/cpp/snapshots/aod_3_n1_cpp.sk b/serialization/cpp/snapshots/aod_3_n1_cpp.sk
new file mode 100644
index 0000000..265f4d1
Binary files /dev/null and b/serialization/cpp/snapshots/aod_3_n1_cpp.sk differ
diff --git a/serialization/cpp/snapshots/aos_1_n0_cpp.sk b/serialization/cpp/snapshots/aos_1_n0_cpp.sk
new file mode 100644
index 0000000..a95f163
Binary files /dev/null and b/serialization/cpp/snapshots/aos_1_n0_cpp.sk differ
diff --git a/serialization/cpp/snapshots/aos_1_n1000000_cpp.sk b/serialization/cpp/snapshots/aos_1_n1000000_cpp.sk
new file mode 100644
index 0000000..c123e0e
Binary files /dev/null and b/serialization/cpp/snapshots/aos_1_n1000000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/aos_1_n100000_cpp.sk b/serialization/cpp/snapshots/aos_1_n100000_cpp.sk
new file mode 100644
index 0000000..61e7f96
Binary files /dev/null and b/serialization/cpp/snapshots/aos_1_n100000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/aos_1_n10000_cpp.sk b/serialization/cpp/snapshots/aos_1_n10000_cpp.sk
new file mode 100644
index 0000000..2a32d8f
Binary files /dev/null and b/serialization/cpp/snapshots/aos_1_n10000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/aos_1_n1000_cpp.sk b/serialization/cpp/snapshots/aos_1_n1000_cpp.sk
new file mode 100644
index 0000000..dca545d
Binary files /dev/null and b/serialization/cpp/snapshots/aos_1_n1000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/aos_1_n100_cpp.sk b/serialization/cpp/snapshots/aos_1_n100_cpp.sk
new file mode 100644
index 0000000..7ed6f6e
Binary files /dev/null and b/serialization/cpp/snapshots/aos_1_n100_cpp.sk differ
diff --git a/serialization/cpp/snapshots/aos_1_n10_cpp.sk b/serialization/cpp/snapshots/aos_1_n10_cpp.sk
new file mode 100644
index 0000000..714e51a
Binary files /dev/null and b/serialization/cpp/snapshots/aos_1_n10_cpp.sk differ
diff --git a/serialization/cpp/snapshots/aos_1_n1_cpp.sk b/serialization/cpp/snapshots/aos_1_n1_cpp.sk
new file mode 100644
index 0000000..86a5679
Binary files /dev/null and b/serialization/cpp/snapshots/aos_1_n1_cpp.sk differ
diff --git a/serialization/cpp/snapshots/aos_1_non_empty_no_entries_cpp.sk b/serialization/cpp/snapshots/aos_1_non_empty_no_entries_cpp.sk
new file mode 100644
index 0000000..5f9d7bf
Binary files /dev/null and b/serialization/cpp/snapshots/aos_1_non_empty_no_entries_cpp.sk differ
diff --git a/serialization/cpp/snapshots/aos_3_n0_cpp.sk b/serialization/cpp/snapshots/aos_3_n0_cpp.sk
new file mode 100644
index 0000000..a95f163
Binary files /dev/null and b/serialization/cpp/snapshots/aos_3_n0_cpp.sk differ
diff --git a/serialization/cpp/snapshots/aos_3_n1000000_cpp.sk b/serialization/cpp/snapshots/aos_3_n1000000_cpp.sk
new file mode 100644
index 0000000..d4aa083
Binary files /dev/null and b/serialization/cpp/snapshots/aos_3_n1000000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/aos_3_n100000_cpp.sk b/serialization/cpp/snapshots/aos_3_n100000_cpp.sk
new file mode 100644
index 0000000..95f8e01
Binary files /dev/null and b/serialization/cpp/snapshots/aos_3_n100000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/aos_3_n10000_cpp.sk b/serialization/cpp/snapshots/aos_3_n10000_cpp.sk
new file mode 100644
index 0000000..5d24947
Binary files /dev/null and b/serialization/cpp/snapshots/aos_3_n10000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/aos_3_n1000_cpp.sk b/serialization/cpp/snapshots/aos_3_n1000_cpp.sk
new file mode 100644
index 0000000..0a0e4e5
Binary files /dev/null and b/serialization/cpp/snapshots/aos_3_n1000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/aos_3_n100_cpp.sk b/serialization/cpp/snapshots/aos_3_n100_cpp.sk
new file mode 100644
index 0000000..9c6a1e6
Binary files /dev/null and b/serialization/cpp/snapshots/aos_3_n100_cpp.sk differ
diff --git a/serialization/cpp/snapshots/aos_3_n10_cpp.sk b/serialization/cpp/snapshots/aos_3_n10_cpp.sk
new file mode 100644
index 0000000..d0d4c6e
Binary files /dev/null and b/serialization/cpp/snapshots/aos_3_n10_cpp.sk differ
diff --git a/serialization/cpp/snapshots/aos_3_n1_cpp.sk b/serialization/cpp/snapshots/aos_3_n1_cpp.sk
new file mode 100644
index 0000000..8a9d59e
Binary files /dev/null and b/serialization/cpp/snapshots/aos_3_n1_cpp.sk differ
diff --git a/serialization/cpp/snapshots/aos_empty_strings_cpp.sk b/serialization/cpp/snapshots/aos_empty_strings_cpp.sk
new file mode 100644
index 0000000..3abbe36
Binary files /dev/null and b/serialization/cpp/snapshots/aos_empty_strings_cpp.sk differ
diff --git a/serialization/cpp/snapshots/aos_multikey_n0_cpp.sk b/serialization/cpp/snapshots/aos_multikey_n0_cpp.sk
new file mode 100644
index 0000000..a95f163
Binary files /dev/null and b/serialization/cpp/snapshots/aos_multikey_n0_cpp.sk differ
diff --git a/serialization/cpp/snapshots/aos_multikey_n1000000_cpp.sk b/serialization/cpp/snapshots/aos_multikey_n1000000_cpp.sk
new file mode 100644
index 0000000..efb1174
Binary files /dev/null and b/serialization/cpp/snapshots/aos_multikey_n1000000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/aos_multikey_n100000_cpp.sk b/serialization/cpp/snapshots/aos_multikey_n100000_cpp.sk
new file mode 100644
index 0000000..f769a0e
Binary files /dev/null and b/serialization/cpp/snapshots/aos_multikey_n100000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/aos_multikey_n10000_cpp.sk b/serialization/cpp/snapshots/aos_multikey_n10000_cpp.sk
new file mode 100644
index 0000000..d8adb19
Binary files /dev/null and b/serialization/cpp/snapshots/aos_multikey_n10000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/aos_multikey_n1000_cpp.sk b/serialization/cpp/snapshots/aos_multikey_n1000_cpp.sk
new file mode 100644
index 0000000..16cd703
Binary files /dev/null and b/serialization/cpp/snapshots/aos_multikey_n1000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/aos_multikey_n100_cpp.sk b/serialization/cpp/snapshots/aos_multikey_n100_cpp.sk
new file mode 100644
index 0000000..cb38279
Binary files /dev/null and b/serialization/cpp/snapshots/aos_multikey_n100_cpp.sk differ
diff --git a/serialization/cpp/snapshots/aos_multikey_n10_cpp.sk b/serialization/cpp/snapshots/aos_multikey_n10_cpp.sk
new file mode 100644
index 0000000..d20402f
Binary files /dev/null and b/serialization/cpp/snapshots/aos_multikey_n10_cpp.sk differ
diff --git a/serialization/cpp/snapshots/aos_multikey_n1_cpp.sk b/serialization/cpp/snapshots/aos_multikey_n1_cpp.sk
new file mode 100644
index 0000000..07652d4
Binary files /dev/null and b/serialization/cpp/snapshots/aos_multikey_n1_cpp.sk differ
diff --git a/serialization/cpp/snapshots/aos_unicode_cpp.sk b/serialization/cpp/snapshots/aos_unicode_cpp.sk
new file mode 100644
index 0000000..02b1897
Binary files /dev/null and b/serialization/cpp/snapshots/aos_unicode_cpp.sk differ
diff --git a/serialization/cpp/snapshots/bf_n0_h3_cpp.sk b/serialization/cpp/snapshots/bf_n0_h3_cpp.sk
new file mode 100644
index 0000000..27f768e
Binary files /dev/null and b/serialization/cpp/snapshots/bf_n0_h3_cpp.sk differ
diff --git a/serialization/cpp/snapshots/bf_n0_h5_cpp.sk b/serialization/cpp/snapshots/bf_n0_h5_cpp.sk
new file mode 100644
index 0000000..3b18a63
Binary files /dev/null and b/serialization/cpp/snapshots/bf_n0_h5_cpp.sk differ
diff --git a/serialization/cpp/snapshots/bf_n10000_h3_cpp.sk b/serialization/cpp/snapshots/bf_n10000_h3_cpp.sk
new file mode 100644
index 0000000..a5c8011
Binary files /dev/null and b/serialization/cpp/snapshots/bf_n10000_h3_cpp.sk differ
diff --git a/serialization/cpp/snapshots/bf_n10000_h5_cpp.sk b/serialization/cpp/snapshots/bf_n10000_h5_cpp.sk
new file mode 100644
index 0000000..14dac4f
Binary files /dev/null and b/serialization/cpp/snapshots/bf_n10000_h5_cpp.sk differ
diff --git a/serialization/cpp/snapshots/bf_n2000000_h3_cpp.sk b/serialization/cpp/snapshots/bf_n2000000_h3_cpp.sk
new file mode 100644
index 0000000..407ee74
Binary files /dev/null and b/serialization/cpp/snapshots/bf_n2000000_h3_cpp.sk differ
diff --git a/serialization/cpp/snapshots/bf_n2000000_h5_cpp.sk b/serialization/cpp/snapshots/bf_n2000000_h5_cpp.sk
new file mode 100644
index 0000000..70cf5f8
Binary files /dev/null and b/serialization/cpp/snapshots/bf_n2000000_h5_cpp.sk differ
diff --git a/serialization/cpp/snapshots/bf_n30000000_h3_cpp.sk b/serialization/cpp/snapshots/bf_n30000000_h3_cpp.sk
new file mode 100644
index 0000000..ec5e67d
Binary files /dev/null and b/serialization/cpp/snapshots/bf_n30000000_h3_cpp.sk differ
diff --git a/serialization/cpp/snapshots/bf_n30000000_h5_cpp.sk b/serialization/cpp/snapshots/bf_n30000000_h5_cpp.sk
new file mode 100644
index 0000000..a50a578
Binary files /dev/null and b/serialization/cpp/snapshots/bf_n30000000_h5_cpp.sk differ
diff --git a/serialization/cpp/snapshots/count_min_empty_cpp.sk b/serialization/cpp/snapshots/count_min_empty_cpp.sk
new file mode 100644
index 0000000..3e75137
Binary files /dev/null and b/serialization/cpp/snapshots/count_min_empty_cpp.sk differ
diff --git a/serialization/cpp/snapshots/count_min_non_empty_cpp.sk b/serialization/cpp/snapshots/count_min_non_empty_cpp.sk
new file mode 100644
index 0000000..9631a65
Binary files /dev/null and b/serialization/cpp/snapshots/count_min_non_empty_cpp.sk differ
diff --git a/serialization/cpp/snapshots/cpc_n0_cpp.sk b/serialization/cpp/snapshots/cpc_n0_cpp.sk
new file mode 100644
index 0000000..a25dd58
Binary files /dev/null and b/serialization/cpp/snapshots/cpc_n0_cpp.sk differ
diff --git a/serialization/cpp/snapshots/cpc_n100_cpp.sk b/serialization/cpp/snapshots/cpc_n100_cpp.sk
new file mode 100644
index 0000000..ba14242
Binary files /dev/null and b/serialization/cpp/snapshots/cpc_n100_cpp.sk differ
diff --git a/serialization/cpp/snapshots/cpc_n20000_cpp.sk b/serialization/cpp/snapshots/cpc_n20000_cpp.sk
new file mode 100644
index 0000000..49508e9
Binary files /dev/null and b/serialization/cpp/snapshots/cpc_n20000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/cpc_n2000_cpp.sk b/serialization/cpp/snapshots/cpc_n2000_cpp.sk
new file mode 100644
index 0000000..b9b238f
Binary files /dev/null and b/serialization/cpp/snapshots/cpc_n2000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/cpc_n200_cpp.sk b/serialization/cpp/snapshots/cpc_n200_cpp.sk
new file mode 100644
index 0000000..a237fd8
Binary files /dev/null and b/serialization/cpp/snapshots/cpc_n200_cpp.sk differ
diff --git a/serialization/cpp/snapshots/frequent_long_n0_cpp.sk b/serialization/cpp/snapshots/frequent_long_n0_cpp.sk
new file mode 100644
index 0000000..12d493c
Binary files /dev/null and b/serialization/cpp/snapshots/frequent_long_n0_cpp.sk differ
diff --git a/serialization/cpp/snapshots/frequent_long_n1000000_cpp.sk b/serialization/cpp/snapshots/frequent_long_n1000000_cpp.sk
new file mode 100644
index 0000000..82ab329
Binary files /dev/null and b/serialization/cpp/snapshots/frequent_long_n1000000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/frequent_long_n100000_cpp.sk b/serialization/cpp/snapshots/frequent_long_n100000_cpp.sk
new file mode 100644
index 0000000..789b076
Binary files /dev/null and b/serialization/cpp/snapshots/frequent_long_n100000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/frequent_long_n10000_cpp.sk b/serialization/cpp/snapshots/frequent_long_n10000_cpp.sk
new file mode 100644
index 0000000..55f3334
Binary files /dev/null and b/serialization/cpp/snapshots/frequent_long_n10000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/frequent_long_n1000_cpp.sk b/serialization/cpp/snapshots/frequent_long_n1000_cpp.sk
new file mode 100644
index 0000000..8c3ab96
Binary files /dev/null and b/serialization/cpp/snapshots/frequent_long_n1000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/frequent_long_n100_cpp.sk b/serialization/cpp/snapshots/frequent_long_n100_cpp.sk
new file mode 100644
index 0000000..4cfa8d8
Binary files /dev/null and b/serialization/cpp/snapshots/frequent_long_n100_cpp.sk differ
diff --git a/serialization/cpp/snapshots/frequent_long_n10_cpp.sk b/serialization/cpp/snapshots/frequent_long_n10_cpp.sk
new file mode 100644
index 0000000..0aa24d3
Binary files /dev/null and b/serialization/cpp/snapshots/frequent_long_n10_cpp.sk differ
diff --git a/serialization/cpp/snapshots/frequent_long_n1_cpp.sk b/serialization/cpp/snapshots/frequent_long_n1_cpp.sk
new file mode 100644
index 0000000..0795151
Binary files /dev/null and b/serialization/cpp/snapshots/frequent_long_n1_cpp.sk differ
diff --git a/serialization/cpp/snapshots/frequent_string_ascii_cpp.sk b/serialization/cpp/snapshots/frequent_string_ascii_cpp.sk
new file mode 100644
index 0000000..46aeb9a
Binary files /dev/null and b/serialization/cpp/snapshots/frequent_string_ascii_cpp.sk differ
diff --git a/serialization/cpp/snapshots/frequent_string_n0_cpp.sk b/serialization/cpp/snapshots/frequent_string_n0_cpp.sk
new file mode 100644
index 0000000..12d493c
Binary files /dev/null and b/serialization/cpp/snapshots/frequent_string_n0_cpp.sk differ
diff --git a/serialization/cpp/snapshots/frequent_string_n1000000_cpp.sk b/serialization/cpp/snapshots/frequent_string_n1000000_cpp.sk
new file mode 100644
index 0000000..e52a2c4
Binary files /dev/null and b/serialization/cpp/snapshots/frequent_string_n1000000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/frequent_string_n100000_cpp.sk b/serialization/cpp/snapshots/frequent_string_n100000_cpp.sk
new file mode 100644
index 0000000..96a8b80
Binary files /dev/null and b/serialization/cpp/snapshots/frequent_string_n100000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/frequent_string_n10000_cpp.sk b/serialization/cpp/snapshots/frequent_string_n10000_cpp.sk
new file mode 100644
index 0000000..48ffd2d
Binary files /dev/null and b/serialization/cpp/snapshots/frequent_string_n10000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/frequent_string_n1000_cpp.sk b/serialization/cpp/snapshots/frequent_string_n1000_cpp.sk
new file mode 100644
index 0000000..848b529
Binary files /dev/null and b/serialization/cpp/snapshots/frequent_string_n1000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/frequent_string_n100_cpp.sk b/serialization/cpp/snapshots/frequent_string_n100_cpp.sk
new file mode 100644
index 0000000..9531d72
Binary files /dev/null and b/serialization/cpp/snapshots/frequent_string_n100_cpp.sk differ
diff --git a/serialization/cpp/snapshots/frequent_string_n10_cpp.sk b/serialization/cpp/snapshots/frequent_string_n10_cpp.sk
new file mode 100644
index 0000000..7dc0bed
Binary files /dev/null and b/serialization/cpp/snapshots/frequent_string_n10_cpp.sk differ
diff --git a/serialization/cpp/snapshots/frequent_string_n1_cpp.sk b/serialization/cpp/snapshots/frequent_string_n1_cpp.sk
new file mode 100644
index 0000000..b61ea20
Binary files /dev/null and b/serialization/cpp/snapshots/frequent_string_n1_cpp.sk differ
diff --git a/serialization/cpp/snapshots/frequent_string_utf8_cpp.sk b/serialization/cpp/snapshots/frequent_string_utf8_cpp.sk
new file mode 100644
index 0000000..0f9da52
Binary files /dev/null and b/serialization/cpp/snapshots/frequent_string_utf8_cpp.sk differ
diff --git a/serialization/cpp/snapshots/hll4_n0_cpp.sk b/serialization/cpp/snapshots/hll4_n0_cpp.sk
new file mode 100644
index 0000000..074868c
Binary files /dev/null and b/serialization/cpp/snapshots/hll4_n0_cpp.sk differ
diff --git a/serialization/cpp/snapshots/hll4_n1000000_cpp.sk b/serialization/cpp/snapshots/hll4_n1000000_cpp.sk
new file mode 100644
index 0000000..9a8c626
Binary files /dev/null and b/serialization/cpp/snapshots/hll4_n1000000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/hll4_n100000_cpp.sk b/serialization/cpp/snapshots/hll4_n100000_cpp.sk
new file mode 100644
index 0000000..2b4b4dc
Binary files /dev/null and b/serialization/cpp/snapshots/hll4_n100000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/hll4_n10000_cpp.sk b/serialization/cpp/snapshots/hll4_n10000_cpp.sk
new file mode 100644
index 0000000..e97b181
Binary files /dev/null and b/serialization/cpp/snapshots/hll4_n10000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/hll4_n1000_cpp.sk b/serialization/cpp/snapshots/hll4_n1000_cpp.sk
new file mode 100644
index 0000000..a6b5f9a
Binary files /dev/null and b/serialization/cpp/snapshots/hll4_n1000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/hll4_n100_cpp.sk b/serialization/cpp/snapshots/hll4_n100_cpp.sk
new file mode 100644
index 0000000..0e12ff4
Binary files /dev/null and b/serialization/cpp/snapshots/hll4_n100_cpp.sk differ
diff --git a/serialization/cpp/snapshots/hll4_n10_cpp.sk b/serialization/cpp/snapshots/hll4_n10_cpp.sk
new file mode 100644
index 0000000..e4ed655
Binary files /dev/null and b/serialization/cpp/snapshots/hll4_n10_cpp.sk differ
diff --git a/serialization/cpp/snapshots/hll4_n1_cpp.sk b/serialization/cpp/snapshots/hll4_n1_cpp.sk
new file mode 100644
index 0000000..1f4f6ee
Binary files /dev/null and b/serialization/cpp/snapshots/hll4_n1_cpp.sk differ
diff --git a/serialization/cpp/snapshots/hll6_n0_cpp.sk b/serialization/cpp/snapshots/hll6_n0_cpp.sk
new file mode 100644
index 0000000..c31bd26
Binary files /dev/null and b/serialization/cpp/snapshots/hll6_n0_cpp.sk differ
diff --git a/serialization/cpp/snapshots/hll6_n1000000_cpp.sk b/serialization/cpp/snapshots/hll6_n1000000_cpp.sk
new file mode 100644
index 0000000..a51d1e0
Binary files /dev/null and b/serialization/cpp/snapshots/hll6_n1000000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/hll6_n100000_cpp.sk b/serialization/cpp/snapshots/hll6_n100000_cpp.sk
new file mode 100644
index 0000000..aba532b
Binary files /dev/null and b/serialization/cpp/snapshots/hll6_n100000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/hll6_n10000_cpp.sk b/serialization/cpp/snapshots/hll6_n10000_cpp.sk
new file mode 100644
index 0000000..cd49aad
Binary files /dev/null and b/serialization/cpp/snapshots/hll6_n10000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/hll6_n1000_cpp.sk b/serialization/cpp/snapshots/hll6_n1000_cpp.sk
new file mode 100644
index 0000000..e3d5f00
Binary files /dev/null and b/serialization/cpp/snapshots/hll6_n1000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/hll6_n100_cpp.sk b/serialization/cpp/snapshots/hll6_n100_cpp.sk
new file mode 100644
index 0000000..71fc293
Binary files /dev/null and b/serialization/cpp/snapshots/hll6_n100_cpp.sk differ
diff --git a/serialization/cpp/snapshots/hll6_n10_cpp.sk b/serialization/cpp/snapshots/hll6_n10_cpp.sk
new file mode 100644
index 0000000..2a22d91
Binary files /dev/null and b/serialization/cpp/snapshots/hll6_n10_cpp.sk differ
diff --git a/serialization/cpp/snapshots/hll6_n1_cpp.sk b/serialization/cpp/snapshots/hll6_n1_cpp.sk
new file mode 100644
index 0000000..3f2f545
--- /dev/null
+++ b/serialization/cpp/snapshots/hll6_n1_cpp.sk
@@ -0,0 +1 @@
+���
\ No newline at end of file
diff --git a/serialization/cpp/snapshots/hll8_n0_cpp.sk b/serialization/cpp/snapshots/hll8_n0_cpp.sk
new file mode 100644
index 0000000..5ecf871
Binary files /dev/null and b/serialization/cpp/snapshots/hll8_n0_cpp.sk differ
diff --git a/serialization/cpp/snapshots/hll8_n1000000_cpp.sk b/serialization/cpp/snapshots/hll8_n1000000_cpp.sk
new file mode 100644
index 0000000..67ec831
Binary files /dev/null and b/serialization/cpp/snapshots/hll8_n1000000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/hll8_n100000_cpp.sk b/serialization/cpp/snapshots/hll8_n100000_cpp.sk
new file mode 100644
index 0000000..0210961
Binary files /dev/null and b/serialization/cpp/snapshots/hll8_n100000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/hll8_n10000_cpp.sk b/serialization/cpp/snapshots/hll8_n10000_cpp.sk
new file mode 100644
index 0000000..a5c8a15
Binary files /dev/null and b/serialization/cpp/snapshots/hll8_n10000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/hll8_n1000_cpp.sk b/serialization/cpp/snapshots/hll8_n1000_cpp.sk
new file mode 100644
index 0000000..dd703ec
Binary files /dev/null and b/serialization/cpp/snapshots/hll8_n1000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/hll8_n100_cpp.sk b/serialization/cpp/snapshots/hll8_n100_cpp.sk
new file mode 100644
index 0000000..c2bfa48
Binary files /dev/null and b/serialization/cpp/snapshots/hll8_n100_cpp.sk differ
diff --git a/serialization/cpp/snapshots/hll8_n10_cpp.sk b/serialization/cpp/snapshots/hll8_n10_cpp.sk
new file mode 100644
index 0000000..86277b3
Binary files /dev/null and b/serialization/cpp/snapshots/hll8_n10_cpp.sk differ
diff --git a/serialization/cpp/snapshots/hll8_n1_cpp.sk b/serialization/cpp/snapshots/hll8_n1_cpp.sk
new file mode 100644
index 0000000..fd3a973
--- /dev/null
+++ b/serialization/cpp/snapshots/hll8_n1_cpp.sk
@@ -0,0 +1 @@
+���
\ No newline at end of file
diff --git a/serialization/cpp/snapshots/kll_double_n0_cpp.sk b/serialization/cpp/snapshots/kll_double_n0_cpp.sk
new file mode 100644
index 0000000..afd2209
Binary files /dev/null and b/serialization/cpp/snapshots/kll_double_n0_cpp.sk differ
diff --git a/serialization/cpp/snapshots/kll_double_n1000000_cpp.sk b/serialization/cpp/snapshots/kll_double_n1000000_cpp.sk
new file mode 100644
index 0000000..bfc026e
Binary files /dev/null and b/serialization/cpp/snapshots/kll_double_n1000000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/kll_double_n100000_cpp.sk b/serialization/cpp/snapshots/kll_double_n100000_cpp.sk
new file mode 100644
index 0000000..1136e23
Binary files /dev/null and b/serialization/cpp/snapshots/kll_double_n100000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/kll_double_n10000_cpp.sk b/serialization/cpp/snapshots/kll_double_n10000_cpp.sk
new file mode 100644
index 0000000..edc4d71
Binary files /dev/null and b/serialization/cpp/snapshots/kll_double_n10000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/kll_double_n1000_cpp.sk b/serialization/cpp/snapshots/kll_double_n1000_cpp.sk
new file mode 100644
index 0000000..0b9e87d
Binary files /dev/null and b/serialization/cpp/snapshots/kll_double_n1000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/kll_double_n100_cpp.sk b/serialization/cpp/snapshots/kll_double_n100_cpp.sk
new file mode 100644
index 0000000..b0d578a
Binary files /dev/null and b/serialization/cpp/snapshots/kll_double_n100_cpp.sk differ
diff --git a/serialization/cpp/snapshots/kll_double_n10_cpp.sk b/serialization/cpp/snapshots/kll_double_n10_cpp.sk
new file mode 100644
index 0000000..fb526ef
Binary files /dev/null and b/serialization/cpp/snapshots/kll_double_n10_cpp.sk differ
diff --git a/serialization/cpp/snapshots/kll_double_n1_cpp.sk b/serialization/cpp/snapshots/kll_double_n1_cpp.sk
new file mode 100644
index 0000000..5eceb40
Binary files /dev/null and b/serialization/cpp/snapshots/kll_double_n1_cpp.sk differ
diff --git a/serialization/cpp/snapshots/kll_float_n0_cpp.sk b/serialization/cpp/snapshots/kll_float_n0_cpp.sk
new file mode 100644
index 0000000..afd2209
Binary files /dev/null and b/serialization/cpp/snapshots/kll_float_n0_cpp.sk differ
diff --git a/serialization/cpp/snapshots/kll_float_n1000000_cpp.sk b/serialization/cpp/snapshots/kll_float_n1000000_cpp.sk
new file mode 100644
index 0000000..3511ce5
Binary files /dev/null and b/serialization/cpp/snapshots/kll_float_n1000000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/kll_float_n100000_cpp.sk b/serialization/cpp/snapshots/kll_float_n100000_cpp.sk
new file mode 100644
index 0000000..4bbbdcb
Binary files /dev/null and b/serialization/cpp/snapshots/kll_float_n100000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/kll_float_n10000_cpp.sk b/serialization/cpp/snapshots/kll_float_n10000_cpp.sk
new file mode 100644
index 0000000..69f227c
Binary files /dev/null and b/serialization/cpp/snapshots/kll_float_n10000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/kll_float_n1000_cpp.sk b/serialization/cpp/snapshots/kll_float_n1000_cpp.sk
new file mode 100644
index 0000000..2464831
Binary files /dev/null and b/serialization/cpp/snapshots/kll_float_n1000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/kll_float_n100_cpp.sk b/serialization/cpp/snapshots/kll_float_n100_cpp.sk
new file mode 100644
index 0000000..ad45e64
Binary files /dev/null and b/serialization/cpp/snapshots/kll_float_n100_cpp.sk differ
diff --git a/serialization/cpp/snapshots/kll_float_n10_cpp.sk b/serialization/cpp/snapshots/kll_float_n10_cpp.sk
new file mode 100644
index 0000000..1fd87d3
Binary files /dev/null and b/serialization/cpp/snapshots/kll_float_n10_cpp.sk differ
diff --git a/serialization/cpp/snapshots/kll_float_n1_cpp.sk b/serialization/cpp/snapshots/kll_float_n1_cpp.sk
new file mode 100644
index 0000000..f7f9d22
Binary files /dev/null and b/serialization/cpp/snapshots/kll_float_n1_cpp.sk differ
diff --git a/serialization/cpp/snapshots/kll_long_n0_cpp.sk b/serialization/cpp/snapshots/kll_long_n0_cpp.sk
new file mode 100644
index 0000000..afd2209
Binary files /dev/null and b/serialization/cpp/snapshots/kll_long_n0_cpp.sk differ
diff --git a/serialization/cpp/snapshots/kll_long_n1000000_cpp.sk b/serialization/cpp/snapshots/kll_long_n1000000_cpp.sk
new file mode 100644
index 0000000..4f7af00
Binary files /dev/null and b/serialization/cpp/snapshots/kll_long_n1000000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/kll_long_n100000_cpp.sk b/serialization/cpp/snapshots/kll_long_n100000_cpp.sk
new file mode 100644
index 0000000..e9f513b
Binary files /dev/null and b/serialization/cpp/snapshots/kll_long_n100000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/kll_long_n10000_cpp.sk b/serialization/cpp/snapshots/kll_long_n10000_cpp.sk
new file mode 100644
index 0000000..fb726d7
Binary files /dev/null and b/serialization/cpp/snapshots/kll_long_n10000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/kll_long_n1000_cpp.sk b/serialization/cpp/snapshots/kll_long_n1000_cpp.sk
new file mode 100644
index 0000000..5a47639
Binary files /dev/null and b/serialization/cpp/snapshots/kll_long_n1000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/kll_long_n100_cpp.sk b/serialization/cpp/snapshots/kll_long_n100_cpp.sk
new file mode 100644
index 0000000..43eb956
Binary files /dev/null and b/serialization/cpp/snapshots/kll_long_n100_cpp.sk differ
diff --git a/serialization/cpp/snapshots/kll_long_n10_cpp.sk b/serialization/cpp/snapshots/kll_long_n10_cpp.sk
new file mode 100644
index 0000000..f935b89
Binary files /dev/null and b/serialization/cpp/snapshots/kll_long_n10_cpp.sk differ
diff --git a/serialization/cpp/snapshots/kll_long_n1_cpp.sk b/serialization/cpp/snapshots/kll_long_n1_cpp.sk
new file mode 100644
index 0000000..317ce97
Binary files /dev/null and b/serialization/cpp/snapshots/kll_long_n1_cpp.sk differ
diff --git a/serialization/cpp/snapshots/kll_string_n0_cpp.sk b/serialization/cpp/snapshots/kll_string_n0_cpp.sk
new file mode 100644
index 0000000..afd2209
Binary files /dev/null and b/serialization/cpp/snapshots/kll_string_n0_cpp.sk differ
diff --git a/serialization/cpp/snapshots/kll_string_n1000000_cpp.sk b/serialization/cpp/snapshots/kll_string_n1000000_cpp.sk
new file mode 100644
index 0000000..2060b17
Binary files /dev/null and b/serialization/cpp/snapshots/kll_string_n1000000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/kll_string_n100000_cpp.sk b/serialization/cpp/snapshots/kll_string_n100000_cpp.sk
new file mode 100644
index 0000000..b62b83a
Binary files /dev/null and b/serialization/cpp/snapshots/kll_string_n100000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/kll_string_n10000_cpp.sk b/serialization/cpp/snapshots/kll_string_n10000_cpp.sk
new file mode 100644
index 0000000..d7a815b
Binary files /dev/null and b/serialization/cpp/snapshots/kll_string_n10000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/kll_string_n1000_cpp.sk b/serialization/cpp/snapshots/kll_string_n1000_cpp.sk
new file mode 100644
index 0000000..ca88e65
Binary files /dev/null and b/serialization/cpp/snapshots/kll_string_n1000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/kll_string_n100_cpp.sk b/serialization/cpp/snapshots/kll_string_n100_cpp.sk
new file mode 100644
index 0000000..8e0beda
Binary files /dev/null and b/serialization/cpp/snapshots/kll_string_n100_cpp.sk differ
diff --git a/serialization/cpp/snapshots/kll_string_n10_cpp.sk b/serialization/cpp/snapshots/kll_string_n10_cpp.sk
new file mode 100644
index 0000000..8cd25fc
Binary files /dev/null and b/serialization/cpp/snapshots/kll_string_n10_cpp.sk differ
diff --git a/serialization/cpp/snapshots/kll_string_n1_cpp.sk b/serialization/cpp/snapshots/kll_string_n1_cpp.sk
new file mode 100644
index 0000000..38f8253
Binary files /dev/null and b/serialization/cpp/snapshots/kll_string_n1_cpp.sk differ
diff --git a/serialization/cpp/snapshots/quantiles_double_n0_cpp.sk b/serialization/cpp/snapshots/quantiles_double_n0_cpp.sk
new file mode 100644
index 0000000..0d8d093
Binary files /dev/null and b/serialization/cpp/snapshots/quantiles_double_n0_cpp.sk differ
diff --git a/serialization/cpp/snapshots/quantiles_double_n1000000_cpp.sk b/serialization/cpp/snapshots/quantiles_double_n1000000_cpp.sk
new file mode 100644
index 0000000..410c930
Binary files /dev/null and b/serialization/cpp/snapshots/quantiles_double_n1000000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/quantiles_double_n100000_cpp.sk b/serialization/cpp/snapshots/quantiles_double_n100000_cpp.sk
new file mode 100644
index 0000000..485b210
Binary files /dev/null and b/serialization/cpp/snapshots/quantiles_double_n100000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/quantiles_double_n10000_cpp.sk b/serialization/cpp/snapshots/quantiles_double_n10000_cpp.sk
new file mode 100644
index 0000000..6b8cefa
Binary files /dev/null and b/serialization/cpp/snapshots/quantiles_double_n10000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/quantiles_double_n1000_cpp.sk b/serialization/cpp/snapshots/quantiles_double_n1000_cpp.sk
new file mode 100644
index 0000000..de92c04
Binary files /dev/null and b/serialization/cpp/snapshots/quantiles_double_n1000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/quantiles_double_n100_cpp.sk b/serialization/cpp/snapshots/quantiles_double_n100_cpp.sk
new file mode 100644
index 0000000..7fdcc62
Binary files /dev/null and b/serialization/cpp/snapshots/quantiles_double_n100_cpp.sk differ
diff --git a/serialization/cpp/snapshots/quantiles_double_n10_cpp.sk b/serialization/cpp/snapshots/quantiles_double_n10_cpp.sk
new file mode 100644
index 0000000..566b7d0
Binary files /dev/null and b/serialization/cpp/snapshots/quantiles_double_n10_cpp.sk differ
diff --git a/serialization/cpp/snapshots/quantiles_double_n1_cpp.sk b/serialization/cpp/snapshots/quantiles_double_n1_cpp.sk
new file mode 100644
index 0000000..9dfb23e
Binary files /dev/null and b/serialization/cpp/snapshots/quantiles_double_n1_cpp.sk differ
diff --git a/serialization/cpp/snapshots/quantiles_string_n0_cpp.sk b/serialization/cpp/snapshots/quantiles_string_n0_cpp.sk
new file mode 100644
index 0000000..0d8d093
Binary files /dev/null and b/serialization/cpp/snapshots/quantiles_string_n0_cpp.sk differ
diff --git a/serialization/cpp/snapshots/quantiles_string_n1000000_cpp.sk b/serialization/cpp/snapshots/quantiles_string_n1000000_cpp.sk
new file mode 100644
index 0000000..2772d60
Binary files /dev/null and b/serialization/cpp/snapshots/quantiles_string_n1000000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/quantiles_string_n100000_cpp.sk b/serialization/cpp/snapshots/quantiles_string_n100000_cpp.sk
new file mode 100644
index 0000000..ebee9b7
Binary files /dev/null and b/serialization/cpp/snapshots/quantiles_string_n100000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/quantiles_string_n10000_cpp.sk b/serialization/cpp/snapshots/quantiles_string_n10000_cpp.sk
new file mode 100644
index 0000000..44c1079
Binary files /dev/null and b/serialization/cpp/snapshots/quantiles_string_n10000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/quantiles_string_n1000_cpp.sk b/serialization/cpp/snapshots/quantiles_string_n1000_cpp.sk
new file mode 100644
index 0000000..4fdd4cb
Binary files /dev/null and b/serialization/cpp/snapshots/quantiles_string_n1000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/quantiles_string_n100_cpp.sk b/serialization/cpp/snapshots/quantiles_string_n100_cpp.sk
new file mode 100644
index 0000000..1af9f9f
Binary files /dev/null and b/serialization/cpp/snapshots/quantiles_string_n100_cpp.sk differ
diff --git a/serialization/cpp/snapshots/quantiles_string_n10_cpp.sk b/serialization/cpp/snapshots/quantiles_string_n10_cpp.sk
new file mode 100644
index 0000000..d35aed3
Binary files /dev/null and b/serialization/cpp/snapshots/quantiles_string_n10_cpp.sk differ
diff --git a/serialization/cpp/snapshots/quantiles_string_n1_cpp.sk b/serialization/cpp/snapshots/quantiles_string_n1_cpp.sk
new file mode 100644
index 0000000..895fdc1
Binary files /dev/null and b/serialization/cpp/snapshots/quantiles_string_n1_cpp.sk differ
diff --git a/serialization/cpp/snapshots/req_float_n0_cpp.sk b/serialization/cpp/snapshots/req_float_n0_cpp.sk
new file mode 100644
index 0000000..1623b72
Binary files /dev/null and b/serialization/cpp/snapshots/req_float_n0_cpp.sk differ
diff --git a/serialization/cpp/snapshots/req_float_n1000000_cpp.sk b/serialization/cpp/snapshots/req_float_n1000000_cpp.sk
new file mode 100644
index 0000000..3a6a81c
Binary files /dev/null and b/serialization/cpp/snapshots/req_float_n1000000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/req_float_n100000_cpp.sk b/serialization/cpp/snapshots/req_float_n100000_cpp.sk
new file mode 100644
index 0000000..8087271
Binary files /dev/null and b/serialization/cpp/snapshots/req_float_n100000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/req_float_n10000_cpp.sk b/serialization/cpp/snapshots/req_float_n10000_cpp.sk
new file mode 100644
index 0000000..0a5d926
Binary files /dev/null and b/serialization/cpp/snapshots/req_float_n10000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/req_float_n1000_cpp.sk b/serialization/cpp/snapshots/req_float_n1000_cpp.sk
new file mode 100644
index 0000000..aa59cf8
Binary files /dev/null and b/serialization/cpp/snapshots/req_float_n1000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/req_float_n100_cpp.sk b/serialization/cpp/snapshots/req_float_n100_cpp.sk
new file mode 100644
index 0000000..e5eabd6
Binary files /dev/null and b/serialization/cpp/snapshots/req_float_n100_cpp.sk differ
diff --git a/serialization/cpp/snapshots/req_float_n10_cpp.sk b/serialization/cpp/snapshots/req_float_n10_cpp.sk
new file mode 100644
index 0000000..157173c
Binary files /dev/null and b/serialization/cpp/snapshots/req_float_n10_cpp.sk differ
diff --git a/serialization/cpp/snapshots/req_float_n1_cpp.sk b/serialization/cpp/snapshots/req_float_n1_cpp.sk
new file mode 100644
index 0000000..2bcd059
Binary files /dev/null and b/serialization/cpp/snapshots/req_float_n1_cpp.sk differ
diff --git a/serialization/cpp/snapshots/tdigest_double_buf_n0_cpp.sk b/serialization/cpp/snapshots/tdigest_double_buf_n0_cpp.sk
new file mode 100644
index 0000000..e84c2ea
Binary files /dev/null and b/serialization/cpp/snapshots/tdigest_double_buf_n0_cpp.sk differ
diff --git a/serialization/cpp/snapshots/tdigest_double_buf_n1000000_cpp.sk b/serialization/cpp/snapshots/tdigest_double_buf_n1000000_cpp.sk
new file mode 100644
index 0000000..e488b6a
Binary files /dev/null and b/serialization/cpp/snapshots/tdigest_double_buf_n1000000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/tdigest_double_buf_n100000_cpp.sk b/serialization/cpp/snapshots/tdigest_double_buf_n100000_cpp.sk
new file mode 100644
index 0000000..9616a81
Binary files /dev/null and b/serialization/cpp/snapshots/tdigest_double_buf_n100000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/tdigest_double_buf_n10000_cpp.sk b/serialization/cpp/snapshots/tdigest_double_buf_n10000_cpp.sk
new file mode 100644
index 0000000..0958b67
Binary files /dev/null and b/serialization/cpp/snapshots/tdigest_double_buf_n10000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/tdigest_double_buf_n1000_cpp.sk b/serialization/cpp/snapshots/tdigest_double_buf_n1000_cpp.sk
new file mode 100644
index 0000000..8a1bdff
Binary files /dev/null and b/serialization/cpp/snapshots/tdigest_double_buf_n1000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/tdigest_double_buf_n100_cpp.sk b/serialization/cpp/snapshots/tdigest_double_buf_n100_cpp.sk
new file mode 100644
index 0000000..d6d7607
Binary files /dev/null and b/serialization/cpp/snapshots/tdigest_double_buf_n100_cpp.sk differ
diff --git a/serialization/cpp/snapshots/tdigest_double_buf_n10_cpp.sk b/serialization/cpp/snapshots/tdigest_double_buf_n10_cpp.sk
new file mode 100644
index 0000000..1bab971
Binary files /dev/null and b/serialization/cpp/snapshots/tdigest_double_buf_n10_cpp.sk differ
diff --git a/serialization/cpp/snapshots/tdigest_double_buf_n1_cpp.sk b/serialization/cpp/snapshots/tdigest_double_buf_n1_cpp.sk
new file mode 100644
index 0000000..802a0bd
Binary files /dev/null and b/serialization/cpp/snapshots/tdigest_double_buf_n1_cpp.sk differ
diff --git a/serialization/cpp/snapshots/tdigest_double_n0_cpp.sk b/serialization/cpp/snapshots/tdigest_double_n0_cpp.sk
new file mode 100644
index 0000000..e84c2ea
Binary files /dev/null and b/serialization/cpp/snapshots/tdigest_double_n0_cpp.sk differ
diff --git a/serialization/cpp/snapshots/tdigest_double_n1000000_cpp.sk b/serialization/cpp/snapshots/tdigest_double_n1000000_cpp.sk
new file mode 100644
index 0000000..6b87e1e
Binary files /dev/null and b/serialization/cpp/snapshots/tdigest_double_n1000000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/tdigest_double_n100000_cpp.sk b/serialization/cpp/snapshots/tdigest_double_n100000_cpp.sk
new file mode 100644
index 0000000..fbb2727
Binary files /dev/null and b/serialization/cpp/snapshots/tdigest_double_n100000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/tdigest_double_n10000_cpp.sk b/serialization/cpp/snapshots/tdigest_double_n10000_cpp.sk
new file mode 100644
index 0000000..290cead
Binary files /dev/null and b/serialization/cpp/snapshots/tdigest_double_n10000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/tdigest_double_n1000_cpp.sk b/serialization/cpp/snapshots/tdigest_double_n1000_cpp.sk
new file mode 100644
index 0000000..7832fc3
Binary files /dev/null and b/serialization/cpp/snapshots/tdigest_double_n1000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/tdigest_double_n100_cpp.sk b/serialization/cpp/snapshots/tdigest_double_n100_cpp.sk
new file mode 100644
index 0000000..9d1d60a
Binary files /dev/null and b/serialization/cpp/snapshots/tdigest_double_n100_cpp.sk differ
diff --git a/serialization/cpp/snapshots/tdigest_double_n10_cpp.sk b/serialization/cpp/snapshots/tdigest_double_n10_cpp.sk
new file mode 100644
index 0000000..2c1026e
Binary files /dev/null and b/serialization/cpp/snapshots/tdigest_double_n10_cpp.sk differ
diff --git a/serialization/cpp/snapshots/tdigest_double_n1_cpp.sk b/serialization/cpp/snapshots/tdigest_double_n1_cpp.sk
new file mode 100644
index 0000000..971919e
Binary files /dev/null and b/serialization/cpp/snapshots/tdigest_double_n1_cpp.sk differ
diff --git a/serialization/cpp/snapshots/tdigest_float_buf_n0_cpp.sk b/serialization/cpp/snapshots/tdigest_float_buf_n0_cpp.sk
new file mode 100644
index 0000000..e84c2ea
Binary files /dev/null and b/serialization/cpp/snapshots/tdigest_float_buf_n0_cpp.sk differ
diff --git a/serialization/cpp/snapshots/tdigest_float_buf_n1000000_cpp.sk b/serialization/cpp/snapshots/tdigest_float_buf_n1000000_cpp.sk
new file mode 100644
index 0000000..4b97486
Binary files /dev/null and b/serialization/cpp/snapshots/tdigest_float_buf_n1000000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/tdigest_float_buf_n100000_cpp.sk b/serialization/cpp/snapshots/tdigest_float_buf_n100000_cpp.sk
new file mode 100644
index 0000000..efe220d
Binary files /dev/null and b/serialization/cpp/snapshots/tdigest_float_buf_n100000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/tdigest_float_buf_n10000_cpp.sk b/serialization/cpp/snapshots/tdigest_float_buf_n10000_cpp.sk
new file mode 100644
index 0000000..e7ceecf
Binary files /dev/null and b/serialization/cpp/snapshots/tdigest_float_buf_n10000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/tdigest_float_buf_n1000_cpp.sk b/serialization/cpp/snapshots/tdigest_float_buf_n1000_cpp.sk
new file mode 100644
index 0000000..830158a
Binary files /dev/null and b/serialization/cpp/snapshots/tdigest_float_buf_n1000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/tdigest_float_buf_n100_cpp.sk b/serialization/cpp/snapshots/tdigest_float_buf_n100_cpp.sk
new file mode 100644
index 0000000..4e62770
Binary files /dev/null and b/serialization/cpp/snapshots/tdigest_float_buf_n100_cpp.sk differ
diff --git a/serialization/cpp/snapshots/tdigest_float_buf_n10_cpp.sk b/serialization/cpp/snapshots/tdigest_float_buf_n10_cpp.sk
new file mode 100644
index 0000000..7f6e62d
Binary files /dev/null and b/serialization/cpp/snapshots/tdigest_float_buf_n10_cpp.sk differ
diff --git a/serialization/cpp/snapshots/tdigest_float_buf_n1_cpp.sk b/serialization/cpp/snapshots/tdigest_float_buf_n1_cpp.sk
new file mode 100644
index 0000000..7fea70f
Binary files /dev/null and b/serialization/cpp/snapshots/tdigest_float_buf_n1_cpp.sk differ
diff --git a/serialization/cpp/snapshots/tdigest_float_n0_cpp.sk b/serialization/cpp/snapshots/tdigest_float_n0_cpp.sk
new file mode 100644
index 0000000..e84c2ea
Binary files /dev/null and b/serialization/cpp/snapshots/tdigest_float_n0_cpp.sk differ
diff --git a/serialization/cpp/snapshots/tdigest_float_n1000000_cpp.sk b/serialization/cpp/snapshots/tdigest_float_n1000000_cpp.sk
new file mode 100644
index 0000000..9998748
Binary files /dev/null and b/serialization/cpp/snapshots/tdigest_float_n1000000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/tdigest_float_n100000_cpp.sk b/serialization/cpp/snapshots/tdigest_float_n100000_cpp.sk
new file mode 100644
index 0000000..8e635db
Binary files /dev/null and b/serialization/cpp/snapshots/tdigest_float_n100000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/tdigest_float_n10000_cpp.sk b/serialization/cpp/snapshots/tdigest_float_n10000_cpp.sk
new file mode 100644
index 0000000..c89d392
Binary files /dev/null and b/serialization/cpp/snapshots/tdigest_float_n10000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/tdigest_float_n1000_cpp.sk b/serialization/cpp/snapshots/tdigest_float_n1000_cpp.sk
new file mode 100644
index 0000000..e5d099c
Binary files /dev/null and b/serialization/cpp/snapshots/tdigest_float_n1000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/tdigest_float_n100_cpp.sk b/serialization/cpp/snapshots/tdigest_float_n100_cpp.sk
new file mode 100644
index 0000000..ae8a5ec
Binary files /dev/null and b/serialization/cpp/snapshots/tdigest_float_n100_cpp.sk differ
diff --git a/serialization/cpp/snapshots/tdigest_float_n10_cpp.sk b/serialization/cpp/snapshots/tdigest_float_n10_cpp.sk
new file mode 100644
index 0000000..63e5ce8
Binary files /dev/null and b/serialization/cpp/snapshots/tdigest_float_n10_cpp.sk differ
diff --git a/serialization/cpp/snapshots/tdigest_float_n1_cpp.sk b/serialization/cpp/snapshots/tdigest_float_n1_cpp.sk
new file mode 100644
index 0000000..94e38d9
Binary files /dev/null and b/serialization/cpp/snapshots/tdigest_float_n1_cpp.sk differ
diff --git a/serialization/cpp/snapshots/theta_compressed_n1000000_cpp.sk b/serialization/cpp/snapshots/theta_compressed_n1000000_cpp.sk
new file mode 100644
index 0000000..26e2371
Binary files /dev/null and b/serialization/cpp/snapshots/theta_compressed_n1000000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/theta_compressed_n100000_cpp.sk b/serialization/cpp/snapshots/theta_compressed_n100000_cpp.sk
new file mode 100644
index 0000000..3998ae4
Binary files /dev/null and b/serialization/cpp/snapshots/theta_compressed_n100000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/theta_compressed_n10000_cpp.sk b/serialization/cpp/snapshots/theta_compressed_n10000_cpp.sk
new file mode 100644
index 0000000..33459ef
Binary files /dev/null and b/serialization/cpp/snapshots/theta_compressed_n10000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/theta_compressed_n1000_cpp.sk b/serialization/cpp/snapshots/theta_compressed_n1000_cpp.sk
new file mode 100644
index 0000000..1fdec79
Binary files /dev/null and b/serialization/cpp/snapshots/theta_compressed_n1000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/theta_compressed_n100_cpp.sk b/serialization/cpp/snapshots/theta_compressed_n100_cpp.sk
new file mode 100644
index 0000000..6f8b4e9
Binary files /dev/null and b/serialization/cpp/snapshots/theta_compressed_n100_cpp.sk differ
diff --git a/serialization/cpp/snapshots/theta_compressed_n10_cpp.sk b/serialization/cpp/snapshots/theta_compressed_n10_cpp.sk
new file mode 100644
index 0000000..6f81c03
--- /dev/null
+++ b/serialization/cpp/snapshots/theta_compressed_n10_cpp.sk
@@ -0,0 +1,2 @@
+>̓
+��-��T)�P�[R�c;�"�JHe0B�g��?�-}Hn�� ��P`i���5����e5���� ������B`
\ No newline at end of file
diff --git a/serialization/cpp/snapshots/theta_n0_cpp.sk b/serialization/cpp/snapshots/theta_n0_cpp.sk
new file mode 100644
index 0000000..44730d3
Binary files /dev/null and b/serialization/cpp/snapshots/theta_n0_cpp.sk differ
diff --git a/serialization/cpp/snapshots/theta_n1000000_cpp.sk b/serialization/cpp/snapshots/theta_n1000000_cpp.sk
new file mode 100644
index 0000000..292e294
Binary files /dev/null and b/serialization/cpp/snapshots/theta_n1000000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/theta_n100000_cpp.sk b/serialization/cpp/snapshots/theta_n100000_cpp.sk
new file mode 100644
index 0000000..8b5c861
Binary files /dev/null and b/serialization/cpp/snapshots/theta_n100000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/theta_n10000_cpp.sk b/serialization/cpp/snapshots/theta_n10000_cpp.sk
new file mode 100644
index 0000000..eb9db24
Binary files /dev/null and b/serialization/cpp/snapshots/theta_n10000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/theta_n1000_cpp.sk b/serialization/cpp/snapshots/theta_n1000_cpp.sk
new file mode 100644
index 0000000..65610e3
Binary files /dev/null and b/serialization/cpp/snapshots/theta_n1000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/theta_n100_cpp.sk b/serialization/cpp/snapshots/theta_n100_cpp.sk
new file mode 100644
index 0000000..0ab7727
Binary files /dev/null and b/serialization/cpp/snapshots/theta_n100_cpp.sk differ
diff --git a/serialization/cpp/snapshots/theta_n10_cpp.sk b/serialization/cpp/snapshots/theta_n10_cpp.sk
new file mode 100644
index 0000000..8c74f70
Binary files /dev/null and b/serialization/cpp/snapshots/theta_n10_cpp.sk differ
diff --git a/serialization/cpp/snapshots/theta_n1_cpp.sk b/serialization/cpp/snapshots/theta_n1_cpp.sk
new file mode 100644
index 0000000..e266ee5
Binary files /dev/null and b/serialization/cpp/snapshots/theta_n1_cpp.sk differ
diff --git a/serialization/cpp/snapshots/theta_non_empty_no_entries_cpp.sk b/serialization/cpp/snapshots/theta_non_empty_no_entries_cpp.sk
new file mode 100644
index 0000000..f6f3a19
Binary files /dev/null and b/serialization/cpp/snapshots/theta_non_empty_no_entries_cpp.sk differ
diff --git a/serialization/cpp/snapshots/tuple_int_n0_cpp.sk b/serialization/cpp/snapshots/tuple_int_n0_cpp.sk
new file mode 100644
index 0000000..a95f163
Binary files /dev/null and b/serialization/cpp/snapshots/tuple_int_n0_cpp.sk differ
diff --git a/serialization/cpp/snapshots/tuple_int_n1000000_cpp.sk b/serialization/cpp/snapshots/tuple_int_n1000000_cpp.sk
new file mode 100644
index 0000000..699d293
Binary files /dev/null and b/serialization/cpp/snapshots/tuple_int_n1000000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/tuple_int_n100000_cpp.sk b/serialization/cpp/snapshots/tuple_int_n100000_cpp.sk
new file mode 100644
index 0000000..799c24f
Binary files /dev/null and b/serialization/cpp/snapshots/tuple_int_n100000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/tuple_int_n10000_cpp.sk b/serialization/cpp/snapshots/tuple_int_n10000_cpp.sk
new file mode 100644
index 0000000..57173ba
Binary files /dev/null and b/serialization/cpp/snapshots/tuple_int_n10000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/tuple_int_n1000_cpp.sk b/serialization/cpp/snapshots/tuple_int_n1000_cpp.sk
new file mode 100644
index 0000000..3ff49a8
Binary files /dev/null and b/serialization/cpp/snapshots/tuple_int_n1000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/tuple_int_n100_cpp.sk b/serialization/cpp/snapshots/tuple_int_n100_cpp.sk
new file mode 100644
index 0000000..885632f
Binary files /dev/null and b/serialization/cpp/snapshots/tuple_int_n100_cpp.sk differ
diff --git a/serialization/cpp/snapshots/tuple_int_n10_cpp.sk b/serialization/cpp/snapshots/tuple_int_n10_cpp.sk
new file mode 100644
index 0000000..6a5a5f4
Binary files /dev/null and b/serialization/cpp/snapshots/tuple_int_n10_cpp.sk differ
diff --git a/serialization/cpp/snapshots/tuple_int_n1_cpp.sk b/serialization/cpp/snapshots/tuple_int_n1_cpp.sk
new file mode 100644
index 0000000..2e263f3
Binary files /dev/null and b/serialization/cpp/snapshots/tuple_int_n1_cpp.sk differ
diff --git a/serialization/cpp/snapshots/varopt_sketch_long_n0_cpp.sk b/serialization/cpp/snapshots/varopt_sketch_long_n0_cpp.sk
new file mode 100644
index 0000000..e4505fe
Binary files /dev/null and b/serialization/cpp/snapshots/varopt_sketch_long_n0_cpp.sk differ
diff --git a/serialization/cpp/snapshots/varopt_sketch_long_n1000000_cpp.sk b/serialization/cpp/snapshots/varopt_sketch_long_n1000000_cpp.sk
new file mode 100644
index 0000000..52989b8
Binary files /dev/null and b/serialization/cpp/snapshots/varopt_sketch_long_n1000000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/varopt_sketch_long_n100000_cpp.sk b/serialization/cpp/snapshots/varopt_sketch_long_n100000_cpp.sk
new file mode 100644
index 0000000..445fd05
Binary files /dev/null and b/serialization/cpp/snapshots/varopt_sketch_long_n100000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/varopt_sketch_long_n10000_cpp.sk b/serialization/cpp/snapshots/varopt_sketch_long_n10000_cpp.sk
new file mode 100644
index 0000000..b793b83
Binary files /dev/null and b/serialization/cpp/snapshots/varopt_sketch_long_n10000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/varopt_sketch_long_n1000_cpp.sk b/serialization/cpp/snapshots/varopt_sketch_long_n1000_cpp.sk
new file mode 100644
index 0000000..19d9ef4
Binary files /dev/null and b/serialization/cpp/snapshots/varopt_sketch_long_n1000_cpp.sk differ
diff --git a/serialization/cpp/snapshots/varopt_sketch_long_n100_cpp.sk b/serialization/cpp/snapshots/varopt_sketch_long_n100_cpp.sk
new file mode 100644
index 0000000..4e669fe
Binary files /dev/null and b/serialization/cpp/snapshots/varopt_sketch_long_n100_cpp.sk differ
diff --git a/serialization/cpp/snapshots/varopt_sketch_long_n10_cpp.sk b/serialization/cpp/snapshots/varopt_sketch_long_n10_cpp.sk
new file mode 100644
index 0000000..f1ac8c0
Binary files /dev/null and b/serialization/cpp/snapshots/varopt_sketch_long_n10_cpp.sk differ
diff --git a/serialization/cpp/snapshots/varopt_sketch_long_n1_cpp.sk b/serialization/cpp/snapshots/varopt_sketch_long_n1_cpp.sk
new file mode 100644
index 0000000..86f6bc3
Binary files /dev/null and b/serialization/cpp/snapshots/varopt_sketch_long_n1_cpp.sk differ
diff --git a/serialization/cpp/snapshots/varopt_sketch_long_sampling_cpp.sk b/serialization/cpp/snapshots/varopt_sketch_long_sampling_cpp.sk
new file mode 100644
index 0000000..8b15f19
Binary files /dev/null and b/serialization/cpp/snapshots/varopt_sketch_long_sampling_cpp.sk differ
diff --git a/serialization/cpp/snapshots/varopt_sketch_string_exact_cpp.sk b/serialization/cpp/snapshots/varopt_sketch_string_exact_cpp.sk
new file mode 100644
index 0000000..2da7e4e
Binary files /dev/null and b/serialization/cpp/snapshots/varopt_sketch_string_exact_cpp.sk differ
diff --git a/serialization/cpp/snapshots/varopt_union_double_sampling_cpp.sk b/serialization/cpp/snapshots/varopt_union_double_sampling_cpp.sk
new file mode 100644
index 0000000..40d56b3
Binary files /dev/null and b/serialization/cpp/snapshots/varopt_union_double_sampling_cpp.sk differ
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@datasketches.apache.org
For additional commands, e-mail: commits-help@datasketches.apache.org