diff options
author | Anton Samokhvalov <pg83@yandex.ru> | 2022-02-10 16:45:17 +0300 |
---|---|---|
committer | Daniil Cherednik <dcherednik@yandex-team.ru> | 2022-02-10 16:45:17 +0300 |
commit | d3a398281c6fd1d3672036cb2d63f842d2cb28c5 (patch) | |
tree | dd4bd3ca0f36b817e96812825ffaf10d645803f2 /library/cpp/digest | |
parent | 72cb13b4aff9bc9cf22e49251bc8fd143f82538f (diff) | |
download | ydb-d3a398281c6fd1d3672036cb2d63f842d2cb28c5.tar.gz |
Restoring authorship annotation for Anton Samokhvalov <pg83@yandex.ru>. Commit 2 of 2.
Diffstat (limited to 'library/cpp/digest')
39 files changed, 1014 insertions, 1014 deletions
diff --git a/library/cpp/digest/argonish/ut/ut.cpp b/library/cpp/digest/argonish/ut/ut.cpp index 67840aacc5..12ef530a18 100644 --- a/library/cpp/digest/argonish/ut/ut.cpp +++ b/library/cpp/digest/argonish/ut/ut.cpp @@ -4,130 +4,130 @@ Y_UNIT_TEST_SUITE(ArgonishTest) { const ui8 GenKatPassword[32] = { - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, + 0x01, + 0x01, + 0x01, + 0x01, + 0x01, + 0x01, + 0x01, + 0x01, + 0x01, + 0x01, + 0x01, + 0x01, + 0x01, + 0x01, + 0x01, + 0x01, + 0x01, + 0x01, + 0x01, + 0x01, + 0x01, + 0x01, + 0x01, + 0x01, + 0x01, + 0x01, + 0x01, + 0x01, + 0x01, + 0x01, + 0x01, + 0x01, }; const ui8 GenKatSalt[16] = { - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, + 0x02, + 0x02, + 0x02, + 0x02, + 0x02, + 0x02, + 0x02, + 0x02, + 0x02, + 0x02, + 0x02, + 0x02, + 0x02, + 0x02, + 0x02, + 0x02, }; const ui8 GenKatSecret[8] = { - 0x03, - 0x03, - 0x03, - 0x03, - 0x03, - 0x03, - 0x03, - 0x03, + 0x03, + 0x03, + 0x03, + 0x03, + 0x03, + 0x03, + 0x03, + 0x03, }; const ui8 FrPassword[13] = { - 'm', - 'e', - 'g', - 'a', - '_', - 'p', - 'a', - 's', - 's', - 'w', - 'o', - 'r', - 'd', + 'm', + 'e', + 'g', + 'a', + '_', + 'p', + 'a', + 's', + 's', + 'w', + 'o', + 'r', + 'd', }; const ui8 FrSecret[16] = { - 'm', - 'e', - 'g', - 'a', - '_', - 's', - 'e', - 'c', - 'r', - 'e', - 't', - '_', - 'k', - 'e', - 'y', - '2', + 'm', + 'e', + 'g', + 'a', + '_', + 's', + 'e', + 'c', + 'r', + 'e', + 't', + '_', + 'k', + 'e', + 'y', + '2', }; const ui8 FrSalt[9] = { - 'm', - 'e', - 'g', - 'a', - '_', - 's', - 'a', - 'l', - 't', + 'm', + 'e', + 'g', + 'a', + '_', + 's', + 'a', + 'l', + 't', }; const ui8 GenKatAAD[12] = { - 0x04, - 0x04, - 0x04, - 0x04, - 0x04, - 0x04, - 0x04, - 0x04, - 0x04, - 0x04, - 0x04, - 0x04, + 0x04, + 0x04, + 0x04, + 0x04, + 0x04, + 0x04, + 0x04, + 0x04, + 0x04, + 0x04, + 0x04, + 0x04, }; Y_UNIT_TEST(Argon2_Fr_Test) { diff --git a/library/cpp/digest/argonish/ut_fat/ut.cpp b/library/cpp/digest/argonish/ut_fat/ut.cpp index faab88c7fc..41fa001685 100644 --- a/library/cpp/digest/argonish/ut_fat/ut.cpp +++ b/library/cpp/digest/argonish/ut_fat/ut.cpp @@ -4,83 +4,83 @@ Y_UNIT_TEST_SUITE(ArgonishTest) { const ui8 GenKatPassword[32] = { - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, - 0x01, + 0x01, + 0x01, + 0x01, + 0x01, + 0x01, + 0x01, + 0x01, + 0x01, + 0x01, + 0x01, + 0x01, + 0x01, + 0x01, + 0x01, + 0x01, + 0x01, + 0x01, + 0x01, + 0x01, + 0x01, + 0x01, + 0x01, + 0x01, + 0x01, + 0x01, + 0x01, + 0x01, + 0x01, + 0x01, + 0x01, + 0x01, + 0x01, }; const ui8 GenKatSalt[16] = { - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, - 0x02, + 0x02, + 0x02, + 0x02, + 0x02, + 0x02, + 0x02, + 0x02, + 0x02, + 0x02, + 0x02, + 0x02, + 0x02, + 0x02, + 0x02, + 0x02, + 0x02, }; const ui8 GenKatSecret[8] = { - 0x03, - 0x03, - 0x03, - 0x03, - 0x03, - 0x03, - 0x03, - 0x03, + 0x03, + 0x03, + 0x03, + 0x03, + 0x03, + 0x03, + 0x03, + 0x03, }; const ui8 GenKatAAD[12] = { - 0x04, - 0x04, - 0x04, - 0x04, - 0x04, - 0x04, - 0x04, - 0x04, - 0x04, - 0x04, - 0x04, - 0x04, + 0x04, + 0x04, + 0x04, + 0x04, + 0x04, + 0x04, + 0x04, + 0x04, + 0x04, + 0x04, + 0x04, + 0x04, }; constexpr NArgonish::EInstructionSet MaxArch = diff --git a/library/cpp/digest/crc32c/crc32c.cpp b/library/cpp/digest/crc32c/crc32c.cpp index 63daa12859..369b46a213 100644 --- a/library/cpp/digest/crc32c/crc32c.cpp +++ b/library/cpp/digest/crc32c/crc32c.cpp @@ -1,40 +1,40 @@ #include "crc32c.h" - + #include <util/generic/singleton.h> #include <contrib/libs/crcutil/interface.h> -namespace { - typedef crcutil_interface::CRC TCrc; - - struct TCrcUtilSse4 { - TCrc* const Pimpl; +namespace { + typedef crcutil_interface::CRC TCrc; + + struct TCrcUtilSse4 { + TCrc* const Pimpl; TCrcUtilSse4() noexcept - : Pimpl(TCrc::Create(0x82f63b78, 0, 32, true, 0, 0, 0, TCrc::IsSSE42Available(), nullptr)) - { - } + : Pimpl(TCrc::Create(0x82f63b78, 0, 32, true, 0, 0, 0, TCrc::IsSSE42Available(), nullptr)) + { + } - ~TCrcUtilSse4() noexcept { - Pimpl->Delete(); - } + ~TCrcUtilSse4() noexcept { + Pimpl->Delete(); + } inline ui32 Extend(ui32 init, const void* data, size_t n) const noexcept { - crcutil_interface::UINT64 sum = init; - Pimpl->Compute(data, n, &sum); - return (ui32)sum; - } + crcutil_interface::UINT64 sum = init; + Pimpl->Compute(data, n, &sum); + return (ui32)sum; + } }; -} +} + +ui32 Crc32c(const void* p, size_t size) noexcept { + return Singleton<TCrcUtilSse4>()->Extend(0, p, size); +} + +ui32 Crc32cExtend(ui32 init, const void* data, size_t n) noexcept { + return Singleton<TCrcUtilSse4>()->Extend(init, data, n); +} -ui32 Crc32c(const void* p, size_t size) noexcept { - return Singleton<TCrcUtilSse4>()->Extend(0, p, size); +bool HaveFastCrc32c() noexcept { + return TCrc::IsSSE42Available(); } - -ui32 Crc32cExtend(ui32 init, const void* data, size_t n) noexcept { - return Singleton<TCrcUtilSse4>()->Extend(init, data, n); -} - -bool HaveFastCrc32c() noexcept { - return TCrc::IsSSE42Available(); -} diff --git a/library/cpp/digest/crc32c/crc32c.h b/library/cpp/digest/crc32c/crc32c.h index 2f4b190b9c..17b554c8e1 100644 --- a/library/cpp/digest/crc32c/crc32c.h +++ b/library/cpp/digest/crc32c/crc32c.h @@ -1,9 +1,9 @@ #pragma once -#include <util/system/types.h> +#include <util/system/types.h> // Threadsafe -ui32 Crc32c(const void* p, size_t size) noexcept; -ui32 Crc32cExtend(ui32 init, const void* data, size_t n) noexcept; - -bool HaveFastCrc32c() noexcept; +ui32 Crc32c(const void* p, size_t size) noexcept; +ui32 Crc32cExtend(ui32 init, const void* data, size_t n) noexcept; + +bool HaveFastCrc32c() noexcept; diff --git a/library/cpp/digest/crc32c/crc32c_ut.cpp b/library/cpp/digest/crc32c/crc32c_ut.cpp index 08e7bbf120..aa31b83422 100644 --- a/library/cpp/digest/crc32c/crc32c_ut.cpp +++ b/library/cpp/digest/crc32c/crc32c_ut.cpp @@ -1,12 +1,12 @@ -#include "crc32c.h" - +#include "crc32c.h" + #include <library/cpp/testing/unittest/registar.h> - + Y_UNIT_TEST_SUITE(TestCrc32c) { Y_UNIT_TEST(TestCalc) { - UNIT_ASSERT_VALUES_EQUAL(Crc32c("abc", 3), ui32(910901175)); - } - + UNIT_ASSERT_VALUES_EQUAL(Crc32c("abc", 3), ui32(910901175)); + } + Y_UNIT_TEST(TestUnaligned) { const TString str(1000, 'a'); for (size_t substrLen = 0; substrLen <= str.length(); ++substrLen) { @@ -18,6 +18,6 @@ Y_UNIT_TEST_SUITE(TestCrc32c) { } Y_UNIT_TEST(TestExtend) { - UNIT_ASSERT_VALUES_EQUAL(Crc32cExtend(1, "abc", 3), ui32(2466950601)); - } -} + UNIT_ASSERT_VALUES_EQUAL(Crc32cExtend(1, "abc", 3), ui32(2466950601)); + } +} diff --git a/library/cpp/digest/crc32c/ut/ya.make b/library/cpp/digest/crc32c/ut/ya.make index 8ce179aaa8..325622e080 100644 --- a/library/cpp/digest/crc32c/ut/ya.make +++ b/library/cpp/digest/crc32c/ut/ya.make @@ -1,9 +1,9 @@ UNITTEST_FOR(library/cpp/digest/crc32c) - -OWNER(pg) - -SRCS( - crc32c_ut.cpp -) - -END() + +OWNER(pg) + +SRCS( + crc32c_ut.cpp +) + +END() diff --git a/library/cpp/digest/crc32c/ya.make b/library/cpp/digest/crc32c/ya.make index 5d21e907a0..d6faf16c9c 100644 --- a/library/cpp/digest/crc32c/ya.make +++ b/library/cpp/digest/crc32c/ya.make @@ -1,20 +1,20 @@ LIBRARY() -#!!! +#!!! OWNER( ddoarn a-romanov - pg - gulin - dcherednik + pg + gulin + dcherednik g:yamr g:rtmr ) -PEERDIR( - contrib/libs/crcutil -) - +PEERDIR( + contrib/libs/crcutil +) + SRCS( crc32c.cpp ) diff --git a/library/cpp/digest/lower_case/hash_ops.cpp b/library/cpp/digest/lower_case/hash_ops.cpp index cbc25394a8..3f1746d830 100644 --- a/library/cpp/digest/lower_case/hash_ops.cpp +++ b/library/cpp/digest/lower_case/hash_ops.cpp @@ -1,23 +1,23 @@ -#include "lchash.h" -#include "lciter.h" -#include "hash_ops.h" - -#include <util/generic/algorithm.h> - -size_t TCIOps::operator()(const TStringBuf& s) const noexcept { - return FnvCaseLess(s, (size_t)0xBEE); -} - -size_t TCIOps::operator()(const char* s) const noexcept { - return operator()(TStringBuf(s)); -} - -bool TCIOps::operator()(const TStringBuf& f, const TStringBuf& s) const noexcept { - using TIter = TLowerCaseIterator<const char>; - +#include "lchash.h" +#include "lciter.h" +#include "hash_ops.h" + +#include <util/generic/algorithm.h> + +size_t TCIOps::operator()(const TStringBuf& s) const noexcept { + return FnvCaseLess(s, (size_t)0xBEE); +} + +size_t TCIOps::operator()(const char* s) const noexcept { + return operator()(TStringBuf(s)); +} + +bool TCIOps::operator()(const TStringBuf& f, const TStringBuf& s) const noexcept { + using TIter = TLowerCaseIterator<const char>; + return (f.size() == s.size()) && Equal(TIter(f.begin()), TIter(f.end()), TIter(s.begin())); -} - -bool TCIOps::operator()(const char* f, const char* s) const noexcept { - return operator()(TStringBuf(f), TStringBuf(s)); -} +} + +bool TCIOps::operator()(const char* f, const char* s) const noexcept { + return operator()(TStringBuf(f), TStringBuf(s)); +} diff --git a/library/cpp/digest/lower_case/hash_ops.h b/library/cpp/digest/lower_case/hash_ops.h index 54267c1ee4..83ebf7aca4 100644 --- a/library/cpp/digest/lower_case/hash_ops.h +++ b/library/cpp/digest/lower_case/hash_ops.h @@ -1,13 +1,13 @@ -#pragma once - -#include <util/generic/strbuf.h> - +#pragma once + +#include <util/generic/strbuf.h> + // can be used for caseless hashes like: THashMap<TStringBuf, T, TCIOps, TCIOps> - -struct TCIOps { - size_t operator()(const char* s) const noexcept; - size_t operator()(const TStringBuf& s) const noexcept; - - bool operator()(const char* f, const char* s) const noexcept; - bool operator()(const TStringBuf& f, const TStringBuf& s) const noexcept; -}; + +struct TCIOps { + size_t operator()(const char* s) const noexcept; + size_t operator()(const TStringBuf& s) const noexcept; + + bool operator()(const char* f, const char* s) const noexcept; + bool operator()(const TStringBuf& f, const TStringBuf& s) const noexcept; +}; diff --git a/library/cpp/digest/lower_case/hash_ops_ut.cpp b/library/cpp/digest/lower_case/hash_ops_ut.cpp index 47f154ffb2..a7ab0b86ea 100644 --- a/library/cpp/digest/lower_case/hash_ops_ut.cpp +++ b/library/cpp/digest/lower_case/hash_ops_ut.cpp @@ -1,36 +1,36 @@ -#include "hash_ops.h" - +#include "hash_ops.h" + #include <library/cpp/testing/unittest/registar.h> - + Y_UNIT_TEST_SUITE(TestCIHash) { Y_UNIT_TEST(TestYHash1) { THashMap<TStringBuf, int, TCIOps, TCIOps> h; - - h["Ab"] = 1; - h["aB"] = 2; - - UNIT_ASSERT_VALUES_EQUAL(h.size(), 1); - UNIT_ASSERT_VALUES_EQUAL(h["ab"], 2); - } - + + h["Ab"] = 1; + h["aB"] = 2; + + UNIT_ASSERT_VALUES_EQUAL(h.size(), 1); + UNIT_ASSERT_VALUES_EQUAL(h["ab"], 2); + } + Y_UNIT_TEST(TestYHash2) { THashMap<const char*, int, TCIOps, TCIOps> h; - - h["Ab"] = 1; - h["aB"] = 2; - - UNIT_ASSERT_VALUES_EQUAL(h.size(), 1); - UNIT_ASSERT_VALUES_EQUAL(h["ab"], 2); - - h["Bc"] = 2; - h["bC"] = 3; - - UNIT_ASSERT_VALUES_EQUAL(h.size(), 2); - UNIT_ASSERT_VALUES_EQUAL(h["bc"], 3); - } - + + h["Ab"] = 1; + h["aB"] = 2; + + UNIT_ASSERT_VALUES_EQUAL(h.size(), 1); + UNIT_ASSERT_VALUES_EQUAL(h["ab"], 2); + + h["Bc"] = 2; + h["bC"] = 3; + + UNIT_ASSERT_VALUES_EQUAL(h.size(), 2); + UNIT_ASSERT_VALUES_EQUAL(h["bc"], 3); + } + Y_UNIT_TEST(Test1) { UNIT_ASSERT_VALUES_EQUAL(TCIOps()("aBc3"), TCIOps()(TStringBuf("AbC3"))); - UNIT_ASSERT(TCIOps()("aBc4", "AbC4")); - } -} + UNIT_ASSERT(TCIOps()("aBc4", "AbC4")); + } +} diff --git a/library/cpp/digest/lower_case/lchash.cpp b/library/cpp/digest/lower_case/lchash.cpp index 51a7ff5799..92b4245533 100644 --- a/library/cpp/digest/lower_case/lchash.cpp +++ b/library/cpp/digest/lower_case/lchash.cpp @@ -1 +1 @@ -#include "lchash.h" +#include "lchash.h" diff --git a/library/cpp/digest/lower_case/lchash.h b/library/cpp/digest/lower_case/lchash.h index 007d723e21..6a287d9479 100644 --- a/library/cpp/digest/lower_case/lchash.h +++ b/library/cpp/digest/lower_case/lchash.h @@ -1,18 +1,18 @@ -#pragma once - -#include "lciter.h" - -#include <util/digest/fnv.h> -#include <util/generic/strbuf.h> - -template <class T> +#pragma once + +#include "lciter.h" + +#include <util/digest/fnv.h> +#include <util/generic/strbuf.h> + +template <class T> static inline T FnvCaseLess(const char* b, size_t l, T t = 0) noexcept { using TIter = TLowerCaseIterator<const char>; - - return FnvHash(TIter(b), TIter(b + l), t); -} - -template <class T> + + return FnvHash(TIter(b), TIter(b + l), t); +} + +template <class T> static inline T FnvCaseLess(const TStringBuf& s, T t = 0) noexcept { return FnvCaseLess(s.data(), s.size(), t); -} +} diff --git a/library/cpp/digest/lower_case/lchash_ut.cpp b/library/cpp/digest/lower_case/lchash_ut.cpp index 9b40f38667..5711fe7cd7 100644 --- a/library/cpp/digest/lower_case/lchash_ut.cpp +++ b/library/cpp/digest/lower_case/lchash_ut.cpp @@ -1,21 +1,21 @@ -#include "lchash.h" - +#include "lchash.h" + #include <library/cpp/testing/unittest/registar.h> - + Y_UNIT_TEST_SUITE(TWebDaemonHash) { Y_UNIT_TEST(Stability) { - UNIT_ASSERT_VALUES_EQUAL(FnvCaseLess<ui64>("blah"), ULL(5923727754379976229)); - UNIT_ASSERT_VALUES_EQUAL(FnvCaseLess<ui64>("blahminor"), ULL(8755704309003440816)); - } - + UNIT_ASSERT_VALUES_EQUAL(FnvCaseLess<ui64>("blah"), ULL(5923727754379976229)); + UNIT_ASSERT_VALUES_EQUAL(FnvCaseLess<ui64>("blahminor"), ULL(8755704309003440816)); + } + Y_UNIT_TEST(CaseLess) { - UNIT_ASSERT_VALUES_EQUAL(FnvCaseLess<ui64>("blah"), FnvCaseLess<ui64>("bLah")); - UNIT_ASSERT_VALUES_EQUAL(FnvCaseLess<ui64>("blah"), FnvCaseLess<ui64>("blAh")); - UNIT_ASSERT_VALUES_EQUAL(FnvCaseLess<ui64>("blah"), FnvCaseLess<ui64>("BLAH")); - } - + UNIT_ASSERT_VALUES_EQUAL(FnvCaseLess<ui64>("blah"), FnvCaseLess<ui64>("bLah")); + UNIT_ASSERT_VALUES_EQUAL(FnvCaseLess<ui64>("blah"), FnvCaseLess<ui64>("blAh")); + UNIT_ASSERT_VALUES_EQUAL(FnvCaseLess<ui64>("blah"), FnvCaseLess<ui64>("BLAH")); + } + Y_UNIT_TEST(Robustness) { - UNIT_ASSERT(FnvCaseLess<ui64>("x-real-ip") != FnvCaseLess<ui64>("x-req-id")); - UNIT_ASSERT(FnvCaseLess<ui64>("x-real-ip") != FnvCaseLess<ui64>("x-start-time")); - } -} + UNIT_ASSERT(FnvCaseLess<ui64>("x-real-ip") != FnvCaseLess<ui64>("x-req-id")); + UNIT_ASSERT(FnvCaseLess<ui64>("x-real-ip") != FnvCaseLess<ui64>("x-start-time")); + } +} diff --git a/library/cpp/digest/lower_case/lciter.cpp b/library/cpp/digest/lower_case/lciter.cpp index d204536e8d..38d23eb2dd 100644 --- a/library/cpp/digest/lower_case/lciter.cpp +++ b/library/cpp/digest/lower_case/lciter.cpp @@ -1 +1 @@ -#include "lciter.h" +#include "lciter.h" diff --git a/library/cpp/digest/lower_case/lciter.h b/library/cpp/digest/lower_case/lciter.h index 87f47c7a82..9538e57932 100644 --- a/library/cpp/digest/lower_case/lciter.h +++ b/library/cpp/digest/lower_case/lciter.h @@ -1,42 +1,42 @@ -#pragma once - -#include <util/generic/typetraits.h> -#include <util/string/ascii.h> - +#pragma once + +#include <util/generic/typetraits.h> +#include <util/string/ascii.h> + #include <iterator> - -template <class T> + +template <class T> struct TLowerCaseIterator: public std::iterator<std::input_iterator_tag, T> { using TNonConst = std::remove_const_t<T>; - - inline TLowerCaseIterator(T* c) - : C(c) - { - } - + + inline TLowerCaseIterator(T* c) + : C(c) + { + } + inline TLowerCaseIterator& operator++() noexcept { - ++C; - - return *this; - } - + ++C; + + return *this; + } + inline TLowerCaseIterator operator++(int) noexcept { - return C++; - } - + return C++; + } + inline TNonConst operator*() const noexcept { - return AsciiToLower(*C); - } - - T* C; -}; - -template <class T> + return AsciiToLower(*C); + } + + T* C; +}; + +template <class T> inline bool operator==(const TLowerCaseIterator<T>& l, const TLowerCaseIterator<T>& r) noexcept { - return l.C == r.C; -} - -template <class T> + return l.C == r.C; +} + +template <class T> inline bool operator!=(const TLowerCaseIterator<T>& l, const TLowerCaseIterator<T>& r) noexcept { - return !(l == r); -} + return !(l == r); +} diff --git a/library/cpp/digest/lower_case/ut/ya.make b/library/cpp/digest/lower_case/ut/ya.make index adfb14818d..f083257b3d 100644 --- a/library/cpp/digest/lower_case/ut/ya.make +++ b/library/cpp/digest/lower_case/ut/ya.make @@ -1,13 +1,13 @@ UNITTEST_FOR(library/cpp/digest/lower_case) - + OWNER( pg g:util ) - -SRCS( - lchash_ut.cpp - hash_ops_ut.cpp -) - -END() + +SRCS( + lchash_ut.cpp + hash_ops_ut.cpp +) + +END() diff --git a/library/cpp/digest/lower_case/ya.make b/library/cpp/digest/lower_case/ya.make index bb6dee8ea9..62cc16556a 100644 --- a/library/cpp/digest/lower_case/ya.make +++ b/library/cpp/digest/lower_case/ya.make @@ -1,14 +1,14 @@ -LIBRARY() - -OWNER( - pg +LIBRARY() + +OWNER( + pg g:util -) - -SRCS( - lciter.cpp - lchash.cpp - hash_ops.cpp -) - -END() +) + +SRCS( + lciter.cpp + lchash.cpp + hash_ops.cpp +) + +END() diff --git a/library/cpp/digest/md5/bench/main.cpp b/library/cpp/digest/md5/bench/main.cpp index a987eefe59..70672e6741 100644 --- a/library/cpp/digest/md5/bench/main.cpp +++ b/library/cpp/digest/md5/bench/main.cpp @@ -1,19 +1,19 @@ #include <benchmark/benchmark.h> #include <library/cpp/digest/md5/md5.h> - -#define MD5_DEF(N) \ + +#define MD5_DEF(N) \ static void MD5Benchmark_##N(benchmark::State& st) { \ - char buf[N]; \ + char buf[N]; \ for (auto _ : st) { \ - Y_DO_NOT_OPTIMIZE_AWAY(MD5().Update(buf, sizeof(buf))); \ - } \ + Y_DO_NOT_OPTIMIZE_AWAY(MD5().Update(buf, sizeof(buf))); \ + } \ } \ BENCHMARK(MD5Benchmark_##N); - -MD5_DEF(32) -MD5_DEF(64) -MD5_DEF(128) - -MD5_DEF(1024) -MD5_DEF(2048) + +MD5_DEF(32) +MD5_DEF(64) +MD5_DEF(128) + +MD5_DEF(1024) +MD5_DEF(2048) diff --git a/library/cpp/digest/md5/bench/ya.make b/library/cpp/digest/md5/bench/ya.make index 0c19f330a0..5c3e3c1c42 100644 --- a/library/cpp/digest/md5/bench/ya.make +++ b/library/cpp/digest/md5/bench/ya.make @@ -1,16 +1,16 @@ G_BENCHMARK() - + OWNER( pg g:util ) - -PEERDIR( + +PEERDIR( library/cpp/digest/md5 -) - -SRCS( - main.cpp -) - -END() +) + +SRCS( + main.cpp +) + +END() diff --git a/library/cpp/digest/md5/md5.cpp b/library/cpp/digest/md5/md5.cpp index 4246270741..24a5b69eef 100644 --- a/library/cpp/digest/md5/md5.cpp +++ b/library/cpp/digest/md5/md5.cpp @@ -1,31 +1,31 @@ #include "md5.h" #include <library/cpp/string_utils/base64/base64.h> - + #include <util/stream/input.h> -#include <util/stream/file.h> +#include <util/stream/file.h> #include <util/string/hex.h> #include <contrib/libs/nayuki_md5/md5.h> - -namespace { + +namespace { constexpr size_t MD5_BLOCK_LENGTH = 64; constexpr size_t MD5_PADDING_SHIFT = 56; constexpr size_t MD5_HEX_DIGEST_LENGTH = 32; struct TMd5Stream: public IOutputStream { - inline TMd5Stream(MD5* md5) - : M_(md5) - { - } - + inline TMd5Stream(MD5* md5) + : M_(md5) + { + } + void DoWrite(const void* buf, size_t len) override { - M_->Update(buf, len); - } - - MD5* M_; - }; + M_->Update(buf, len); + } + + MD5* M_; + }; inline TArrayRef<const ui8> MakeUnsignedArrayRef(const void* data, const size_t size) { return MakeArrayRef(static_cast<const ui8*>(data), size); @@ -34,16 +34,16 @@ namespace { inline TArrayRef<const ui8> MakeUnsignedArrayRef(const TArrayRef<const char>& data) { return MakeUnsignedArrayRef(data.data(), data.size()); } -} - -char* MD5::File(const char* filename, char* buf) { - try { +} + +char* MD5::File(const char* filename, char* buf) { + try { TUnbufferedFileInput fi(filename); - - return Stream(&fi, buf); - } catch (...) { + + return Stream(&fi, buf); + } catch (...) { } - + return nullptr; } @@ -77,25 +77,25 @@ TString MD5::Data(TStringBuf data) { } char* MD5::Stream(IInputStream* in, char* buf) { - return MD5().Update(in).End(buf); -} - + return MD5().Update(in).End(buf); +} + MD5& MD5::Update(IInputStream* in) { - TMd5Stream md5(this); - + TMd5Stream md5(this); + TransferData(in, &md5); - - return *this; + + return *this; } static const ui8 PADDING[MD5_BLOCK_LENGTH] = { - 0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + 0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; /* MD5 initialization. Begins an MD5 operation, writing a new context. */ -void MD5::Init() { +void MD5::Init() { BufferSize = 0; StreamSize = 0; /* Load magic initialization constants. */ @@ -105,7 +105,7 @@ void MD5::Init() { State[3] = 0x10325476; } -/* +/* * MD5 block update operation. Continues an MD5 message-digest * operation, processing another message block, and updating the * context. @@ -141,7 +141,7 @@ void MD5::UpdatePart(TArrayRef<const ui8> data) { * MD5 padding. Adds padding followed by original length. */ -void MD5::Pad() { +void MD5::Pad() { size_t streamSize = StreamSize; const size_t paddingSize = (MD5_PADDING_SHIFT > BufferSize) ? (MD5_PADDING_SHIFT - BufferSize) : (MD5_PADDING_SHIFT + MD5_BLOCK_LENGTH - BufferSize); @@ -169,16 +169,16 @@ ui8* MD5::Final(ui8 digest[16]) { memcpy(digest, State, 16); /* Zeroize sensitive information. */ Init(); - - return digest; + + return digest; } -char* MD5::End(char* buf) { - static const char hex[] = "0123456789abcdef"; +char* MD5::End(char* buf) { + static const char hex[] = "0123456789abcdef"; ui8 digest[16]; - if (!buf) + if (!buf) buf = (char*)malloc(33); - if (!buf) + if (!buf) return nullptr; Final(digest); for (ui8 i = 0; i < MD5_HEX_DIGEST_LENGTH / 2; i++) { @@ -189,14 +189,14 @@ char* MD5::End(char* buf) { return buf; } -char* MD5::End_b64(char* buf) { +char* MD5::End_b64(char* buf) { ui8 digest[16]; - if (!buf) + if (!buf) buf = (char*)malloc(25); - if (!buf) + if (!buf) return nullptr; Final(digest); - Base64Encode(buf, digest, 16); + Base64Encode(buf, digest, 16); buf[24] = '\0'; return buf; } @@ -215,11 +215,11 @@ ui64 MD5::EndHalfMix() { TString MD5::Calc(TStringBuf data) { return Calc(MakeUnsignedArrayRef(data)); } - + TString MD5::Calc(const TArrayRef<const ui8>& data) { return Data(data); } - + TString MD5::CalcRaw(TStringBuf data) { return CalcRaw(MakeUnsignedArrayRef(data)); } diff --git a/library/cpp/digest/md5/md5.h b/library/cpp/digest/md5/md5.h index 014323adea..2c17aa0518 100644 --- a/library/cpp/digest/md5/md5.h +++ b/library/cpp/digest/md5/md5.h @@ -5,30 +5,30 @@ class IInputStream; -class MD5 { +class MD5 { public: MD5() { Init(); } - - void Init(); - + + void Init(); + inline MD5& Update(const void* data, size_t len) { return Update(MakeArrayRef(static_cast<const ui8*>(data), len)); } - + inline MD5& Update(TStringBuf data) { return Update(data.data(), data.size()); } - + inline MD5& Update(const TArrayRef<const ui8> data) { UpdatePart(data); return *this; - } - - void Pad(); + } + + void Pad(); ui8* Final(ui8[16]); - + // buf must be char[33]; char* End(char* buf); @@ -39,7 +39,7 @@ public: ui64 EndHalfMix(); MD5& Update(IInputStream* in); - + /* * Return hex-encoded md5 checksum for given file. * @@ -53,7 +53,7 @@ public: static TString Data(const TArrayRef<const ui8>& data); static TString Data(TStringBuf data); static char* Stream(IInputStream* in, char* buf); - + static TString Calc(TStringBuf data); // 32-byte hex-encoded static TString Calc(const TArrayRef<const ui8>& data); // 32-byte hex-encoded static TString CalcRaw(TStringBuf data); // 16-byte raw diff --git a/library/cpp/digest/md5/md5_medium_ut.cpp b/library/cpp/digest/md5/md5_medium_ut.cpp index 11a8a1276c..a940c5cb66 100644 --- a/library/cpp/digest/md5/md5_medium_ut.cpp +++ b/library/cpp/digest/md5/md5_medium_ut.cpp @@ -1,24 +1,24 @@ -#include "md5.h" - +#include "md5.h" + #include <library/cpp/testing/unittest/registar.h> Y_UNIT_TEST_SUITE(TMD5MediumTest) { Y_UNIT_TEST(TestOverflow) { - if (sizeof(size_t) > sizeof(unsigned int)) { + if (sizeof(size_t) > sizeof(unsigned int)) { const size_t maxUi32 = (size_t)Max<unsigned int>(); TArrayHolder<char> buf(new char[maxUi32]); - + memset(buf.Get(), 0, maxUi32); - + MD5 r; for (int i = 0; i < 5; ++i) { r.Update(buf.Get(), maxUi32); } - + char rs[33]; TString s(r.End(rs)); s.to_lower(); - + UNIT_ASSERT_VALUES_EQUAL(s, "34a5a7ed4f0221310084e21a1e599659"); } } diff --git a/library/cpp/digest/md5/md5_ut.cpp b/library/cpp/digest/md5/md5_ut.cpp index 8216fa463a..1c3e4ad0a9 100644 --- a/library/cpp/digest/md5/md5_ut.cpp +++ b/library/cpp/digest/md5/md5_ut.cpp @@ -1,44 +1,44 @@ -#include "md5.h" - +#include "md5.h" + #include <library/cpp/testing/unittest/registar.h> -#include <util/system/fs.h> -#include <util/stream/file.h> - +#include <util/system/fs.h> +#include <util/stream/file.h> + Y_UNIT_TEST_SUITE(TMD5Test) { Y_UNIT_TEST(TestMD5) { // echo -n 'qwertyuiopqwertyuiopasdfghjklasdfghjkl' | md5sum constexpr const char* b = "qwertyuiopqwertyuiopasdfghjklasdfghjkl"; - + MD5 r; r.Update((const unsigned char*)b, 15); r.Update((const unsigned char*)b + 15, strlen(b) - 15); - + char rs[33]; TString s(r.End(rs)); s.to_lower(); - + UNIT_ASSERT_NO_DIFF(s, TStringBuf("3ac00dd696b966fd74deee3c35a59d8f")); - + TString result = r.Calc(TStringBuf(b)); result.to_lower(); UNIT_ASSERT_NO_DIFF(result, TStringBuf("3ac00dd696b966fd74deee3c35a59d8f")); } - + Y_UNIT_TEST(TestFile) { TString s = NUnitTest::RandomString(1000000, 1); const TString tmpFile = "tmp"; - + { TFixedBufferFileOutput fo(tmpFile); fo.Write(s.data(), s.size()); } - + char fileBuf[100]; char memBuf[100]; TString fileHash = MD5::File(tmpFile.data(), fileBuf); TString memoryHash = MD5::Data((const unsigned char*)s.data(), s.size(), memBuf); - + UNIT_ASSERT_NO_DIFF(fileHash, memoryHash); fileHash = MD5::File(tmpFile); diff --git a/library/cpp/digest/md5/medium_ut/ya.make b/library/cpp/digest/md5/medium_ut/ya.make index 5d4f2bbce7..418c57f086 100644 --- a/library/cpp/digest/md5/medium_ut/ya.make +++ b/library/cpp/digest/md5/medium_ut/ya.make @@ -1,5 +1,5 @@ UNITTEST_FOR(library/cpp/digest/md5) - + SIZE(MEDIUM) TIMEOUT(120) @@ -8,11 +8,11 @@ OWNER( pg g:util ) - -SRCS( + +SRCS( md5_medium_ut.cpp -) - +) + REQUIREMENTS(ram:10) -END() +END() diff --git a/library/cpp/digest/md5/ut/ya.make b/library/cpp/digest/md5/ut/ya.make index d4595d71fd..ad1eddbff2 100644 --- a/library/cpp/digest/md5/ut/ya.make +++ b/library/cpp/digest/md5/ut/ya.make @@ -1,12 +1,12 @@ UNITTEST_FOR(library/cpp/digest/md5) - + OWNER( pg g:util ) - -SRCS( - md5_ut.cpp -) - -END() + +SRCS( + md5_ut.cpp +) + +END() diff --git a/library/cpp/digest/md5/ya.make b/library/cpp/digest/md5/ya.make index 501929c448..c09ec1c326 100644 --- a/library/cpp/digest/md5/ya.make +++ b/library/cpp/digest/md5/ya.make @@ -1,17 +1,17 @@ -LIBRARY() - +LIBRARY() + OWNER( pg g:util ) - -SRCS( - md5.cpp -) - + +SRCS( + md5.cpp +) + PEERDIR( - contrib/libs/nayuki_md5 + contrib/libs/nayuki_md5 library/cpp/string_utils/base64 ) -END() +END() diff --git a/library/cpp/digest/old_crc/crc.cpp b/library/cpp/digest/old_crc/crc.cpp index 08032a89db..994755f34d 100644 --- a/library/cpp/digest/old_crc/crc.cpp +++ b/library/cpp/digest/old_crc/crc.cpp @@ -1,268 +1,268 @@ -#include "crc.h" +#include "crc.h" #include <library/cpp/digest/old_crc/crc.inc> -#include <util/system/defaults.h> - +#include <util/system/defaults.h> + static const ui64 CRCTAB64[256] = { - ULL(0x0000000000000000), - ULL(0xE543279765927881), - ULL(0x2FC568B9AEB68983), - ULL(0xCA864F2ECB24F102), - ULL(0x5F8AD1735D6D1306), - ULL(0xBAC9F6E438FF6B87), - ULL(0x704FB9CAF3DB9A85), - ULL(0x950C9E5D9649E204), - ULL(0xBF15A2E6BADA260C), - ULL(0x5A568571DF485E8D), - ULL(0x90D0CA5F146CAF8F), - ULL(0x7593EDC871FED70E), - ULL(0xE09F7395E7B7350A), - ULL(0x05DC540282254D8B), - ULL(0xCF5A1B2C4901BC89), - ULL(0x2A193CBB2C93C408), - ULL(0x9B68625A10263499), - ULL(0x7E2B45CD75B44C18), - ULL(0xB4AD0AE3BE90BD1A), - ULL(0x51EE2D74DB02C59B), - ULL(0xC4E2B3294D4B279F), - ULL(0x21A194BE28D95F1E), - ULL(0xEB27DB90E3FDAE1C), - ULL(0x0E64FC07866FD69D), - ULL(0x247DC0BCAAFC1295), - ULL(0xC13EE72BCF6E6A14), - ULL(0x0BB8A805044A9B16), - ULL(0xEEFB8F9261D8E397), - ULL(0x7BF711CFF7910193), - ULL(0x9EB4365892037912), - ULL(0x5432797659278810), - ULL(0xB1715EE13CB5F091), - ULL(0xD393E32345DE11B3), - ULL(0x36D0C4B4204C6932), - ULL(0xFC568B9AEB689830), - ULL(0x1915AC0D8EFAE0B1), - ULL(0x8C19325018B302B5), - ULL(0x695A15C77D217A34), - ULL(0xA3DC5AE9B6058B36), - ULL(0x469F7D7ED397F3B7), - ULL(0x6C8641C5FF0437BF), - ULL(0x89C566529A964F3E), - ULL(0x4343297C51B2BE3C), - ULL(0xA6000EEB3420C6BD), - ULL(0x330C90B6A26924B9), - ULL(0xD64FB721C7FB5C38), - ULL(0x1CC9F80F0CDFAD3A), - ULL(0xF98ADF98694DD5BB), - ULL(0x48FB817955F8252A), - ULL(0xADB8A6EE306A5DAB), - ULL(0x673EE9C0FB4EACA9), - ULL(0x827DCE579EDCD428), - ULL(0x1771500A0895362C), - ULL(0xF232779D6D074EAD), - ULL(0x38B438B3A623BFAF), - ULL(0xDDF71F24C3B1C72E), - ULL(0xF7EE239FEF220326), - ULL(0x12AD04088AB07BA7), - ULL(0xD82B4B2641948AA5), - ULL(0x3D686CB12406F224), - ULL(0xA864F2ECB24F1020), - ULL(0x4D27D57BD7DD68A1), - ULL(0x87A19A551CF999A3), - ULL(0x62E2BDC2796BE122), - ULL(0x4264E1D1EE2E5BE7), - ULL(0xA727C6468BBC2366), - ULL(0x6DA189684098D264), - ULL(0x88E2AEFF250AAAE5), - ULL(0x1DEE30A2B34348E1), - ULL(0xF8AD1735D6D13060), - ULL(0x322B581B1DF5C162), - ULL(0xD7687F8C7867B9E3), - ULL(0xFD71433754F47DEB), - ULL(0x183264A03166056A), - ULL(0xD2B42B8EFA42F468), - ULL(0x37F70C199FD08CE9), - ULL(0xA2FB924409996EED), - ULL(0x47B8B5D36C0B166C), - ULL(0x8D3EFAFDA72FE76E), - ULL(0x687DDD6AC2BD9FEF), - ULL(0xD90C838BFE086F7E), - ULL(0x3C4FA41C9B9A17FF), - ULL(0xF6C9EB3250BEE6FD), - ULL(0x138ACCA5352C9E7C), - ULL(0x868652F8A3657C78), - ULL(0x63C5756FC6F704F9), - ULL(0xA9433A410DD3F5FB), - ULL(0x4C001DD668418D7A), - ULL(0x6619216D44D24972), - ULL(0x835A06FA214031F3), - ULL(0x49DC49D4EA64C0F1), - ULL(0xAC9F6E438FF6B870), - ULL(0x3993F01E19BF5A74), - ULL(0xDCD0D7897C2D22F5), - ULL(0x165698A7B709D3F7), - ULL(0xF315BF30D29BAB76), - ULL(0x91F702F2ABF04A54), - ULL(0x74B42565CE6232D5), - ULL(0xBE326A4B0546C3D7), - ULL(0x5B714DDC60D4BB56), - ULL(0xCE7DD381F69D5952), - ULL(0x2B3EF416930F21D3), - ULL(0xE1B8BB38582BD0D1), - ULL(0x04FB9CAF3DB9A850), - ULL(0x2EE2A014112A6C58), - ULL(0xCBA1878374B814D9), - ULL(0x0127C8ADBF9CE5DB), - ULL(0xE464EF3ADA0E9D5A), - ULL(0x716871674C477F5E), - ULL(0x942B56F029D507DF), - ULL(0x5EAD19DEE2F1F6DD), - ULL(0xBBEE3E4987638E5C), - ULL(0x0A9F60A8BBD67ECD), - ULL(0xEFDC473FDE44064C), - ULL(0x255A08111560F74E), - ULL(0xC0192F8670F28FCF), - ULL(0x5515B1DBE6BB6DCB), - ULL(0xB056964C8329154A), - ULL(0x7AD0D962480DE448), - ULL(0x9F93FEF52D9F9CC9), - ULL(0xB58AC24E010C58C1), - ULL(0x50C9E5D9649E2040), - ULL(0x9A4FAAF7AFBAD142), - ULL(0x7F0C8D60CA28A9C3), - ULL(0xEA00133D5C614BC7), - ULL(0x0F4334AA39F33346), - ULL(0xC5C57B84F2D7C244), - ULL(0x20865C139745BAC5), - ULL(0x84C9C3A3DC5CB7CE), - ULL(0x618AE434B9CECF4F), - ULL(0xAB0CAB1A72EA3E4D), - ULL(0x4E4F8C8D177846CC), - ULL(0xDB4312D08131A4C8), - ULL(0x3E003547E4A3DC49), - ULL(0xF4867A692F872D4B), - ULL(0x11C55DFE4A1555CA), - ULL(0x3BDC6145668691C2), - ULL(0xDE9F46D20314E943), - ULL(0x141909FCC8301841), - ULL(0xF15A2E6BADA260C0), - ULL(0x6456B0363BEB82C4), - ULL(0x811597A15E79FA45), - ULL(0x4B93D88F955D0B47), - ULL(0xAED0FF18F0CF73C6), - ULL(0x1FA1A1F9CC7A8357), - ULL(0xFAE2866EA9E8FBD6), - ULL(0x3064C94062CC0AD4), - ULL(0xD527EED7075E7255), - ULL(0x402B708A91179051), - ULL(0xA568571DF485E8D0), - ULL(0x6FEE18333FA119D2), - ULL(0x8AAD3FA45A336153), - ULL(0xA0B4031F76A0A55B), - ULL(0x45F724881332DDDA), - ULL(0x8F716BA6D8162CD8), - ULL(0x6A324C31BD845459), - ULL(0xFF3ED26C2BCDB65D), - ULL(0x1A7DF5FB4E5FCEDC), - ULL(0xD0FBBAD5857B3FDE), - ULL(0x35B89D42E0E9475F), - ULL(0x575A20809982A67D), - ULL(0xB2190717FC10DEFC), - ULL(0x789F483937342FFE), - ULL(0x9DDC6FAE52A6577F), - ULL(0x08D0F1F3C4EFB57B), - ULL(0xED93D664A17DCDFA), - ULL(0x2715994A6A593CF8), - ULL(0xC256BEDD0FCB4479), - ULL(0xE84F826623588071), - ULL(0x0D0CA5F146CAF8F0), - ULL(0xC78AEADF8DEE09F2), - ULL(0x22C9CD48E87C7173), - ULL(0xB7C553157E359377), - ULL(0x528674821BA7EBF6), - ULL(0x98003BACD0831AF4), - ULL(0x7D431C3BB5116275), - ULL(0xCC3242DA89A492E4), - ULL(0x2971654DEC36EA65), - ULL(0xE3F72A6327121B67), - ULL(0x06B40DF4428063E6), - ULL(0x93B893A9D4C981E2), - ULL(0x76FBB43EB15BF963), - ULL(0xBC7DFB107A7F0861), - ULL(0x593EDC871FED70E0), - ULL(0x7327E03C337EB4E8), - ULL(0x9664C7AB56ECCC69), - ULL(0x5CE288859DC83D6B), - ULL(0xB9A1AF12F85A45EA), - ULL(0x2CAD314F6E13A7EE), - ULL(0xC9EE16D80B81DF6F), - ULL(0x036859F6C0A52E6D), - ULL(0xE62B7E61A53756EC), - ULL(0xC6AD22723272EC29), - ULL(0x23EE05E557E094A8), - ULL(0xE9684ACB9CC465AA), - ULL(0x0C2B6D5CF9561D2B), - ULL(0x9927F3016F1FFF2F), - ULL(0x7C64D4960A8D87AE), - ULL(0xB6E29BB8C1A976AC), - ULL(0x53A1BC2FA43B0E2D), - ULL(0x79B8809488A8CA25), - ULL(0x9CFBA703ED3AB2A4), - ULL(0x567DE82D261E43A6), - ULL(0xB33ECFBA438C3B27), - ULL(0x263251E7D5C5D923), - ULL(0xC3717670B057A1A2), - ULL(0x09F7395E7B7350A0), - ULL(0xECB41EC91EE12821), - ULL(0x5DC540282254D8B0), - ULL(0xB88667BF47C6A031), - ULL(0x720028918CE25133), - ULL(0x97430F06E97029B2), - ULL(0x024F915B7F39CBB6), - ULL(0xE70CB6CC1AABB337), - ULL(0x2D8AF9E2D18F4235), - ULL(0xC8C9DE75B41D3AB4), - ULL(0xE2D0E2CE988EFEBC), - ULL(0x0793C559FD1C863D), - ULL(0xCD158A773638773F), - ULL(0x2856ADE053AA0FBE), - ULL(0xBD5A33BDC5E3EDBA), - ULL(0x5819142AA071953B), - ULL(0x929F5B046B556439), - ULL(0x77DC7C930EC71CB8), - ULL(0x153EC15177ACFD9A), - ULL(0xF07DE6C6123E851B), - ULL(0x3AFBA9E8D91A7419), - ULL(0xDFB88E7FBC880C98), - ULL(0x4AB410222AC1EE9C), - ULL(0xAFF737B54F53961D), - ULL(0x6571789B8477671F), - ULL(0x80325F0CE1E51F9E), - ULL(0xAA2B63B7CD76DB96), - ULL(0x4F684420A8E4A317), - ULL(0x85EE0B0E63C05215), - ULL(0x60AD2C9906522A94), - ULL(0xF5A1B2C4901BC890), - ULL(0x10E29553F589B011), - ULL(0xDA64DA7D3EAD4113), - ULL(0x3F27FDEA5B3F3992), - ULL(0x8E56A30B678AC903), - ULL(0x6B15849C0218B182), - ULL(0xA193CBB2C93C4080), - ULL(0x44D0EC25ACAE3801), - ULL(0xD1DC72783AE7DA05), - ULL(0x349F55EF5F75A284), - ULL(0xFE191AC194515386), - ULL(0x1B5A3D56F1C32B07), - ULL(0x314301EDDD50EF0F), - ULL(0xD400267AB8C2978E), - ULL(0x1E86695473E6668C), - ULL(0xFBC54EC316741E0D), - ULL(0x6EC9D09E803DFC09), - ULL(0x8B8AF709E5AF8488), - ULL(0x410CB8272E8B758A), - ULL(0xA44F9FB04B190D0B), + ULL(0x0000000000000000), + ULL(0xE543279765927881), + ULL(0x2FC568B9AEB68983), + ULL(0xCA864F2ECB24F102), + ULL(0x5F8AD1735D6D1306), + ULL(0xBAC9F6E438FF6B87), + ULL(0x704FB9CAF3DB9A85), + ULL(0x950C9E5D9649E204), + ULL(0xBF15A2E6BADA260C), + ULL(0x5A568571DF485E8D), + ULL(0x90D0CA5F146CAF8F), + ULL(0x7593EDC871FED70E), + ULL(0xE09F7395E7B7350A), + ULL(0x05DC540282254D8B), + ULL(0xCF5A1B2C4901BC89), + ULL(0x2A193CBB2C93C408), + ULL(0x9B68625A10263499), + ULL(0x7E2B45CD75B44C18), + ULL(0xB4AD0AE3BE90BD1A), + ULL(0x51EE2D74DB02C59B), + ULL(0xC4E2B3294D4B279F), + ULL(0x21A194BE28D95F1E), + ULL(0xEB27DB90E3FDAE1C), + ULL(0x0E64FC07866FD69D), + ULL(0x247DC0BCAAFC1295), + ULL(0xC13EE72BCF6E6A14), + ULL(0x0BB8A805044A9B16), + ULL(0xEEFB8F9261D8E397), + ULL(0x7BF711CFF7910193), + ULL(0x9EB4365892037912), + ULL(0x5432797659278810), + ULL(0xB1715EE13CB5F091), + ULL(0xD393E32345DE11B3), + ULL(0x36D0C4B4204C6932), + ULL(0xFC568B9AEB689830), + ULL(0x1915AC0D8EFAE0B1), + ULL(0x8C19325018B302B5), + ULL(0x695A15C77D217A34), + ULL(0xA3DC5AE9B6058B36), + ULL(0x469F7D7ED397F3B7), + ULL(0x6C8641C5FF0437BF), + ULL(0x89C566529A964F3E), + ULL(0x4343297C51B2BE3C), + ULL(0xA6000EEB3420C6BD), + ULL(0x330C90B6A26924B9), + ULL(0xD64FB721C7FB5C38), + ULL(0x1CC9F80F0CDFAD3A), + ULL(0xF98ADF98694DD5BB), + ULL(0x48FB817955F8252A), + ULL(0xADB8A6EE306A5DAB), + ULL(0x673EE9C0FB4EACA9), + ULL(0x827DCE579EDCD428), + ULL(0x1771500A0895362C), + ULL(0xF232779D6D074EAD), + ULL(0x38B438B3A623BFAF), + ULL(0xDDF71F24C3B1C72E), + ULL(0xF7EE239FEF220326), + ULL(0x12AD04088AB07BA7), + ULL(0xD82B4B2641948AA5), + ULL(0x3D686CB12406F224), + ULL(0xA864F2ECB24F1020), + ULL(0x4D27D57BD7DD68A1), + ULL(0x87A19A551CF999A3), + ULL(0x62E2BDC2796BE122), + ULL(0x4264E1D1EE2E5BE7), + ULL(0xA727C6468BBC2366), + ULL(0x6DA189684098D264), + ULL(0x88E2AEFF250AAAE5), + ULL(0x1DEE30A2B34348E1), + ULL(0xF8AD1735D6D13060), + ULL(0x322B581B1DF5C162), + ULL(0xD7687F8C7867B9E3), + ULL(0xFD71433754F47DEB), + ULL(0x183264A03166056A), + ULL(0xD2B42B8EFA42F468), + ULL(0x37F70C199FD08CE9), + ULL(0xA2FB924409996EED), + ULL(0x47B8B5D36C0B166C), + ULL(0x8D3EFAFDA72FE76E), + ULL(0x687DDD6AC2BD9FEF), + ULL(0xD90C838BFE086F7E), + ULL(0x3C4FA41C9B9A17FF), + ULL(0xF6C9EB3250BEE6FD), + ULL(0x138ACCA5352C9E7C), + ULL(0x868652F8A3657C78), + ULL(0x63C5756FC6F704F9), + ULL(0xA9433A410DD3F5FB), + ULL(0x4C001DD668418D7A), + ULL(0x6619216D44D24972), + ULL(0x835A06FA214031F3), + ULL(0x49DC49D4EA64C0F1), + ULL(0xAC9F6E438FF6B870), + ULL(0x3993F01E19BF5A74), + ULL(0xDCD0D7897C2D22F5), + ULL(0x165698A7B709D3F7), + ULL(0xF315BF30D29BAB76), + ULL(0x91F702F2ABF04A54), + ULL(0x74B42565CE6232D5), + ULL(0xBE326A4B0546C3D7), + ULL(0x5B714DDC60D4BB56), + ULL(0xCE7DD381F69D5952), + ULL(0x2B3EF416930F21D3), + ULL(0xE1B8BB38582BD0D1), + ULL(0x04FB9CAF3DB9A850), + ULL(0x2EE2A014112A6C58), + ULL(0xCBA1878374B814D9), + ULL(0x0127C8ADBF9CE5DB), + ULL(0xE464EF3ADA0E9D5A), + ULL(0x716871674C477F5E), + ULL(0x942B56F029D507DF), + ULL(0x5EAD19DEE2F1F6DD), + ULL(0xBBEE3E4987638E5C), + ULL(0x0A9F60A8BBD67ECD), + ULL(0xEFDC473FDE44064C), + ULL(0x255A08111560F74E), + ULL(0xC0192F8670F28FCF), + ULL(0x5515B1DBE6BB6DCB), + ULL(0xB056964C8329154A), + ULL(0x7AD0D962480DE448), + ULL(0x9F93FEF52D9F9CC9), + ULL(0xB58AC24E010C58C1), + ULL(0x50C9E5D9649E2040), + ULL(0x9A4FAAF7AFBAD142), + ULL(0x7F0C8D60CA28A9C3), + ULL(0xEA00133D5C614BC7), + ULL(0x0F4334AA39F33346), + ULL(0xC5C57B84F2D7C244), + ULL(0x20865C139745BAC5), + ULL(0x84C9C3A3DC5CB7CE), + ULL(0x618AE434B9CECF4F), + ULL(0xAB0CAB1A72EA3E4D), + ULL(0x4E4F8C8D177846CC), + ULL(0xDB4312D08131A4C8), + ULL(0x3E003547E4A3DC49), + ULL(0xF4867A692F872D4B), + ULL(0x11C55DFE4A1555CA), + ULL(0x3BDC6145668691C2), + ULL(0xDE9F46D20314E943), + ULL(0x141909FCC8301841), + ULL(0xF15A2E6BADA260C0), + ULL(0x6456B0363BEB82C4), + ULL(0x811597A15E79FA45), + ULL(0x4B93D88F955D0B47), + ULL(0xAED0FF18F0CF73C6), + ULL(0x1FA1A1F9CC7A8357), + ULL(0xFAE2866EA9E8FBD6), + ULL(0x3064C94062CC0AD4), + ULL(0xD527EED7075E7255), + ULL(0x402B708A91179051), + ULL(0xA568571DF485E8D0), + ULL(0x6FEE18333FA119D2), + ULL(0x8AAD3FA45A336153), + ULL(0xA0B4031F76A0A55B), + ULL(0x45F724881332DDDA), + ULL(0x8F716BA6D8162CD8), + ULL(0x6A324C31BD845459), + ULL(0xFF3ED26C2BCDB65D), + ULL(0x1A7DF5FB4E5FCEDC), + ULL(0xD0FBBAD5857B3FDE), + ULL(0x35B89D42E0E9475F), + ULL(0x575A20809982A67D), + ULL(0xB2190717FC10DEFC), + ULL(0x789F483937342FFE), + ULL(0x9DDC6FAE52A6577F), + ULL(0x08D0F1F3C4EFB57B), + ULL(0xED93D664A17DCDFA), + ULL(0x2715994A6A593CF8), + ULL(0xC256BEDD0FCB4479), + ULL(0xE84F826623588071), + ULL(0x0D0CA5F146CAF8F0), + ULL(0xC78AEADF8DEE09F2), + ULL(0x22C9CD48E87C7173), + ULL(0xB7C553157E359377), + ULL(0x528674821BA7EBF6), + ULL(0x98003BACD0831AF4), + ULL(0x7D431C3BB5116275), + ULL(0xCC3242DA89A492E4), + ULL(0x2971654DEC36EA65), + ULL(0xE3F72A6327121B67), + ULL(0x06B40DF4428063E6), + ULL(0x93B893A9D4C981E2), + ULL(0x76FBB43EB15BF963), + ULL(0xBC7DFB107A7F0861), + ULL(0x593EDC871FED70E0), + ULL(0x7327E03C337EB4E8), + ULL(0x9664C7AB56ECCC69), + ULL(0x5CE288859DC83D6B), + ULL(0xB9A1AF12F85A45EA), + ULL(0x2CAD314F6E13A7EE), + ULL(0xC9EE16D80B81DF6F), + ULL(0x036859F6C0A52E6D), + ULL(0xE62B7E61A53756EC), + ULL(0xC6AD22723272EC29), + ULL(0x23EE05E557E094A8), + ULL(0xE9684ACB9CC465AA), + ULL(0x0C2B6D5CF9561D2B), + ULL(0x9927F3016F1FFF2F), + ULL(0x7C64D4960A8D87AE), + ULL(0xB6E29BB8C1A976AC), + ULL(0x53A1BC2FA43B0E2D), + ULL(0x79B8809488A8CA25), + ULL(0x9CFBA703ED3AB2A4), + ULL(0x567DE82D261E43A6), + ULL(0xB33ECFBA438C3B27), + ULL(0x263251E7D5C5D923), + ULL(0xC3717670B057A1A2), + ULL(0x09F7395E7B7350A0), + ULL(0xECB41EC91EE12821), + ULL(0x5DC540282254D8B0), + ULL(0xB88667BF47C6A031), + ULL(0x720028918CE25133), + ULL(0x97430F06E97029B2), + ULL(0x024F915B7F39CBB6), + ULL(0xE70CB6CC1AABB337), + ULL(0x2D8AF9E2D18F4235), + ULL(0xC8C9DE75B41D3AB4), + ULL(0xE2D0E2CE988EFEBC), + ULL(0x0793C559FD1C863D), + ULL(0xCD158A773638773F), + ULL(0x2856ADE053AA0FBE), + ULL(0xBD5A33BDC5E3EDBA), + ULL(0x5819142AA071953B), + ULL(0x929F5B046B556439), + ULL(0x77DC7C930EC71CB8), + ULL(0x153EC15177ACFD9A), + ULL(0xF07DE6C6123E851B), + ULL(0x3AFBA9E8D91A7419), + ULL(0xDFB88E7FBC880C98), + ULL(0x4AB410222AC1EE9C), + ULL(0xAFF737B54F53961D), + ULL(0x6571789B8477671F), + ULL(0x80325F0CE1E51F9E), + ULL(0xAA2B63B7CD76DB96), + ULL(0x4F684420A8E4A317), + ULL(0x85EE0B0E63C05215), + ULL(0x60AD2C9906522A94), + ULL(0xF5A1B2C4901BC890), + ULL(0x10E29553F589B011), + ULL(0xDA64DA7D3EAD4113), + ULL(0x3F27FDEA5B3F3992), + ULL(0x8E56A30B678AC903), + ULL(0x6B15849C0218B182), + ULL(0xA193CBB2C93C4080), + ULL(0x44D0EC25ACAE3801), + ULL(0xD1DC72783AE7DA05), + ULL(0x349F55EF5F75A284), + ULL(0xFE191AC194515386), + ULL(0x1B5A3D56F1C32B07), + ULL(0x314301EDDD50EF0F), + ULL(0xD400267AB8C2978E), + ULL(0x1E86695473E6668C), + ULL(0xFBC54EC316741E0D), + ULL(0x6EC9D09E803DFC09), + ULL(0x8B8AF709E5AF8488), + ULL(0x410CB8272E8B758A), + ULL(0xA44F9FB04B190D0B), }; -const ui32* crctab16 = CRCTAB16; -const ui32* crctab32 = CRCTAB32; -const ui64* crctab64 = CRCTAB64; +const ui32* crctab16 = CRCTAB16; +const ui32* crctab32 = CRCTAB32; +const ui64* crctab64 = CRCTAB64; diff --git a/library/cpp/digest/old_crc/crc.h b/library/cpp/digest/old_crc/crc.h index e7da8967a8..4a3ce6d05e 100644 --- a/library/cpp/digest/old_crc/crc.h +++ b/library/cpp/digest/old_crc/crc.h @@ -7,19 +7,19 @@ #define CRC64INIT ULL(0xFFFFFFFFFFFFFFFF) // CCITT CRC-16 -inline ui16 crc16(const char* buf, size_t buflen, ui32 crcinit = CRC16INIT) { +inline ui16 crc16(const char* buf, size_t buflen, ui32 crcinit = CRC16INIT) { ui32 crc = 0xFFFF & ((crcinit >> 8) ^ (crcinit << 8)); - const char* end = buf + buflen; - extern const ui32* crctab16; + const char* end = buf + buflen; + extern const ui32* crctab16; while (buf < end) { crc = (crc >> 8) ^ crctab16[(crc ^ *buf) & 0xFF]; ++buf; } - return (ui16)(0xFFFF & ((crc >> 8) ^ (crc << 8))); + return (ui16)(0xFFFF & ((crc >> 8) ^ (crc << 8))); } -struct IdTR { +struct IdTR { Y_FORCE_INLINE static ui8 T(ui8 a) { return a; } @@ -27,31 +27,31 @@ struct IdTR { // CCITT CRC-32 template <class TR> -inline ui32 crc32(const char* buf, size_t buflen, ui32 crcinit = CRC32INIT) { +inline ui32 crc32(const char* buf, size_t buflen, ui32 crcinit = CRC32INIT) { ui32 crc = crcinit ^ 0xFFFFFFFF; - const char* end = buf + buflen; - extern const ui32* crctab32; + const char* end = buf + buflen; + extern const ui32* crctab32; - while (buf < end) { + while (buf < end) { crc = (crc >> 8) ^ crctab32[(crc ^ TR::T((ui8)*buf)) & 0xFF]; ++buf; } - + return crc ^ 0xFFFFFFFF; } -inline ui32 crc32(const char* buf, size_t buflen, ui32 crcinit = CRC32INIT) { +inline ui32 crc32(const char* buf, size_t buflen, ui32 crcinit = CRC32INIT) { return crc32<IdTR>(buf, buflen, crcinit); } -inline ui32 crc32(const void* buf, size_t buflen, ui32 crcinit = CRC32INIT) { - return crc32((const char*)buf, buflen, crcinit); +inline ui32 crc32(const void* buf, size_t buflen, ui32 crcinit = CRC32INIT) { + return crc32((const char*)buf, buflen, crcinit); } // Copyright (C) Sewell Development Corporation, 1994 - 1998. -inline ui64 crc64(const void* buf, size_t buflen, ui64 crcinit = CRC64INIT) { - const unsigned char* ptr = (const unsigned char*)buf; - extern const ui64* crctab64; +inline ui64 crc64(const void* buf, size_t buflen, ui64 crcinit = CRC64INIT) { + const unsigned char* ptr = (const unsigned char*)buf; + extern const ui64* crctab64; while (buflen--) { crcinit = crctab64[((crcinit >> 56) ^ *ptr++)] ^ (crcinit << 8); @@ -59,32 +59,32 @@ inline ui64 crc64(const void* buf, size_t buflen, ui64 crcinit = CRC64INIT) { return crcinit; } -namespace NCrcPrivate { - template <unsigned N> - struct TCrcHelper; - -#define DEF_CRC_FUNC(t) \ - template <> \ - struct TCrcHelper<t> { \ - static const ui##t Init = CRC##t##INIT; \ - static inline ui##t Crc(const void* buf, size_t buflen, ui##t crcinit) { \ - return crc##t((const char*)buf, buflen, crcinit); \ - } \ - }; - - DEF_CRC_FUNC(16) - DEF_CRC_FUNC(32) - DEF_CRC_FUNC(64) - -#undef DEF_CRC_FUNC -} - +namespace NCrcPrivate { + template <unsigned N> + struct TCrcHelper; + +#define DEF_CRC_FUNC(t) \ + template <> \ + struct TCrcHelper<t> { \ + static const ui##t Init = CRC##t##INIT; \ + static inline ui##t Crc(const void* buf, size_t buflen, ui##t crcinit) { \ + return crc##t((const char*)buf, buflen, crcinit); \ + } \ + }; + + DEF_CRC_FUNC(16) + DEF_CRC_FUNC(32) + DEF_CRC_FUNC(64) + +#undef DEF_CRC_FUNC +} + template <class T> -static inline T Crc(const void* buf, size_t len, T init) { - return (T)NCrcPrivate::TCrcHelper<8 * sizeof(T)>::Crc(buf, len, init); +static inline T Crc(const void* buf, size_t len, T init) { + return (T)NCrcPrivate::TCrcHelper<8 * sizeof(T)>::Crc(buf, len, init); } -template <class T> -static inline T Crc(const void* buf, size_t len) { - return Crc<T>(buf, len, (T)NCrcPrivate::TCrcHelper<8 * sizeof(T)>::Init); -} +template <class T> +static inline T Crc(const void* buf, size_t len) { + return Crc<T>(buf, len, (T)NCrcPrivate::TCrcHelper<8 * sizeof(T)>::Init); +} diff --git a/library/cpp/digest/old_crc/crc_ut.cpp b/library/cpp/digest/old_crc/crc_ut.cpp index 6bf2a12294..46e1d5d29b 100644 --- a/library/cpp/digest/old_crc/crc_ut.cpp +++ b/library/cpp/digest/old_crc/crc_ut.cpp @@ -1,74 +1,74 @@ -#include "crc.h" - +#include "crc.h" + #include <library/cpp/testing/unittest/registar.h> - + #include <util/stream/output.h> - -class TCrcTest: public TTestBase { - UNIT_TEST_SUITE(TCrcTest); - UNIT_TEST(TestCrc16) - UNIT_TEST(TestCrc32) - UNIT_TEST(TestCrc64) - UNIT_TEST_SUITE_END(); - -private: - inline void TestCrc16() { - const ui16 expected[] = { - 41719, - 57001, - 53722, - 3276}; - - Run<ui16>(expected); - } - - inline void TestCrc32() { - const ui32 expected[] = { - 688229491UL, - 3543112608UL, - 4127534015UL, - 3009909774UL}; - - Run<ui32>(expected); - } - - inline void TestCrc64() { - const ui64 expected[] = { - 12116107829328640258ULL, - 18186277744016380552ULL, - 249923753044811734ULL, - 7852471725963920356ULL}; - - Run<ui64>(expected); - } - -private: - template <class T> - inline void Run(const T* expected) { - ui8 buf[256]; - - for (size_t i = 0; i < 256; ++i) { - buf[i] = i; - } - - Test<T>(buf, 256, expected[0]); - Test<T>(buf, 255, expected[1]); - Test<T>(buf, 254, expected[2]); - Test<T>(buf, 253, expected[3]); - } - - template <class T> - inline void Test(const void* data, size_t len, T expected) { - const T res = Crc<T>(data, len); - - try { - UNIT_ASSERT_EQUAL(res, expected); - } catch (...) { - Cerr << res << Endl; - - throw; - } - } -}; - -UNIT_TEST_SUITE_REGISTRATION(TCrcTest); + +class TCrcTest: public TTestBase { + UNIT_TEST_SUITE(TCrcTest); + UNIT_TEST(TestCrc16) + UNIT_TEST(TestCrc32) + UNIT_TEST(TestCrc64) + UNIT_TEST_SUITE_END(); + +private: + inline void TestCrc16() { + const ui16 expected[] = { + 41719, + 57001, + 53722, + 3276}; + + Run<ui16>(expected); + } + + inline void TestCrc32() { + const ui32 expected[] = { + 688229491UL, + 3543112608UL, + 4127534015UL, + 3009909774UL}; + + Run<ui32>(expected); + } + + inline void TestCrc64() { + const ui64 expected[] = { + 12116107829328640258ULL, + 18186277744016380552ULL, + 249923753044811734ULL, + 7852471725963920356ULL}; + + Run<ui64>(expected); + } + +private: + template <class T> + inline void Run(const T* expected) { + ui8 buf[256]; + + for (size_t i = 0; i < 256; ++i) { + buf[i] = i; + } + + Test<T>(buf, 256, expected[0]); + Test<T>(buf, 255, expected[1]); + Test<T>(buf, 254, expected[2]); + Test<T>(buf, 253, expected[3]); + } + + template <class T> + inline void Test(const void* data, size_t len, T expected) { + const T res = Crc<T>(data, len); + + try { + UNIT_ASSERT_EQUAL(res, expected); + } catch (...) { + Cerr << res << Endl; + + throw; + } + } +}; + +UNIT_TEST_SUITE_REGISTRATION(TCrcTest); diff --git a/library/cpp/digest/old_crc/gencrc/main.cpp b/library/cpp/digest/old_crc/gencrc/main.cpp index e3fe9e04ce..d5821304ce 100644 --- a/library/cpp/digest/old_crc/gencrc/main.cpp +++ b/library/cpp/digest/old_crc/gencrc/main.cpp @@ -4,29 +4,29 @@ #define POLY_32 0xEDB88320UL #define POLY_64 ULL(0xE543279765927881) -static void crc16init() { - ui32 CRCTAB16[256]; +static void crc16init() { + ui32 CRCTAB16[256]; ui32 crc; int i, j; - for (i = 0; i < 256; CRCTAB16[i++] = 0xFFFF & ((crc << 8) ^ (crc >> 8))) + for (i = 0; i < 256; CRCTAB16[i++] = 0xFFFF & ((crc << 8) ^ (crc >> 8))) for (crc = i, j = 8; j > 0; j--) if (crc & 1) crc = (crc >> 1) ^ POLY_16; else crc >>= 1; - + for (size_t k = 0; k < 256; ++k) { Cout << " ULL(" << CRCTAB16[k] << ")"; - + if (k != 255) { - Cout << ",\n"; - } - } + Cout << ",\n"; + } + } } -static void crc32init() { - ui32 CRCTAB32[256]; +static void crc32init() { + ui32 CRCTAB32[256]; ui32 crc; int i, j; @@ -36,21 +36,21 @@ static void crc32init() { crc = (crc >> 1) ^ POLY_32; else crc >>= 1; - + for (size_t k = 0; k < 256; ++k) { Cout << " ULL(" << CRCTAB32[k] << ")"; - + if (k != 255) { - Cout << ",\n"; - } - } + Cout << ",\n"; + } + } } -int main() { - Cout << "static const ui32 CRCTAB16[] = {\n\n"; - crc16init(); - Cout << "\n};\n\n"; - Cout << "static const ui32 CRCTAB32[] = {\n\n"; - crc32init(); - Cout << "\n};\n\n"; -} +int main() { + Cout << "static const ui32 CRCTAB16[] = {\n\n"; + crc16init(); + Cout << "\n};\n\n"; + Cout << "static const ui32 CRCTAB32[] = {\n\n"; + crc32init(); + Cout << "\n};\n\n"; +} diff --git a/library/cpp/digest/old_crc/gencrc/ya.make b/library/cpp/digest/old_crc/gencrc/ya.make index 4d3a328780..df25863bee 100644 --- a/library/cpp/digest/old_crc/gencrc/ya.make +++ b/library/cpp/digest/old_crc/gencrc/ya.make @@ -1,9 +1,9 @@ -PROGRAM() - -OWNER(pg) - -SRCS( - main.cpp -) - -END() +PROGRAM() + +OWNER(pg) + +SRCS( + main.cpp +) + +END() diff --git a/library/cpp/digest/old_crc/ut/ya.make b/library/cpp/digest/old_crc/ut/ya.make index 08e432b351..a783bbae5b 100644 --- a/library/cpp/digest/old_crc/ut/ya.make +++ b/library/cpp/digest/old_crc/ut/ya.make @@ -1,12 +1,12 @@ UNITTEST_FOR(library/cpp/digest/old_crc) - + OWNER( pg g:util ) - -SRCS( - crc_ut.cpp -) - -END() + +SRCS( + crc_ut.cpp +) + +END() diff --git a/library/cpp/digest/old_crc/ya.make b/library/cpp/digest/old_crc/ya.make index 66eaa0f4ad..aa6ea8f6c5 100644 --- a/library/cpp/digest/old_crc/ya.make +++ b/library/cpp/digest/old_crc/ya.make @@ -1,17 +1,17 @@ -LIBRARY() - +LIBRARY() + OWNER( pg g:util ) - -SRCS( - crc.cpp -) - + +SRCS( + crc.cpp +) + RUN_PROGRAM( library/cpp/digest/old_crc/gencrc STDOUT crc.inc ) - -END() + +END() diff --git a/library/cpp/digest/sfh/sfh.cpp b/library/cpp/digest/sfh/sfh.cpp index c36724a3f1..c10062105b 100644 --- a/library/cpp/digest/sfh/sfh.cpp +++ b/library/cpp/digest/sfh/sfh.cpp @@ -1 +1 @@ -#include "sfh.h" +#include "sfh.h" diff --git a/library/cpp/digest/sfh/sfh.h b/library/cpp/digest/sfh/sfh.h index cce9558916..372938654c 100644 --- a/library/cpp/digest/sfh/sfh.h +++ b/library/cpp/digest/sfh/sfh.h @@ -4,37 +4,37 @@ #include <util/system/unaligned_mem.h> inline ui32 SuperFastHash(const void* d, size_t l) noexcept { - ui32 hash = (ui32)l; - ui32 tmp; + ui32 hash = (ui32)l; + ui32 tmp; - if (!l || !d) + if (!l || !d) return 0; - TUnalignedMemoryIterator<ui16, 4> iter(d, l); + TUnalignedMemoryIterator<ui16, 4> iter(d, l); - while (!iter.AtEnd()) { - hash += (ui32)iter.Next(); - tmp = ((ui32)iter.Next() << 11) ^ hash; - hash = (hash << 16) ^ tmp; - hash += hash >> 11; + while (!iter.AtEnd()) { + hash += (ui32)iter.Next(); + tmp = ((ui32)iter.Next() << 11) ^ hash; + hash = (hash << 16) ^ tmp; + hash += hash >> 11; } - switch (iter.Left()) { - case 3: - hash += (ui32)iter.Next(); + switch (iter.Left()) { + case 3: + hash += (ui32)iter.Next(); hash ^= hash << 16; - hash ^= ((ui32)(i32) * (const i8*)iter.Last()) << 18; + hash ^= ((ui32)(i32) * (const i8*)iter.Last()) << 18; hash += hash >> 11; break; - - case 2: - hash += (ui32)iter.Cur(); + + case 2: + hash += (ui32)iter.Cur(); hash ^= hash << 11; hash += hash >> 17; break; - - case 1: - hash += *((const i8*)iter.Last()); + + case 1: + hash += *((const i8*)iter.Last()); hash ^= hash << 10; hash += hash >> 1; } diff --git a/library/cpp/digest/sfh/sfh_ut.cpp b/library/cpp/digest/sfh/sfh_ut.cpp index 79606232de..912999bae7 100644 --- a/library/cpp/digest/sfh/sfh_ut.cpp +++ b/library/cpp/digest/sfh/sfh_ut.cpp @@ -1,40 +1,40 @@ -#include "sfh.h" - +#include "sfh.h" + #include <library/cpp/testing/unittest/registar.h> - + #include <util/stream/output.h> - -class TSfhTest: public TTestBase { - UNIT_TEST_SUITE(TSfhTest); - UNIT_TEST(TestSfh) - UNIT_TEST_SUITE_END(); - -private: - inline void TestSfh() { - ui8 buf[256]; - - for (size_t i = 0; i < 256; ++i) { - buf[i] = i; - } - - Test(buf, 256, 3840866583UL); - Test(buf, 255, 325350515UL); - Test(buf, 254, 2920741773UL); - Test(buf, 253, 3586628615UL); - } - -private: - inline void Test(const void* data, size_t len, ui32 expected) { - const ui32 res = SuperFastHash(data, len); - - try { - UNIT_ASSERT_EQUAL(res, expected); - } catch (...) { - Cerr << res << ", " << expected << Endl; - - throw; - } - } -}; - -UNIT_TEST_SUITE_REGISTRATION(TSfhTest); + +class TSfhTest: public TTestBase { + UNIT_TEST_SUITE(TSfhTest); + UNIT_TEST(TestSfh) + UNIT_TEST_SUITE_END(); + +private: + inline void TestSfh() { + ui8 buf[256]; + + for (size_t i = 0; i < 256; ++i) { + buf[i] = i; + } + + Test(buf, 256, 3840866583UL); + Test(buf, 255, 325350515UL); + Test(buf, 254, 2920741773UL); + Test(buf, 253, 3586628615UL); + } + +private: + inline void Test(const void* data, size_t len, ui32 expected) { + const ui32 res = SuperFastHash(data, len); + + try { + UNIT_ASSERT_EQUAL(res, expected); + } catch (...) { + Cerr << res << ", " << expected << Endl; + + throw; + } + } +}; + +UNIT_TEST_SUITE_REGISTRATION(TSfhTest); diff --git a/library/cpp/digest/sfh/ut/ya.make b/library/cpp/digest/sfh/ut/ya.make index 73639cb339..256a66295a 100644 --- a/library/cpp/digest/sfh/ut/ya.make +++ b/library/cpp/digest/sfh/ut/ya.make @@ -1,12 +1,12 @@ UNITTEST_FOR(library/cpp/digest/sfh) - + OWNER( pg g:util ) - -SRCS( - sfh_ut.cpp -) - -END() + +SRCS( + sfh_ut.cpp +) + +END() diff --git a/library/cpp/digest/sfh/ya.make b/library/cpp/digest/sfh/ya.make index 0424a5f3b8..b906cd1577 100644 --- a/library/cpp/digest/sfh/ya.make +++ b/library/cpp/digest/sfh/ya.make @@ -1,12 +1,12 @@ -LIBRARY() - +LIBRARY() + OWNER( pg g:util ) - -SRCS( - sfh.cpp -) - -END() + +SRCS( + sfh.cpp +) + +END() diff --git a/library/cpp/digest/ya.make b/library/cpp/digest/ya.make index e378bb1033..61d4b50903 100644 --- a/library/cpp/digest/ya.make +++ b/library/cpp/digest/ya.make @@ -3,21 +3,21 @@ RECURSE( argonish/benchmark argonish/ut_fat argonish/ut - benchmark - fast - lower_case - lower_case/ut - md5 - md5/ut + benchmark + fast + lower_case + lower_case/ut + md5 + md5/ut md5/medium_ut - md5/bench + md5/bench murmur murmur/ut - crc32c - crc32c/ut - old_crc - old_crc/ut - old_crc/gencrc - sfh - sfh/ut + crc32c + crc32c/ut + old_crc + old_crc/ut + old_crc/gencrc + sfh + sfh/ut ) |