Cleaned up divExtended()
This commit is contained in:
parent
40311e82b2
commit
4d94b5812b
1 changed files with 5 additions and 13 deletions
|
|
@ -398,24 +398,16 @@ class Int36 {
|
||||||
*/
|
*/
|
||||||
divExtended(divisor)
|
divExtended(divisor)
|
||||||
{
|
{
|
||||||
/*
|
var fNegQ = false, fNegR = false;
|
||||||
* dividend divisor quotient remainder
|
|
||||||
* -------- ------- -------- ---------
|
|
||||||
* + + -> + +
|
|
||||||
* + - -> - +
|
|
||||||
* - + -> - -
|
|
||||||
* - - -> + -
|
|
||||||
*/
|
|
||||||
var bNegLo = 0, bNegHi = 0;
|
|
||||||
|
|
||||||
if (divisor > Int36.MAXPOS) {
|
if (divisor > Int36.MAXPOS) {
|
||||||
divisor = Int36.BIT36 - divisor;
|
divisor = Int36.BIT36 - divisor;
|
||||||
bNegLo = 1 - bNegLo;
|
fNegQ = !fNegQ;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.isNegative()) {
|
if (this.isNegative()) {
|
||||||
this.negate();
|
this.negate();
|
||||||
bNegHi = 1; bNegLo = 1 - bNegLo;
|
fNegR = true; fNegQ = !fNegQ;
|
||||||
}
|
}
|
||||||
|
|
||||||
var value = this.value;
|
var value = this.value;
|
||||||
|
|
@ -454,10 +446,10 @@ class Int36 {
|
||||||
this.extended = null;
|
this.extended = null;
|
||||||
this.remainder = bitsRem[0];
|
this.remainder = bitsRem[0];
|
||||||
|
|
||||||
if (bNegLo && this.value) {
|
if (fNegQ && this.value) {
|
||||||
this.value = Int36.BIT36 - this.value;
|
this.value = Int36.BIT36 - this.value;
|
||||||
}
|
}
|
||||||
if (bNegHi && this.remainder) {
|
if (fNegR && this.remainder) {
|
||||||
this.remainder = Int36.BIT36 - this.remainder;
|
this.remainder = Int36.BIT36 - this.remainder;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue