aboutsummaryrefslogtreecommitdiffstats
path: root/ethutil/big.go
diff options
context:
space:
mode:
Diffstat (limited to 'ethutil/big.go')
-rw-r--r--ethutil/big.go10
1 files changed, 10 insertions, 0 deletions
diff --git a/ethutil/big.go b/ethutil/big.go
index 07d1386e1..d4f6361e9 100644
--- a/ethutil/big.go
+++ b/ethutil/big.go
@@ -62,6 +62,16 @@ func S256(x *big.Int) *big.Int {
}
}
+func FirstBitSet(v *big.Int) *big.Int {
+ for i := 0; i < v.BitLen(); i++ {
+ if v.Bit(i) > 0 {
+ return big.NewInt(int64(i))
+ }
+ }
+
+ return big.NewInt(int64(v.BitLen()))
+}
+
// Big to bytes
//
// Returns the bytes of a big integer with the size specified by **base**