Skip to content

Commit affb75d

Browse files
committed
Removed duplicate variable declarations
Thanks to Damien Elmes for the patch.
1 parent a02e97d commit affb75d

File tree

1 file changed

+48
-36
lines changed

1 file changed

+48
-36
lines changed

biginteger.js

Lines changed: 48 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -297,7 +297,7 @@ BigInteger.radixRegex = [
297297
*/
298298
BigInteger.parse = function(s, base) {
299299
// Expands a number in exponential form to decimal form.
300-
// expandExponential("-13.441*10^5") === "1344100"
300+
// expandExponential("-13.441*10^5") === "1344100";
301301
// expandExponential("1.12300e-1") === "0.112300";
302302
// expandExponential(1000000000000000000000000000000) === "1000000000000000000000000000000";
303303
function expandExponential(str) {
@@ -423,18 +423,19 @@ BigInteger.prototype.add = function(n) {
423423
var sum = new Array(Math.max(al, bl) + 1);
424424
var size = Math.min(al, bl);
425425
var carry = 0;
426+
var digit;
426427

427428
for (var i = 0; i < size; i++) {
428-
var digit = a[i] + b[i] + carry;
429+
digit = a[i] + b[i] + carry;
429430
sum[i] = digit % 10;
430431
carry = (digit / 10) | 0;
431432
}
432433
if (bl > al) {
433434
a = b;
434435
al = bl;
435436
}
436-
for (var i = size; carry && i < al; i++) {
437-
var digit = a[i] + carry;
437+
for (i = size; carry && i < al; i++) {
438+
digit = a[i] + carry;
438439
sum[i] = digit % 10;
439440
carry = (digit / 10) | 0;
440441
}
@@ -512,9 +513,10 @@ BigInteger.prototype.subtract = function(n) {
512513
}
513514

514515
var m = this;
516+
var t;
515517
// negative - negative => -|a| - -|b| => -|a| + |b| => |b| - |a|
516518
if (this._s < 0) {
517-
var t = m;
519+
t = m;
518520
m = new BigInteger(n._d, 1);
519521
n = new BigInteger(t._d, 1);
520522
}
@@ -526,7 +528,7 @@ BigInteger.prototype.subtract = function(n) {
526528
}
527529
else if (sign < 0) {
528530
// swap m and n
529-
var t = n;
531+
t = n;
530532
n = m;
531533
m = t;
532534
}
@@ -538,9 +540,11 @@ BigInteger.prototype.subtract = function(n) {
538540
var bl = b.length;
539541
var diff = new Array(al); // al >= bl since a > b
540542
var borrow = 0;
543+
var i;
544+
var digit;
541545

542-
for (var i = 0; i < bl; i++) {
543-
var digit = a[i] - borrow - b[i];
546+
for (i = 0; i < bl; i++) {
547+
digit = a[i] - borrow - b[i];
544548
if (digit < 0) {
545549
digit += 10;
546550
borrow = 1;
@@ -550,8 +554,8 @@ BigInteger.prototype.subtract = function(n) {
550554
}
551555
diff[i] = digit;
552556
}
553-
for (var i = bl; i < al; i++) {
554-
var digit = a[i] - borrow;
557+
for (i = bl; i < al; i++) {
558+
digit = a[i] - borrow;
555559
if (digit < 0) {
556560
digit += 10;
557561
}
@@ -626,7 +630,7 @@ BigInteger.prototype.subtract = function(n) {
626630
return BigInteger.ONE;
627631
case -1:
628632
return subtractOne(this, -1);
629-
case 1:
633+
// case 1:
630634
default:
631635
return addOne(this, 1);
632636
}
@@ -650,7 +654,7 @@ BigInteger.prototype.subtract = function(n) {
650654
return BigInteger.M_ONE;
651655
case -1:
652656
return addOne(this, -1);
653-
case 1:
657+
// case 1:
654658
default:
655659
return subtractOne(this, 1);
656660
}
@@ -814,21 +818,23 @@ BigInteger.prototype.multiply = function(n) {
814818

815819
var pl = al + bl;
816820
var partial = new Array(pl);
817-
for (var i = 0; i < pl; i++) {
821+
var i;
822+
for (i = 0; i < pl; i++) {
818823
partial[i] = 0;
819824
}
820825

821-
for (var i = 0; i < bl; i++) {
826+
for (i = 0; i < bl; i++) {
822827
var carry = 0;
823828
var bi = b[i];
824829
var jlimit = al + i;
830+
var digit;
825831
for (var j = i; j < jlimit; j++) {
826-
var digit = partial[j] + bi * a[j - i] + carry;
832+
digit = partial[j] + bi * a[j - i] + carry;
827833
carry = (digit / 10) | 0;
828834
partial[j] = (digit % 10) | 0;
829835
}
830836
if (carry) {
831-
var digit = partial[j] + carry;
837+
digit = partial[j] + carry;
832838
carry = (digit / 10) | 0;
833839
partial[j] = digit % 10;
834840
}
@@ -851,8 +857,9 @@ BigInteger.prototype.multiplySingleDigit = function(n, cache) {
851857
return cache[n];
852858
}
853859

860+
var digit;
854861
if (this._d.length === 1) {
855-
var digit = this._d[0] * n;
862+
digit = this._d[0] * n;
856863
if (digit > 9) {
857864
return new BigInteger([(digit % 10)|0, (digit / 10)|0], 1);
858865
}
@@ -880,12 +887,12 @@ BigInteger.prototype.multiplySingleDigit = function(n, cache) {
880887

881888
var carry = 0;
882889
for (var j = 0; j < al; j++) {
883-
var digit = n * a[j] + carry;
890+
digit = n * a[j] + carry;
884891
carry = (digit / 10) | 0;
885892
partial[j] = (digit % 10) | 0;
886893
}
887894
if (carry) {
888-
var digit = carry;
895+
digit = carry;
889896
carry = (digit / 10) | 0;
890897
partial[j] = digit % 10;
891898
}
@@ -925,9 +932,10 @@ BigInteger.prototype.square = function() {
925932
var length = digits.length;
926933
var imult1 = new Array(length + length + 1);
927934
var product, carry, k;
935+
var i;
928936

929937
// Calculate diagonal
930-
for (var i = 0; i < length; i++) {
938+
for (i = 0; i < length; i++) {
931939
k = i * 2;
932940
product = digits[i] * digits[i];
933941
carry = (product / 10) | 0;
@@ -936,7 +944,7 @@ BigInteger.prototype.square = function() {
936944
}
937945

938946
// Calculate repeating part
939-
for (var i = 0; i < length; i++) {
947+
for (i = 0; i < length; i++) {
940948
carry = 0;
941949
k = i * 2 + 1;
942950
for (var j = i + 1; j < length; j++, k++) {
@@ -1052,6 +1060,7 @@ BigInteger.prototype.divRem = function(n) {
10521060
var digits = n._d.length;
10531061
var max = b_digits.length;
10541062
var quot = [];
1063+
var guess;
10551064

10561065
var part = new BigInteger([], 1);
10571066
part._s = 1;
@@ -1065,10 +1074,10 @@ BigInteger.prototype.divRem = function(n) {
10651074
continue;
10661075
}
10671076
if (part._s === 0) {
1068-
var guess = 0;
1077+
guess = 0;
10691078
}
10701079
else {
1071-
var guess = 9;
1080+
guess = 9;
10721081
}
10731082
do {
10741083
var check = a.multiplySingleDigit(guess, cache);
@@ -1093,6 +1102,7 @@ BigInteger.prototype.divRem = function(n) {
10931102
// It's not necessary to call this, since the other division functions will call
10941103
// it if they are able to.
10951104
BigInteger.prototype.divRemSmall = function(n) {
1105+
var r;
10961106
n = +n;
10971107
if (n === 0) {
10981108
throw new Error("Divide by zero");
@@ -1119,7 +1129,7 @@ BigInteger.prototype.divRemSmall = function(n) {
11191129
// divide a single digit by a single digit
11201130
if (this._d.length === 1) {
11211131
var q = BigInteger.small[(this._d[0] / n) | 0];
1122-
var r = BigInteger.small[(this._d[0] % n) | 0];
1132+
r = BigInteger.small[(this._d[0] % n) | 0];
11231133
if (sign < 0) {
11241134
q = q.negate();
11251135
}
@@ -1134,6 +1144,7 @@ BigInteger.prototype.divRemSmall = function(n) {
11341144
var part = 0;
11351145
var diff = 0;
11361146
var i = 0;
1147+
var guess;
11371148

11381149
while (digits.length) {
11391150
part = part * 10 + digits[digits.length - 1];
@@ -1144,10 +1155,10 @@ BigInteger.prototype.divRemSmall = function(n) {
11441155
continue;
11451156
}
11461157
if (part === 0) {
1147-
var guess = 0;
1158+
guess = 0;
11481159
}
11491160
else {
1150-
var guess = (part / n) | 0;
1161+
guess = (part / n) | 0;
11511162
}
11521163

11531164
var check = n * guess;
@@ -1162,7 +1173,7 @@ BigInteger.prototype.divRemSmall = function(n) {
11621173
part = diff;
11631174
}
11641175

1165-
var r = BigInteger.small[diff];
1176+
r = BigInteger.small[diff];
11661177
if (this._s < 0) {
11671178
r = r.negate();
11681179
}
@@ -1302,7 +1313,7 @@ BigInteger.prototype.exp10 = function(n) {
13021313
if (n === 0) {
13031314
return this;
13041315
}
1305-
if (Math.abs(n) > Number(BigInteger.MAX_EXP)) {
1316+
if (Math.abs(n) > Number(BigInteger.MAX_EXP)) {
13061317
throw new Error("exponent too large in BigInteger.exp10");
13071318
}
13081319
if (n > 0) {
@@ -1381,9 +1392,9 @@ BigInteger.prototype.pow = function(n) {
13811392
}
13821393
x = x.square();
13831394
n = n.divide(two);
1384-
}
1395+
}
13851396

1386-
return aux;
1397+
return aux;
13871398
};
13881399

13891400
/*
@@ -1485,22 +1496,23 @@ BigInteger.MAX_EXP = BigInteger(0x7FFFFFFF);
14851496
}
14861497

14871498
(function() {
1499+
var i, fn;
14881500
var unary = "toJSValue,isEven,isOdd,isZero,isNegative,abs,isUnit,square,negate,isPositive,toString,next,prev".split(",");
14891501
var binary = "compare,remainder,divRem,subtract,add,divide,multiply,pow,compareAbs".split(",");
14901502
var trinary = ["modPow"];
14911503

1492-
for (var i = 0; i < unary.length; i++) {
1493-
var fn = unary[i];
1504+
for (i = 0; i < unary.length; i++) {
1505+
fn = unary[i];
14941506
BigInteger[fn] = makeUnary(BigInteger.prototype[fn]);
14951507
}
14961508

1497-
for (var i = 0; i < binary.length; i++) {
1498-
var fn = binary[i];
1509+
for (i = 0; i < binary.length; i++) {
1510+
fn = binary[i];
14991511
BigInteger[fn] = makeBinary(BigInteger.prototype[fn]);
15001512
}
15011513

1502-
for (var i = 0; i < trinary.length; i++) {
1503-
var fn = trinary[i];
1514+
for (i = 0; i < trinary.length; i++) {
1515+
fn = trinary[i];
15041516
BigInteger[fn] = makeTrinary(BigInteger.prototype[fn]);
15051517
}
15061518

0 commit comments

Comments
 (0)