summaryrefslogtreecommitdiff
path: root/ecp.cpp
diff options
context:
space:
mode:
authorJeffrey Walton <noloader@gmail.com>2019-08-07 23:27:33 -0400
committerJeffrey Walton <noloader@gmail.com>2019-08-07 23:27:33 -0400
commitc4700ae0b963c792ba4daac9e9132f4b864a6492 (patch)
treefe711dc47d23a881bbf6e6c53dc2e0c7c8ab4afe /ecp.cpp
parent348e8e3b307bbb3beec8114013cd303e24b276a8 (diff)
downloadcryptopp-git-c4700ae0b963c792ba4daac9e9132f4b864a6492.tar.gz
Avoid bitwise operation on boolean values
Diffstat (limited to 'ecp.cpp')
-rw-r--r--ecp.cpp5
1 files changed, 2 insertions, 3 deletions
diff --git a/ecp.cpp b/ecp.cpp
index bcbf9867..a77d555f 100644
--- a/ecp.cpp
+++ b/ecp.cpp
@@ -675,7 +675,7 @@ ECP::Point ECP::AdditionFunction::operator()(const Point& P) const
const FieldElement& a = m_ecp.m_a;
// More gyrations
- bool identity = (P.identity | (P.y==field.Identity()));
+ bool identity = static_cast<bool>(P.identity + (P.y==field.Identity()));
FieldElement t = field.Square(P.x);
t = field.Add(field.Add(field.Double(t), t), a);
@@ -896,8 +896,7 @@ ECP::Point ECP::AdditionFunction::operator()(const Point& P, const Point& Q) con
bool double_P = field.Equal(P.x, Q.x) && field.Equal(P.y, Q.y);
bool identity = field.Equal(P.x, Q.x) && !field.Equal(P.y, Q.y);
- // This code taken from Double(P)
- identity |= (double_P * (P.identity | (P.y==field.Identity())));
+ identity = static_cast<bool>((double_P * (P.identity + (P.y == field.Identity()))) + identity);
if (double_P)
{