From: Morgan Deters Date: Wed, 2 Nov 2011 00:01:48 +0000 (+0000) Subject: better Integer asserts when there's overflow on conversion to unsigned long / long X-Git-Tag: cvc5-1.0.0~8393 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=94eaed5b44c271e940e92c05d7162534ce256caf;p=cvc5.git better Integer asserts when there's overflow on conversion to unsigned long / long --- diff --git a/src/util/integer_cln_imp.h b/src/util/integer_cln_imp.h index 517e406ec..f8ffc0d65 100644 --- a/src/util/integer_cln_imp.h +++ b/src/util/integer_cln_imp.h @@ -247,15 +247,19 @@ public: long getLong() const { // ensure there isn't overflow - Assert(d_value <= std::numeric_limits::max()); - Assert(d_value >= std::numeric_limits::min()); + AlwaysAssert(d_value <= std::numeric_limits::max(), + "Overflow detected in Integer::getLong()"); + AlwaysAssert(d_value >= std::numeric_limits::min(), + "Overflow detected in Integer::getLong()"); return cln::cl_I_to_long(d_value); } unsigned long getUnsignedLong() const { // ensure there isn't overflow - Assert(d_value <= std::numeric_limits::max()); - Assert(d_value >= std::numeric_limits::min()); + AlwaysAssert(d_value <= std::numeric_limits::max(), + "Overflow detected in Integer::getUnsignedLong()"); + AlwaysAssert(d_value >= std::numeric_limits::min(), + "Overflow detected in Integer::getUnsignedLong()"); return cln::cl_I_to_ulong(d_value); } diff --git a/src/util/integer_gmp_imp.h b/src/util/integer_gmp_imp.h index f58c0f2ff..16ca8313b 100644 --- a/src/util/integer_gmp_imp.h +++ b/src/util/integer_gmp_imp.h @@ -187,13 +187,15 @@ public: long getLong() const { long si = d_value.get_si(); // ensure there wasn't overflow - AlwaysAssert(mpz_cmp_si(d_value.get_mpz_t(), si) == 0); + AlwaysAssert(mpz_cmp_si(d_value.get_mpz_t(), si) == 0, + "Overflow detected in Integer::getLong()"); return si; } unsigned long getUnsignedLong() const { unsigned long ui = d_value.get_ui(); // ensure there wasn't overflow - AlwaysAssert(mpz_cmp_ui(d_value.get_mpz_t(), ui) == 0); + AlwaysAssert(mpz_cmp_ui(d_value.get_mpz_t(), ui) == 0, + "Overflow detected in Integer::getUnsignedLong()"); return ui; }