aboutsummaryrefslogtreecommitdiffstats
path: root/common/math
diff options
context:
space:
mode:
authorPéter Szilágyi <peterke@gmail.com>2017-02-13 23:13:40 +0800
committerGitHub <noreply@github.com>2017-02-13 23:13:40 +0800
commit0850f68fd17586370b102aa516739476db4913c2 (patch)
tree5d2f140139f3763a7da3c20a88acff96b58ec8ad /common/math
parentf8f428cc18c5f70814d7b3937128781bac14bffd (diff)
parent57f4e9025757254536a738bb4771712038f1e763 (diff)
downloaddexon-0850f68fd17586370b102aa516739476db4913c2.tar
dexon-0850f68fd17586370b102aa516739476db4913c2.tar.gz
dexon-0850f68fd17586370b102aa516739476db4913c2.tar.bz2
dexon-0850f68fd17586370b102aa516739476db4913c2.tar.lz
dexon-0850f68fd17586370b102aa516739476db4913c2.tar.xz
dexon-0850f68fd17586370b102aa516739476db4913c2.tar.zst
dexon-0850f68fd17586370b102aa516739476db4913c2.zip
Merge pull request #3668 from obscuren/revert-gas64
Revert "params: core, core/vm, miner: 64bit gas instructions (#3514)"
Diffstat (limited to 'common/math')
-rw-r--r--common/math/integer.go25
-rw-r--r--common/math/integer_test.go50
2 files changed, 0 insertions, 75 deletions
diff --git a/common/math/integer.go b/common/math/integer.go
deleted file mode 100644
index 8162b1985..000000000
--- a/common/math/integer.go
+++ /dev/null
@@ -1,25 +0,0 @@
-package math
-
-import gmath "math"
-
-/*
- * NOTE: The following methods need to be optimised using either bit checking or asm
- */
-
-// SafeSub returns subtraction result and whether overflow occurred.
-func SafeSub(x, y uint64) (uint64, bool) {
- return x - y, x < y
-}
-
-// SafeAdd returns the result and whether overflow occurred.
-func SafeAdd(x, y uint64) (uint64, bool) {
- return x + y, y > gmath.MaxUint64-x
-}
-
-// SafeMul returns multiplication result and whether overflow occurred.
-func SafeMul(x, y uint64) (uint64, bool) {
- if x == 0 {
- return 0, false
- }
- return x * y, x != 0 && y != 0 && y > gmath.MaxUint64/x
-}
diff --git a/common/math/integer_test.go b/common/math/integer_test.go
deleted file mode 100644
index 198114e5e..000000000
--- a/common/math/integer_test.go
+++ /dev/null
@@ -1,50 +0,0 @@
-package math
-
-import (
- gmath "math"
- "testing"
-)
-
-type operation byte
-
-const (
- sub operation = iota
- add
- mul
-)
-
-func TestOverflow(t *testing.T) {
- for i, test := range []struct {
- x uint64
- y uint64
- overflow bool
- op operation
- }{
- // add operations
- {gmath.MaxUint64, 1, true, add},
- {gmath.MaxUint64 - 1, 1, false, add},
-
- // sub operations
- {0, 1, true, sub},
- {0, 0, false, sub},
-
- // mul operations
- {10, 10, false, mul},
- {gmath.MaxUint64, 2, true, mul},
- {gmath.MaxUint64, 1, false, mul},
- } {
- var overflows bool
- switch test.op {
- case sub:
- _, overflows = SafeSub(test.x, test.y)
- case add:
- _, overflows = SafeAdd(test.x, test.y)
- case mul:
- _, overflows = SafeMul(test.x, test.y)
- }
-
- if test.overflow != overflows {
- t.Errorf("%d failed. Expected test to be %v, got %v", i, test.overflow, overflows)
- }
- }
-}