From 64e70c406e1614511b380d73ca40f62ab1f50a6c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Basg=C3=B6ze?= Date: Thu, 2 Apr 2020 21:09:28 +0200 Subject: [PATCH] Replace size_t with uint64_t in bitoperations --- src/storm/utility/bitoperations.h | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/src/storm/utility/bitoperations.h b/src/storm/utility/bitoperations.h index ad444ae2d..5162562d0 100644 --- a/src/storm/utility/bitoperations.h +++ b/src/storm/utility/bitoperations.h @@ -1,16 +1,13 @@ #pragma once -#include +#include #include "storm/utility/macros.h" /** * \return 2^n - 1 */ -inline size_t smallestIntWithNBitsSet(size_t n) { - static_assert(sizeof(size_t) == 8, "size_t has wrong size."); - STORM_LOG_ASSERT( - n < 64, - "Input is too large."); // TODO fix this for 32 bit architectures! +inline uint64_t smallestIntWithNBitsSet(uint64_t n) { + STORM_LOG_ASSERT(n < 64, "Input is too large."); if (n == 0) return 0; return (1 << n) - 1; } @@ -23,8 +20,8 @@ inline size_t smallestIntWithNBitsSet(size_t n) { * * From https://graphics.stanford.edu/~seander/bithacks.html#NextBitPermutation */ -inline size_t nextBitPermutation(size_t v) { - if (v == 0) return static_cast(0); - size_t t = (v | (v - 1)) + 1; +inline uint64_t nextBitPermutation(uint64_t v) { + if (v == 0) return 0; + uint64_t t = (v | (v - 1)) + 1; return t | ((((t & -t) / (v & -v)) >> 1) - 1); }