diff options
author | Jeffrey Walton <noloader@gmail.com> | 2018-03-25 18:28:56 -0400 |
---|---|---|
committer | Jeffrey Walton <noloader@gmail.com> | 2018-03-25 18:28:56 -0400 |
commit | 1efa1a9fc73c40082b4b22caa7675616e794380b (patch) | |
tree | 11e9f1cbc8a90e35d83618fd05f4e251d38aff30 /integer.cpp | |
parent | b096401b7ccd44c706c38b3ae8e9d83b783996b6 (diff) | |
download | cryptopp-git-1efa1a9fc73c40082b4b22caa7675616e794380b.tar.gz |
Add additional Integer class tests
Diffstat (limited to 'integer.cpp')
-rw-r--r-- | integer.cpp | 7 |
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;
|