diff options
author | tobo <tobo@yandex-team.com> | 2024-10-22 22:48:54 +0300 |
---|---|---|
committer | tobo <tobo@yandex-team.com> | 2024-10-22 23:06:25 +0300 |
commit | a76b79c4e2cd66be012c9e74367aac5e4070b709 (patch) | |
tree | 40b178449181642bf2cc23a7322ea58e9341826c | |
parent | b96dac434453917b81db6116596ff45e7748553a (diff) | |
download | ydb-a76b79c4e2cd66be012c9e74367aac5e4070b709.tar.gz |
PopCount => std::popcount
commit_hash:b648a03fff23eec34a775607e9435d77a885a27a
-rw-r--r-- | library/cpp/containers/bitseq/bititerator.h | 8 | ||||
-rw-r--r-- | library/cpp/containers/bitseq/bitvector.h | 5 | ||||
-rw-r--r-- | library/cpp/containers/bitseq/ya.make | 1 |
3 files changed, 7 insertions, 7 deletions
diff --git a/library/cpp/containers/bitseq/bititerator.h b/library/cpp/containers/bitseq/bititerator.h index efe7ba873b..cc18af572f 100644 --- a/library/cpp/containers/bitseq/bititerator.h +++ b/library/cpp/containers/bitseq/bititerator.h @@ -1,8 +1,8 @@ #pragma once #include "traits.h" +#include <bit> -#include <library/cpp/pop_count/popcount.h> template <typename T> class TBitIterator { @@ -49,7 +49,7 @@ public: if (!Mask) return *Data & TTraits::ElemMask(count); - auto usedBits = (size_t)PopCount(Mask - 1); + auto usedBits = (size_t)std::popcount(Mask - 1u); TWord result = Current >> usedBits; auto leftInCurrent = TTraits::NumBits - usedBits; if (count <= leftInCurrent) @@ -72,7 +72,7 @@ public: return Current & TTraits::ElemMask(count); } - auto usedBits = (size_t)PopCount(Mask - 1); + auto usedBits = (size_t)std::popcount(Mask - 1u); TWord result = Current >> usedBits; auto leftInCurrent = TTraits::NumBits - usedBits; if (count < leftInCurrent) { @@ -97,7 +97,7 @@ public: if (!count) return; - int leftInCurrent = (size_t)PopCount(~(Mask - 1)); + int leftInCurrent = std::popcount(static_cast<TWord>(~(Mask - 1u))); if (count < leftInCurrent) { Mask <<= count; return; diff --git a/library/cpp/containers/bitseq/bitvector.h b/library/cpp/containers/bitseq/bitvector.h index 3f8fd81ee5..c1d1e13cd7 100644 --- a/library/cpp/containers/bitseq/bitvector.h +++ b/library/cpp/containers/bitseq/bitvector.h @@ -2,11 +2,12 @@ #include "traits.h" -#include <library/cpp/pop_count/popcount.h> #include <util/generic/vector.h> #include <util/ysaveload.h> +#include <bit> + template <typename T> class TReadonlyBitVector; @@ -113,7 +114,7 @@ public: size_t Count() const { size_t count = 0; for (size_t i = 0; i < Data_.size(); ++i) { - count += (size_t)PopCount(Data_[i]); + count += (size_t)std::popcount(Data_[i]); } return count; } diff --git a/library/cpp/containers/bitseq/ya.make b/library/cpp/containers/bitseq/ya.make index a59c3e765e..49249f366f 100644 --- a/library/cpp/containers/bitseq/ya.make +++ b/library/cpp/containers/bitseq/ya.make @@ -2,7 +2,6 @@ LIBRARY() PEERDIR( util/draft - library/cpp/pop_count ) SRCS( |