From 4d94b5812b02f95d53be43a933b3c0dedecb9445 Mon Sep 17 00:00:00 2001 From: Jeff Parsons Date: Wed, 15 Feb 2017 22:27:03 -0800 Subject: [PATCH] Cleaned up divExtended() --- modules/shared/lib/int36.js | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/modules/shared/lib/int36.js b/modules/shared/lib/int36.js index dcac1a7c4..65085f9ba 100644 --- a/modules/shared/lib/int36.js +++ b/modules/shared/lib/int36.js @@ -398,24 +398,16 @@ class Int36 { */ divExtended(divisor) { - /* - * dividend divisor quotient remainder - * -------- ------- -------- --------- - * + + -> + + - * + - -> - + - * - + -> - - - * - - -> + - - */ - var bNegLo = 0, bNegHi = 0; + var fNegQ = false, fNegR = false; if (divisor > Int36.MAXPOS) { divisor = Int36.BIT36 - divisor; - bNegLo = 1 - bNegLo; + fNegQ = !fNegQ; } if (this.isNegative()) { this.negate(); - bNegHi = 1; bNegLo = 1 - bNegLo; + fNegR = true; fNegQ = !fNegQ; } var value = this.value; @@ -454,10 +446,10 @@ class Int36 { this.extended = null; this.remainder = bitsRem[0]; - if (bNegLo && this.value) { + if (fNegQ && this.value) { this.value = Int36.BIT36 - this.value; } - if (bNegHi && this.remainder) { + if (fNegR && this.remainder) { this.remainder = Int36.BIT36 - this.remainder; } }