return
}
if len(s) > 8 {
- bi := big.NewInt(0)
- bi = bi.SetBytes([]byte(s))
+ bi := new(big.Int).SetBytes([]byte(s))
if t == types.Int {
- n1 := big.NewInt(-1)
- bi = bi.Sub(n1, bi)
+ bi = bi.Add(bi, big.NewInt(1))
+ bi = bi.Neg(bi)
}
t = types.BigInt
ctx.bigints = append(ctx.bigints, bi)
ctx.uints = append(ctx.uints, i)
} else {
if i >= (1 << 63) {
- bi := big.NewInt(0)
- bi = bi.SetBytes([]byte(s))
- n1 := big.NewInt(-1)
- bi = bi.Sub(n1, bi)
+ bi := new(big.Int).SetBytes([]byte(s))
+ bi = bi.Add(bi, big.NewInt(1))
+ bi = bi.Neg(bi)
ctx.bigints = append(ctx.bigints, bi)
t = types.BigInt
} else {
}
func main() {
- bigint80 := big.NewInt(0)
- bigint80.SetBytes(mustHexDec("0100000000000000000000"))
- bigintFF := big.NewInt(0)
- bigintFF.SetBytes(mustHexDec("0100000000000000000000000000000000"))
- bigintN80 := big.NewInt(0)
- bigintN80.SetBytes(mustHexDec("0100000000000000000000"))
+ bigint80 := new(big.Int).SetBytes(mustHexDec("0100000000000000000000"))
+ bigintFF := new(big.Int).SetBytes(mustHexDec("0100000000000000000000000000000000"))
+ bigintN80 := new(big.Int).SetBytes(mustHexDec("0100000000000000000000"))
bigintN80 = bigintN80.Neg(bigintN80)
- bigintNFF := big.NewInt(0)
- bigintNFF.SetBytes(mustHexDec("0100000000000000000000000000000001"))
+ bigintNFF := new(big.Int).SetBytes(mustHexDec("0100000000000000000000000000000001"))
bigintNFF = bigintNFF.Neg(bigintNFF)
- bigintN := big.NewInt(0)
- bigintN.SetBytes(mustHexDec("e5a461280341856d4ad908a69ea5f3ccc10c7882142bb7d801cc380f26b6b4d69632024ee521f8cfafb443d49a2a3d0cc73bb4757e882f5396ed302b418210d0d49d71be86ca699cf5ee3bd6d57ed658e69316229644ba650c92d7f0d4db29c3ad1dfa9979166f4c6e79561a58f8e2c63d08df4e2246ed1f64d2d613a19d8c9a6870e6188e2f3ad40c038fda30452f8ddfcd212a6a974bc25ec6a0564c66a7d28750ff9db458b74441e49ee5e82dbf4974d645678e0ad031f97aaba855451eef17a89b42821e530816dd5793a83b7a82e8ede81e7f3395691f761784f8bc627961cd40845ee908a40b9d1f01927b38eb1a7d4efd60db0944f7ec1b832b7e6eb1833f9a351576ad5de571fae8865da7514f06b0fbf38c1f2a8538f5d38b4e18001ccbb9ddcb488530f6086d14744d8b5672166e48e9ef93772575db66b6f257c6ffad6e2c291510c5ed02e1a8b24b44ec1e2a91686238e8defd18c01998634a5076a6b7f85fc81a1d61a15b2c528dfa082ce3e3e2ca649ac04817ec5c123e0b761ab103f780c014f021bbeb7ea3b86e0ca1c833e38ef5c897a6d7e1f4a2398c490b3d65e2f45c7fae402d1df1698b6fddb185481664871c2664bfd1686b2b3372783f1856f6247a3f8437a2818f68b7c4ea13a5f57b73c72870b684045f15"))
+ bigintN := new(big.Int).SetBytes(mustHexDec("e5a461280341856d4ad908a69ea5f3ccc10c7882142bb7d801cc380f26b6b4d69632024ee521f8cfafb443d49a2a3d0cc73bb4757e882f5396ed302b418210d0d49d71be86ca699cf5ee3bd6d57ed658e69316229644ba650c92d7f0d4db29c3ad1dfa9979166f4c6e79561a58f8e2c63d08df4e2246ed1f64d2d613a19d8c9a6870e6188e2f3ad40c038fda30452f8ddfcd212a6a974bc25ec6a0564c66a7d28750ff9db458b74441e49ee5e82dbf4974d645678e0ad031f97aaba855451eef17a89b42821e530816dd5793a83b7a82e8ede81e7f3395691f761784f8bc627961cd40845ee908a40b9d1f01927b38eb1a7d4efd60db0944f7ec1b832b7e6eb1833f9a351576ad5de571fae8865da7514f06b0fbf38c1f2a8538f5d38b4e18001ccbb9ddcb488530f6086d14744d8b5672166e48e9ef93772575db66b6f257c6ffad6e2c291510c5ed02e1a8b24b44ec1e2a91686238e8defd18c01998634a5076a6b7f85fc81a1d61a15b2c528dfa082ce3e3e2ca649ac04817ec5c123e0b761ab103f780c014f021bbeb7ea3b86e0ca1c833e38ef5c897a6d7e1f4a2398c490b3d65e2f45c7fae402d1df1698b6fddb185481664871c2664bfd1686b2b3372783f1856f6247a3f8437a2818f68b7c4ea13a5f57b73c72870b684045f15"))
bigintN = bigintN.Neg(bigintN)
data := map[string]any{
mustEncode(keks.IntEncode(&buf, -1234))
mustEncode(keks.IntEncode(&buf, -12345678))
- b := big.NewInt(0)
- b.SetBytes(mustHexDec("0100000000000000000000"))
+ b := new(big.Int).SetBytes(mustHexDec("0100000000000000000000"))
b = b.Neg(b)
mustEncode(keks.BigIntEncode(&buf, b))
b.SetBytes(mustHexDec("0100000000000000000000000000000001"))
mustEncode(keks.UIntEncode(&buf, 123))
mustEncode(keks.UIntEncode(&buf, 1234))
mustEncode(keks.UIntEncode(&buf, 12345678))
- b := big.NewInt(0)
- b.SetBytes(mustHexDec("0100000000000000000000"))
+ b := new(big.Int).SetBytes(mustHexDec("0100000000000000000000"))
mustEncode(keks.BigIntEncode(&buf, b))
b.SetBytes(mustHexDec("0100000000000000000000000000000000"))
mustEncode(keks.BigIntEncode(&buf, b))