diff options
author | Jeffrey Wilcke <jeffrey@ethereum.org> | 2017-02-08 20:39:26 +0800 |
---|---|---|
committer | Jeffrey Wilcke <jeffrey@ethereum.org> | 2017-02-13 22:15:12 +0800 |
commit | 57f4e9025757254536a738bb4771712038f1e763 (patch) | |
tree | 5d2f140139f3763a7da3c20a88acff96b58ec8ad /common | |
parent | f8f428cc18c5f70814d7b3937128781bac14bffd (diff) | |
download | dexon-57f4e9025757254536a738bb4771712038f1e763.tar dexon-57f4e9025757254536a738bb4771712038f1e763.tar.gz dexon-57f4e9025757254536a738bb4771712038f1e763.tar.bz2 dexon-57f4e9025757254536a738bb4771712038f1e763.tar.lz dexon-57f4e9025757254536a738bb4771712038f1e763.tar.xz dexon-57f4e9025757254536a738bb4771712038f1e763.tar.zst dexon-57f4e9025757254536a738bb4771712038f1e763.zip |
Revert "params: core, core/vm, miner: 64bit gas instructions (#3514)"
This reverts commit 8b57c494908637a5c0e74f8f7a13b3218e026757.
Diffstat (limited to 'common')
-rw-r--r-- | common/math/integer.go | 25 | ||||
-rw-r--r-- | common/math/integer_test.go | 50 |
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) - } - } -} |