diff options
author | anastasy888 <anastasy888@yandex-team.ru> | 2022-02-10 16:45:54 +0300 |
---|---|---|
committer | Daniil Cherednik <dcherednik@yandex-team.ru> | 2022-02-10 16:45:54 +0300 |
commit | 49f765d71da452ea93138a25559dfa68dd76c7f3 (patch) | |
tree | 1016041feb637349e401dcc0fa85217dd2c2c639 /contrib/restricted/abseil-cpp/absl/hash/internal/hash.cc | |
parent | 7353a3fdea9c67c256980c00a2b3b67f09b23a27 (diff) | |
download | ydb-49f765d71da452ea93138a25559dfa68dd76c7f3.tar.gz |
Restoring authorship annotation for <anastasy888@yandex-team.ru>. Commit 1 of 2.
Diffstat (limited to 'contrib/restricted/abseil-cpp/absl/hash/internal/hash.cc')
-rw-r--r-- | contrib/restricted/abseil-cpp/absl/hash/internal/hash.cc | 80 |
1 files changed, 40 insertions, 40 deletions
diff --git a/contrib/restricted/abseil-cpp/absl/hash/internal/hash.cc b/contrib/restricted/abseil-cpp/absl/hash/internal/hash.cc index 11451e575c..ad36e45f8d 100644 --- a/contrib/restricted/abseil-cpp/absl/hash/internal/hash.cc +++ b/contrib/restricted/abseil-cpp/absl/hash/internal/hash.cc @@ -1,51 +1,51 @@ -// Copyright 2018 The Abseil Authors. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include "absl/hash/internal/hash.h" - -namespace absl { +// Copyright 2018 The Abseil Authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#include "absl/hash/internal/hash.h" + +namespace absl { ABSL_NAMESPACE_BEGIN -namespace hash_internal { - +namespace hash_internal { + uint64_t MixingHashState::CombineLargeContiguousImpl32( uint64_t state, const unsigned char* first, size_t len) { - while (len >= PiecewiseChunkSize()) { + while (len >= PiecewiseChunkSize()) { state = Mix(state, hash_internal::CityHash32(reinterpret_cast<const char*>(first), PiecewiseChunkSize())); - len -= PiecewiseChunkSize(); - first += PiecewiseChunkSize(); - } - // Handle the remainder. - return CombineContiguousImpl(state, first, len, - std::integral_constant<int, 4>{}); -} - + len -= PiecewiseChunkSize(); + first += PiecewiseChunkSize(); + } + // Handle the remainder. + return CombineContiguousImpl(state, first, len, + std::integral_constant<int, 4>{}); +} + uint64_t MixingHashState::CombineLargeContiguousImpl64( uint64_t state, const unsigned char* first, size_t len) { - while (len >= PiecewiseChunkSize()) { + while (len >= PiecewiseChunkSize()) { state = Mix(state, Hash64(first, PiecewiseChunkSize())); - len -= PiecewiseChunkSize(); - first += PiecewiseChunkSize(); - } - // Handle the remainder. - return CombineContiguousImpl(state, first, len, - std::integral_constant<int, 8>{}); -} - + len -= PiecewiseChunkSize(); + first += PiecewiseChunkSize(); + } + // Handle the remainder. + return CombineContiguousImpl(state, first, len, + std::integral_constant<int, 8>{}); +} + ABSL_CONST_INIT const void* const MixingHashState::kSeed = &kSeed; - + // The salt array used by LowLevelHash. This array is NOT the mechanism used to // make absl::Hash non-deterministic between program invocations. See `Seed()` // for that mechanism. @@ -64,6 +64,6 @@ uint64_t MixingHashState::LowLevelHashImpl(const unsigned char* data, return LowLevelHash(data, len, Seed(), kHashSalt); } -} // namespace hash_internal +} // namespace hash_internal ABSL_NAMESPACE_END -} // namespace absl +} // namespace absl |