diff options
author | Morgan Deters <mdeters@gmail.com> | 2011-11-02 00:01:48 +0000 |
---|---|---|
committer | Morgan Deters <mdeters@gmail.com> | 2011-11-02 00:01:48 +0000 |
commit | 94eaed5b44c271e940e92c05d7162534ce256caf (patch) | |
tree | 2b6075067639bb369ce00bc39e38fbff865f85a3 | |
parent | 7b568f370f6ec4105414b562ee2a6fcb3d7048f2 (diff) |
better Integer asserts when there's overflow on conversion to unsigned long / long
-rw-r--r-- | src/util/integer_cln_imp.h | 12 | ||||
-rw-r--r-- | src/util/integer_gmp_imp.h | 6 |
2 files changed, 12 insertions, 6 deletions
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<long>::max()); - Assert(d_value >= std::numeric_limits<long>::min()); + AlwaysAssert(d_value <= std::numeric_limits<long>::max(), + "Overflow detected in Integer::getLong()"); + AlwaysAssert(d_value >= std::numeric_limits<long>::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<unsigned long>::max()); - Assert(d_value >= std::numeric_limits<unsigned long>::min()); + AlwaysAssert(d_value <= std::numeric_limits<unsigned long>::max(), + "Overflow detected in Integer::getUnsignedLong()"); + AlwaysAssert(d_value >= std::numeric_limits<unsigned long>::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; } |