From b3b1fffb390d19312227d7095fb404e9e0447d95 Mon Sep 17 00:00:00 2001 From: Andrew Reynolds Date: Wed, 21 Nov 2018 08:59:51 -0600 Subject: [PATCH] Fix type enumerator for FP (#2717) --- src/theory/fp/type_enumerator.h | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/theory/fp/type_enumerator.h b/src/theory/fp/type_enumerator.h index 96a61f207..eeb1ac4f8 100644 --- a/src/theory/fp/type_enumerator.h +++ b/src/theory/fp/type_enumerator.h @@ -64,8 +64,12 @@ class FloatingPointEnumerator protected: FloatingPoint createFP(void) const { // Rotate the LSB into the sign so that NaN is the last value - const BitVector value = - d_state.logicalRightShift(1) | d_state.leftShift(d_state.getSize() - 1); + uint64_t vone = 1; + uint64_t vmax = d_state.getSize() - 1; + BitVector bva = + d_state.logicalRightShift(BitVector(d_state.getSize(), vone)); + BitVector bvb = d_state.leftShift(BitVector(d_state.getSize(), vmax)); + const BitVector value = (bva | bvb); return FloatingPoint(d_e, d_s, value); } -- 2.30.2