Commit 54f9ea14 authored by obscuren's avatar obscuren

Removed old S(DIV/MOD)

parent 7ee49c32
...@@ -282,20 +282,15 @@ func (self *Vm) RunClosure(closure *Closure) (ret []byte, err error) { ...@@ -282,20 +282,15 @@ func (self *Vm) RunClosure(closure *Closure) (ret []byte, err error) {
case SDIV: case SDIV:
require(2) require(2)
x, y := stack.Popn() x, y := stack.Popn()
// n > 2**255 self.Printf(" %v / %v", y, x)
if x.Cmp(Pow256) > 0 {
x.Sub(Pow256, x) if x.Cmp(ethutil.Big0) != 0 {
} base.Div(y, x)
if y.Cmp(Pow256) > 0 {
y.Sub(Pow256, y)
}
z := new(big.Int)
z.Div(x, y)
if z.Cmp(Pow256) > 0 {
z.Sub(Pow256, z)
} }
// Push result on to the stack
stack.Push(z) self.Printf(" = %v", base)
// Pop result back on the stack
stack.Push(base)
case MOD: case MOD:
require(2) require(2)
x, y := stack.Popn() x, y := stack.Popn()
...@@ -309,20 +304,14 @@ func (self *Vm) RunClosure(closure *Closure) (ret []byte, err error) { ...@@ -309,20 +304,14 @@ func (self *Vm) RunClosure(closure *Closure) (ret []byte, err error) {
case SMOD: case SMOD:
require(2) require(2)
x, y := stack.Popn() x, y := stack.Popn()
// n > 2**255
if x.Cmp(Pow256) > 0 { self.Printf(" %v %% %v", y, x)
x.Sub(Pow256, x)
} base.Mod(y, x)
if y.Cmp(Pow256) > 0 {
y.Sub(Pow256, y) self.Printf(" = %v", base)
} stack.Push(base)
z := new(big.Int)
z.Mod(x, y)
if z.Cmp(Pow256) > 0 {
z.Sub(Pow256, z)
}
// Push result on to the stack
stack.Push(z)
case EXP: case EXP:
require(2) require(2)
x, y := stack.Popn() x, y := stack.Popn()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment