OSDN Git Service

Merge pull request #201 from Bytom/v0.1
[bytom/vapor.git] / common / big.go
diff --git a/common/big.go b/common/big.go
deleted file mode 100644 (file)
index 25febda..0000000
+++ /dev/null
@@ -1,135 +0,0 @@
-package common
-
-import "math/big"
-
-// Common big integers often used
-var (
-       Big1     = big.NewInt(1)
-       Big2     = big.NewInt(2)
-       Big3     = big.NewInt(3)
-       Big0     = big.NewInt(0)
-       BigTrue  = Big1
-       BigFalse = Big0
-       Big32    = big.NewInt(32)
-       Big36    = big.NewInt(36)
-       Big97    = big.NewInt(97)
-       Big98    = big.NewInt(98)
-       Big256   = big.NewInt(0xff)
-       Big257   = big.NewInt(257)
-       MaxBig   = String2Big("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff")
-)
-
-// Big pow
-//
-// Returns the power of two big integers
-func BigPow(a, b int) *big.Int {
-       c := new(big.Int)
-       c.Exp(big.NewInt(int64(a)), big.NewInt(int64(b)), big.NewInt(0))
-       return c
-}
-
-// Big
-//
-// Shortcut for new(big.Int).SetString(..., 0)
-func Big(num string) *big.Int {
-       n := new(big.Int)
-       n.SetString(num, 0)
-       return n
-}
-
-// Bytes2Big
-//
-func BytesToBig(data []byte) *big.Int {
-       n := new(big.Int)
-       n.SetBytes(data)
-       return n
-}
-
-func Bytes2Big(data []byte) *big.Int { return BytesToBig(data) }
-
-func BigD(data []byte) *big.Int { return BytesToBig(data) }
-
-func String2Big(num string) *big.Int {
-       n := new(big.Int)
-       n.SetString(num, 0)
-       return n
-}
-
-func BitTest(num *big.Int, i int) bool {
-       return num.Bit(i) > 0
-}
-
-// To256
-//
-// "cast" the big int to a 256 big int (i.e., limit to)
-var tt256 = new(big.Int).Lsh(big.NewInt(1), 256)
-var tt256m1 = new(big.Int).Sub(new(big.Int).Lsh(big.NewInt(1), 256), big.NewInt(1))
-var tt255 = new(big.Int).Lsh(big.NewInt(1), 255)
-
-func U256(x *big.Int) *big.Int {
-       //if x.Cmp(Big0) < 0 {
-       //              return new(big.Int).Add(tt256, x)
-       //      }
-
-       x.And(x, tt256m1)
-       return x
-}
-
-func S256(x *big.Int) *big.Int {
-       if x.Cmp(tt255) < 0 {
-               return x
-       } else {
-               // We don't want to modify x, ever
-               return new(big.Int).Sub(x, tt256)
-       }
-}
-
-func FirstBitSet(v *big.Int) int {
-       for i := 0; i < v.BitLen(); i++ {
-               if v.Bit(i) > 0 {
-                       return i
-               }
-       }
-       return v.BitLen()
-}
-
-// Big to bytes
-//
-// Returns the bytes of a big integer with the size specified by **base**
-// Attempts to pad the byte array with zeros.
-func BigToBytes(num *big.Int, base int) []byte {
-       ret := make([]byte, base/8)
-
-       if len(num.Bytes()) > base/8 {
-               return num.Bytes()
-       }
-
-       return append(ret[:len(ret)-len(num.Bytes())], num.Bytes()...)
-}
-
-// Big copy
-//
-// Creates a copy of the given big integer
-func BigCopy(src *big.Int) *big.Int {
-       return new(big.Int).Set(src)
-}
-
-// Big max
-//
-// Returns the maximum size big integer
-func BigMax(x, y *big.Int) *big.Int {
-       if x.Cmp(y) < 0 {
-               return y
-       }
-       return x
-}
-
-// Big min
-//
-// Returns the minimum size big integer
-func BigMin(x, y *big.Int) *big.Int {
-       if x.Cmp(y) > 0 {
-               return y
-       }
-       return x
-}