@@ -297,7 +297,7 @@ BigInteger.radixRegex = [
297297*/
298298BigInteger . 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.
10951104BigInteger . 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