vm: don't ctx-pop() in bignum_divmod.
parent
9c025abc67
commit
49a7d37dcd
11
vm/math.cpp
11
vm/math.cpp
|
@ -140,11 +140,14 @@ void factor_vm::primitive_bignum_divint()
|
||||||
|
|
||||||
void factor_vm::primitive_bignum_divmod()
|
void factor_vm::primitive_bignum_divmod()
|
||||||
{
|
{
|
||||||
|
cell *s0 = (cell *)(ctx->datastack);
|
||||||
|
cell *s1 = (cell *)(ctx->datastack - sizeof(cell));
|
||||||
|
bignum *y = untag<bignum>(*s0);
|
||||||
|
bignum *x = untag<bignum>(*s1);
|
||||||
bignum *q, *r;
|
bignum *q, *r;
|
||||||
POP_BIGNUMS(x,y);
|
bignum_divide(x, y, &q, &r);
|
||||||
bignum_divide(x,y,&q,&r);
|
*s1 = tag<bignum>(q);
|
||||||
ctx->replace(tag<bignum>(q));
|
*s0 = tag<bignum>(r);
|
||||||
ctx->push(tag<bignum>(r));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void factor_vm::primitive_bignum_mod()
|
void factor_vm::primitive_bignum_mod()
|
||||||
|
|
Loading…
Reference in New Issue