From 33975e98548306c90ccdc156bc436408a213be00 Mon Sep 17 00:00:00 2001 From: vitamin-ca <vitamin-ca@yandex-team.ru> Date: Thu, 10 Feb 2022 16:50:46 +0300 Subject: Restoring authorship annotation for <vitamin-ca@yandex-team.ru>. Commit 1 of 2. --- library/cpp/hyperloglog/hyperloglog.h | 50 +++++++++++++++++------------------ 1 file changed, 25 insertions(+), 25 deletions(-) (limited to 'library/cpp/hyperloglog/hyperloglog.h') diff --git a/library/cpp/hyperloglog/hyperloglog.h b/library/cpp/hyperloglog/hyperloglog.h index e79ee0ed77..f5c09cdc41 100644 --- a/library/cpp/hyperloglog/hyperloglog.h +++ b/library/cpp/hyperloglog/hyperloglog.h @@ -1,30 +1,30 @@ -#pragma once - -#include <util/system/types.h> +#pragma once + +#include <util/system/types.h> #include <util/stream/input.h> #include <util/generic/array_ref.h> - -#include <vector> - -class IOutputStream; - + +#include <vector> + +class IOutputStream; + class THyperLogLogBase { protected: explicit THyperLogLogBase(unsigned precision); - -public: - static const constexpr unsigned PRECISION_MIN = 4; - - static const constexpr unsigned PRECISION_MAX = 18; - - void Update(ui64 hash); - + +public: + static const constexpr unsigned PRECISION_MIN = 4; + + static const constexpr unsigned PRECISION_MAX = 18; + + void Update(ui64 hash); + void Merge(const THyperLogLogBase& rh); - - ui64 Estimate() const; - - void Save(IOutputStream& out) const; - + + ui64 Estimate() const; + + void Save(IOutputStream& out) const; + protected: unsigned Precision; @@ -38,8 +38,8 @@ private: : THyperLogLogBase(precision) { Registers.resize(1u << precision); RegistersRef = MakeArrayRef(Registers); - } - + } + public: THyperLogLogWithAlloc(THyperLogLogWithAlloc&&) = default; @@ -57,8 +57,8 @@ public: return res; } -private: +private: std::vector<ui8, Alloc> Registers; -}; +}; using THyperLogLog = THyperLogLogWithAlloc<std::allocator<ui8>>; -- cgit v1.2.3