@@ -1616,13 +1616,13 @@ define("pyret-base/js/js-numbers", function() {
16161616 } ;
16171617
16181618 Rational . prototype . integerSqrt = function ( errbacks ) {
1619- var result = sqrt ( this ) ;
1619+ var result = sqrt ( this , errbacks ) ;
16201620 return toRational ( floor ( result , errbacks ) , errbacks ) ;
16211621 } ;
16221622
16231623 Rational . prototype . sqrt = function ( errbacks ) {
1624- var newN = sqrt ( this . n ) ;
1625- var newD = sqrt ( this . d ) ;
1624+ var newN = sqrt ( this . n , errbacks ) ;
1625+ var newD = sqrt ( this . d , errbacks ) ;
16261626 if ( isRational ( newN ) && isRational ( newD ) &&
16271627 equals ( floor ( newN , errbacks ) , newN , errbacks ) &&
16281628 equals ( floor ( newD , errbacks ) , newD , errbacks ) ) {
@@ -1720,9 +1720,9 @@ define("pyret-base/js/js-numbers", function() {
17201720 } ;
17211721
17221722 var integerNthRoot = function ( n , m , errbacks ) {
1723- if ( sign ( n ) < 0 )
1723+ if ( sign ( n , errbacks ) < 0 )
17241724 errbacks . throwDomainError ( 'integerNthRoot: root ' + n + ' is negative.' ) ;
1725- if ( sign ( m ) < 0 )
1725+ if ( sign ( m , errbacks ) < 0 )
17261726 errbacks . throwDomainError ( 'integerNthRoot: radicand ' + m + ' is negative.' ) ;
17271727 var guessPrev , guessToTheN ;
17281728 var guess = floor ( m , errbacks ) ;
@@ -1747,9 +1747,9 @@ define("pyret-base/js/js-numbers", function() {
17471747 } ;
17481748
17491749 var nthRoot = function ( n , m , errbacks ) {
1750- if ( sign ( n ) < 0 )
1750+ if ( sign ( n , errbacks ) < 0 )
17511751 errbacks . throwDomainError ( 'nthRoot: root ' + n + ' is negative.' ) ;
1752- var mNeg = ( sign ( m ) < 0 ) ;
1752+ var mNeg = ( sign ( m , errbacks ) < 0 ) ;
17531753 var mAbs = ( mNeg ? abs ( m , errbacks ) : m ) ;
17541754 var approx ;
17551755
@@ -2745,7 +2745,7 @@ define("pyret-base/js/js-numbers", function() {
27452745 // (protected) r = this * a, r != this,a (HAC 14.12)
27462746 // "this" should be the larger one if appropriate.
27472747 function bnpMultiplyTo ( a , r ) {
2748- var x = this . abs ( ) , y = a . abs ( ) ;
2748+ var x = this . abs ( { } ) , y = a . abs ( { } ) ;
27492749 var i = x . t ;
27502750 r . t = i + y . t ;
27512751 while ( -- i >= 0 ) r [ i ] = 0 ;
@@ -2757,7 +2757,7 @@ define("pyret-base/js/js-numbers", function() {
27572757
27582758 // (protected) r = this^2, r != this (HAC 14.16)
27592759 function bnpSquareTo ( r ) {
2760- var x = this . abs ( ) ;
2760+ var x = this . abs ( { } ) ;
27612761 var i = r . t = 2 * x . t ;
27622762 while ( -- i >= 0 ) r [ i ] = 0 ;
27632763 for ( i = 0 ; i < x . t - 1 ; ++ i ) {
@@ -2775,9 +2775,9 @@ define("pyret-base/js/js-numbers", function() {
27752775 // (protected) divide this by m, quotient and remainder to q, r (HAC 14.20)
27762776 // r != q, this != m. q or r may be null.
27772777 function bnpDivRemTo ( m , q , r ) {
2778- var pm = m . abs ( ) ;
2778+ var pm = m . abs ( { } ) ;
27792779 if ( pm . t <= 0 ) return ;
2780- var pt = this . abs ( ) ;
2780+ var pt = this . abs ( { } ) ;
27812781 if ( pt . t < pm . t ) {
27822782 if ( q != null ) q . fromInt ( 0 ) ;
27832783 if ( r != null ) this . copyTo ( r ) ;
@@ -2824,7 +2824,7 @@ define("pyret-base/js/js-numbers", function() {
28242824 // (public) this mod a
28252825 function bnMod ( a ) {
28262826 var r = nbi ( ) ;
2827- this . abs ( ) . divRemTo ( a , null , r ) ;
2827+ this . abs ( { } ) . divRemTo ( a , null , r ) ;
28282828 if ( this . s < 0 && r . compareTo ( BigInteger . ZERO ) > 0 ) a . subTo ( r , r ) ;
28292829 return r ;
28302830 }
@@ -2884,7 +2884,7 @@ define("pyret-base/js/js-numbers", function() {
28842884 // xR mod m
28852885 function montConvert ( x ) {
28862886 var r = nbi ( ) ;
2887- x . abs ( ) . dlShiftTo ( this . m . t , r ) ;
2887+ x . abs ( { } ) . dlShiftTo ( this . m . t , r ) ;
28882888 r . divRemTo ( this . m , null , r ) ;
28892889 if ( x . s < 0 && r . compareTo ( BigInteger . ZERO ) > 0 ) this . m . subTo ( r , r ) ;
28902890 return r ;
@@ -3541,7 +3541,7 @@ define("pyret-base/js/js-numbers", function() {
35413541
35423542 // (public) test primality with certainty >= 1-.5^t
35433543 function bnIsProbablePrime ( t ) {
3544- var i , x = this . abs ( ) ;
3544+ var i , x = this . abs ( { } ) ;
35453545 if ( x . t == 1 && x [ 0 ] <= lowprimes [ lowprimes . length - 1 ] ) {
35463546 for ( i = 0 ; i < lowprimes . length ; ++ i )
35473547 if ( x [ 0 ] == lowprimes [ i ] ) return true ;
@@ -3782,7 +3782,7 @@ define("pyret-base/js/js-numbers", function() {
37823782 // integerSqrt: -> pyretnum
37833783 BigInteger . prototype . integerSqrt = function ( errbacks ) {
37843784 var n ;
3785- if ( sign ( this ) >= 0 ) {
3785+ if ( sign ( this , errbacks ) >= 0 ) {
37863786 return searchIter ( this , this , errbacks ) ;
37873787 } else {
37883788 errbacks . throwDomainError ( 'integerSqrt of negative bignum ' + this ) ;
0 commit comments