good morning!!!!

Skip to content
Snippets Groups Projects
Commit bf21549f authored by Jeffrey Wilcke's avatar Jeffrey Wilcke Committed by GitHub
Browse files

common/math: "optimised" SafeMul and added comment on Exp (#3675)

parent 6f74fb96
No related branches found
No related tags found
No related merge requests found
......@@ -27,6 +27,9 @@ const wordSize = 32 << (uint64(^big.Word(0)) >> 63)
// Exp implement exponentiation by squaring algorithm.
//
// Exp return a new variable; base and exponent must
// not be changed under any circumstance.
//
// Courtesy @karalabe and @chfast
func Exp(base, exponent *big.Int) *big.Int {
result := big.NewInt(1)
......
......@@ -18,8 +18,8 @@ func SafeAdd(x, y uint64) (uint64, bool) {
// SafeMul returns multiplication result and whether overflow occurred.
func SafeMul(x, y uint64) (uint64, bool) {
if x == 0 {
if x == 0 || y == 0 {
return 0, false
}
return x * y, x != 0 && y != 0 && y > gmath.MaxUint64/x
return x * y, y > gmath.MaxUint64/x
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment