8#ifndef INCLUDED_BDLB_BITSTRINGIMPUTIL
9#define INCLUDED_BDLB_BITSTRINGIMPUTIL
220#include <bdlscm_version.h>
229#include <bsl_cstdint.h>
257 static void andEqBits(bsl::uint64_t *dstValue,
259 bsl::uint64_t srcValue,
264 static void andEqWord(bsl::uint64_t *dstValue, bsl::uint64_t srcValue);
274 bsl::uint64_t srcValue,
279 static void minusEqWord(bsl::uint64_t *dstValue, bsl::uint64_t srcValue);
286 static void orEqBits(bsl::uint64_t *dstValue,
288 bsl::uint64_t srcValue,
293 static void orEqWord(bsl::uint64_t *dstValue, bsl::uint64_t srcValue);
300 static void setEqBits(bsl::uint64_t *dstValue,
302 bsl::uint64_t srcValue,
307 static void setEqWord(bsl::uint64_t *dstValue, bsl::uint64_t srcValue);
314 static void xorEqBits(bsl::uint64_t *dstValue,
316 bsl::uint64_t srcValue,
321 static void xorEqWord(bsl::uint64_t *dstValue, bsl::uint64_t srcValue);
351 bsl::uint64_t srcValue,
361 (srcValue << dstIndex);
367 bsl::uint64_t srcValue)
371 *dstValue &= srcValue;
377 bsl::uint64_t srcValue,
387 (~srcValue << dstIndex);
393 bsl::uint64_t srcValue)
397 *dstValue &= ~srcValue;
403 bsl::uint64_t srcValue,
418 bsl::uint64_t srcValue)
422 *dstValue |= srcValue;
428 bsl::uint64_t srcValue,
439 *dstValue &= ~(mask << dstIndex);
440 *dstValue |= (srcValue & mask) << dstIndex;
446 bsl::uint64_t srcValue)
450 *dstValue = srcValue;
456 bsl::uint64_t srcValue,
471 bsl::uint64_t srcValue)
475 *dstValue ^= srcValue;
#define BSLS_ASSERT(X)
Definition bsls_assert.h:1804
#define BSLS_IDENT(str)
Definition bsls_ident.h:195
Definition bdlb_algorithmworkaroundutil.h:74
static bsl::uint64_t zero64(int index, int numBits)
Definition bdlb_bitmaskutil.h:438
static bsl::uint64_t lt64(int index)
Definition bdlb_bitmaskutil.h:372
Definition bdlb_bitstringimputil.h:243
static void setEqBits(bsl::uint64_t *dstValue, int dstIndex, bsl::uint64_t srcValue, int numBits)
Definition bdlb_bitstringimputil.h:426
static void minusEqBits(bsl::uint64_t *dstValue, int dstIndex, bsl::uint64_t srcValue, int numBits)
Definition bdlb_bitstringimputil.h:375
static void orEqWord(bsl::uint64_t *dstValue, bsl::uint64_t srcValue)
Definition bdlb_bitstringimputil.h:417
static int find1AtMaxIndexRaw(bsl::uint64_t value)
Definition bdlb_bitstringimputil.h:481
static void orEqBits(bsl::uint64_t *dstValue, int dstIndex, bsl::uint64_t srcValue, int numBits)
Definition bdlb_bitstringimputil.h:401
static void setEqWord(bsl::uint64_t *dstValue, bsl::uint64_t srcValue)
Definition bdlb_bitstringimputil.h:445
static void andEqWord(bsl::uint64_t *dstValue, bsl::uint64_t srcValue)
Definition bdlb_bitstringimputil.h:366
static void xorEqBits(bsl::uint64_t *dstValue, int dstIndex, bsl::uint64_t srcValue, int numBits)
Definition bdlb_bitstringimputil.h:454
static void minusEqWord(bsl::uint64_t *dstValue, bsl::uint64_t srcValue)
Definition bdlb_bitstringimputil.h:392
static int find1AtMinIndexRaw(bsl::uint64_t value)
Definition bdlb_bitstringimputil.h:489
@ k_BITS_PER_UINT64
Definition bdlb_bitstringimputil.h:246
static void xorEqWord(bsl::uint64_t *dstValue, bsl::uint64_t srcValue)
Definition bdlb_bitstringimputil.h:470
static void andEqBits(bsl::uint64_t *dstValue, int dstIndex, bsl::uint64_t srcValue, int numBits)
Definition bdlb_bitstringimputil.h:349
static int numTrailingUnsetBits(unsigned int value)
Definition bdlb_bitutil.h:462
static int numLeadingUnsetBits(unsigned int value)
Definition bdlb_bitutil.h:409