From 10112332cc4c402a1df8b238630fccf30d8f4f46 Mon Sep 17 00:00:00 2001 From: francescomani Date: Tue, 1 Jul 2025 13:55:00 +0200 Subject: [PATCH] function to count bits with a mask for start and stop --- common/utils/nr/nr_common.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/common/utils/nr/nr_common.h b/common/utils/nr/nr_common.h index f98ce510a2..8a24f6d6dd 100644 --- a/common/utils/nr/nr_common.h +++ b/common/utils/nr/nr_common.h @@ -246,6 +246,12 @@ static __attribute__((always_inline)) inline int count_bits64(uint64_t v) return __builtin_popcountll(v); } +static __attribute__((always_inline)) inline int count_bits64_with_mask(uint64_t v, int start, int num) +{ + uint64_t mask = ((1LL << num) - 1) << start; + return count_bits64(v & mask); +} + uint64_t reverse_bits(uint64_t in, int n_bits); void reverse_bits_u8(uint8_t const* in, size_t sz, uint8_t* out);