summaryrefslogtreecommitdiff
path: root/integer.cpp
diff options
context:
space:
mode:
authorJeffrey Walton <noloader@gmail.com>2018-03-25 18:28:56 -0400
committerJeffrey Walton <noloader@gmail.com>2018-03-25 18:28:56 -0400
commit1efa1a9fc73c40082b4b22caa7675616e794380b (patch)
tree11e9f1cbc8a90e35d83618fd05f4e251d38aff30 /integer.cpp
parentb096401b7ccd44c706c38b3ae8e9d83b783996b6 (diff)
downloadcryptopp-git-1efa1a9fc73c40082b4b22caa7675616e794380b.tar.gz
Add additional Integer class tests
Diffstat (limited to 'integer.cpp')
-rw-r--r--integer.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/integer.cpp b/integer.cpp
index 48ae5470..bcb2a734 100644
--- a/integer.cpp
+++ b/integer.cpp
@@ -4361,11 +4361,13 @@ Integer Integer::MultiplicativeInverse() const
Integer a_times_b_mod_c(const Integer &x, const Integer& y, const Integer& m)
{
+ CRYPTOPP_ASSERT(m != 0);
return x*y%m;
}
Integer a_exp_b_mod_c(const Integer &x, const Integer& e, const Integer& m)
{
+ CRYPTOPP_ASSERT(m != 0);
ModularArithmetic mr(m);
return mr.Exponentiate(x, e);
}
@@ -4378,6 +4380,7 @@ Integer Integer::Gcd(const Integer &a, const Integer &b)
Integer Integer::InverseMod(const Integer &m) const
{
CRYPTOPP_ASSERT(m.NotNegative());
+ CRYPTOPP_ASSERT(m != 0);
if (IsNegative())
return Modulo(m).InverseModNext(m);
@@ -4392,7 +4395,7 @@ Integer Integer::InverseMod(const Integer &m) const
Integer Integer::InverseModNext(const Integer &m) const
{
CRYPTOPP_ASSERT(m.NotNegative());
- CRYPTOPP_ASSERT(*this < 2*m);
+ CRYPTOPP_ASSERT(m != 0);
if (m.IsEven())
{
@@ -4415,6 +4418,8 @@ Integer Integer::InverseModNext(const Integer &m) const
word Integer::InverseMod(word mod) const
{
+ CRYPTOPP_ASSERT(mod != 0);
+
word g0 = mod, g1 = *this % mod;
word v0 = 0, v1 = 1;
word y;