diff options
| author | tobo <[email protected]> | 2024-11-13 11:20:39 +0300 |
|---|---|---|
| committer | tobo <[email protected]> | 2024-11-13 11:31:11 +0300 |
| commit | 2aad515e65987dff861710d27b170c9f9bd18a76 (patch) | |
| tree | d939cea3c57db5099b530fd13aa311b4fcb52e19 | |
| parent | 1017fdddd5035f4b9e8a49328dd793625dd99f97 (diff) | |
PopCount => std::popcount
commit_hash:5535d20d4cf079f3d5432ac63041f1af155063e7
| -rw-r--r-- | yql/essentials/minikql/invoke_builtins/mkql_builtins_countbits.cpp | 9 | ||||
| -rw-r--r-- | yql/essentials/minikql/invoke_builtins/ya.make.inc | 3 |
2 files changed, 8 insertions, 4 deletions
diff --git a/yql/essentials/minikql/invoke_builtins/mkql_builtins_countbits.cpp b/yql/essentials/minikql/invoke_builtins/mkql_builtins_countbits.cpp index d71b06251da..d434e1fac7e 100644 --- a/yql/essentials/minikql/invoke_builtins/mkql_builtins_countbits.cpp +++ b/yql/essentials/minikql/invoke_builtins/mkql_builtins_countbits.cpp @@ -1,6 +1,7 @@ #include "mkql_builtins_impl.h" // Y_IGNORE // Y_IGNORE -#include <library/cpp/pop_count/popcount.h> +#include <bit> +#include <type_traits> namespace NKikimr { namespace NMiniKQL { @@ -11,7 +12,11 @@ template<typename TInput, typename TOutput> struct TCountBits : public TSimpleArithmeticUnary<TInput, TOutput, TCountBits<TInput, TOutput>> { static TOutput Do(TInput val) { - return PopCount(val); + if constexpr (std::is_signed_v<TInput>) { + return std::popcount(static_cast<std::make_unsigned_t<TInput>>(val)); + } else { + return std::popcount(val); + } } #ifndef MKQL_DISABLE_CODEGEN diff --git a/yql/essentials/minikql/invoke_builtins/ya.make.inc b/yql/essentials/minikql/invoke_builtins/ya.make.inc index a7b50ac2786..cc379efccaa 100644 --- a/yql/essentials/minikql/invoke_builtins/ya.make.inc +++ b/yql/essentials/minikql/invoke_builtins/ya.make.inc @@ -47,7 +47,6 @@ SET(ORIG_SOURCES ) PEERDIR( - library/cpp/pop_count yql/essentials/types/binary_json yql/essentials/minikql yql/essentials/minikql/arrow @@ -65,7 +64,7 @@ COPY( AUTO FROM ${ORIG_SRC_DIR} ${ORIG_SOURCES} - OUTPUT_INCLUDES + OUTPUT_INCLUDES ${BINDIR}/yql/essentials/minikql/invoke_builtins/mkql_builtins_impl.h ${BINDIR}/yql/essentials/minikql/invoke_builtins/mkql_builtins_decimal.h ) |
