Avoid bitwise operation on boolean values
parent
348e8e3b30
commit
c4700ae0b9
5
ecp.cpp
5
ecp.cpp
|
|
@ -675,7 +675,7 @@ ECP::Point ECP::AdditionFunction::operator()(const Point& P) const
|
||||||
const FieldElement& a = m_ecp.m_a;
|
const FieldElement& a = m_ecp.m_a;
|
||||||
|
|
||||||
// More gyrations
|
// 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);
|
FieldElement t = field.Square(P.x);
|
||||||
t = field.Add(field.Add(field.Double(t), t), a);
|
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 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);
|
bool identity = field.Equal(P.x, Q.x) && !field.Equal(P.y, Q.y);
|
||||||
|
|
||||||
// This code taken from Double(P)
|
identity = static_cast<bool>((double_P * (P.identity + (P.y == field.Identity()))) + identity);
|
||||||
identity |= (double_P * (P.identity | (P.y==field.Identity())));
|
|
||||||
|
|
||||||
if (double_P)
|
if (double_P)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue