Latest Threat Research:SANDWORM_MODE: Shai-Hulud-Style npm Worm Hijacks CI Workflows and Poisons AI Toolchains.Details
Socket
Book a DemoInstallSign in
Socket

intn

Package Overview
Dependencies
Maintainers
1
Versions
16
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

intn - npm Package Compare versions

Comparing version
0.9.2
to
0.10.0
+59
-33
dist/IntN-embeddable.js

@@ -129,3 +129,2 @@ /**

return IntN.fromInts([val.low, val.high], val.unsigned); // for Long.js v1 compatibility
// Throws for not an object (undefined, null) bytes not an array (in constructor),

@@ -630,12 +629,11 @@ // fills smaller, truncates larger N (does not respect sign if differing):

/**
* Adds the specified to this IntN and returns the result.
* @param {!IntN|number|string} other Other number
* Adds the specified IntNs and returns the sum. Does not type check arguments.
* @param {!IntN} a
* @param {!IntN} b
* @returns {!IntN}
* @expose
*/
IntN.prototype.add = function(other) {
if (!IntN.isIntN(other))
other = IntN.valueOf(other);
var carry = this.and(other),
result = this.xor(other),
IntN.add = function(a, b) {
var carry = a.and(b),
result = a.xor(b),
carryPwr2;

@@ -652,2 +650,14 @@ // There seem to be no performance benefits testing against == 0 or == 1 (test probably too costly in avg).

/**
* Adds the specified to this IntN and returns the sum.
* @param {!IntN|number|string} other Other number
* @returns {!IntN}
* @expose
*/
IntN.prototype.add = function(other) {
if (!IntN.isIntN(other))
other = IntN.valueOf(other);
return IntN.add(this, other);
};
/**
* Negates this IntN (*-1) and returns the result.

@@ -658,3 +668,3 @@ * @returns {!IntN}

IntN.prototype.negate = function() {
return this.not().add(IntN.ONE);
return IntN.add(this.not(), IntN.ONE);
};

@@ -671,3 +681,3 @@

/**
* Subtracts the specified from this IntN and returns the result.
* Subtracts the specified from this IntN and returns the difference.
* @param {!IntN|number|string} other Other number

@@ -680,3 +690,3 @@ * @returns {!IntN}

other = IntN.valueOf(other);
return this.add(other.negate());
return IntN.add(this, other.negate());
};

@@ -696,3 +706,22 @@

/**
* Multiplies this IntN with the specified and returns the result.
* Multiplies the specified IntNs and returns the product. Does not type check arguments.
* @param {!IntN} a
* @param {!IntN} b
* @returns {!IntN}
* @expose
*/
IntN.multiply = function(a, b) {
// See comment in add above
var isNegative = a.isNegative() !== b.isNegative(),
result = a.unsigned ? IntN.UZERO : IntN.ZERO;
a = a.absolute();
b = b.absolute();
for(;!b.isZero(); a=a.shiftLeft(1), b=b.shiftRight(1, true))
if ((b.bytes[0] & 1) === 1)
result = IntN.add(result, a);
return isNegative ? result.negate() : result;
};
/**
* Multiplies this IntN with the specified and returns the product.
* @param {!IntN|number|string} other Other number

@@ -705,16 +734,8 @@ * @returns {!IntN}

other = IntN.valueOf(other);
// See comment in #add above
var isNegative = this.isNegative() !== other.isNegative(),
a = this.absolute(),
b = other.absolute(),
result = this.unsigned ? IntN.UZERO : IntN.ZERO;
for(;!b.isZero(); a=a.shiftLeft(1), b=b.shiftRight(1, true))
if ((b.bytes[0] & 1) === 1)
result = result.add(a);
return isNegative ? result.negate() : result;
return IntN.multiply(this, other);
};
/**
* Divides the specified dividend by the specified divisor. This method is used internally by {@link IntN#divide}
* and {@link IntN#modulo} and is exposed statically in case both the result and the remainder are required.
* Divides the specified dividend by the specified divisor and returns both the quotient and the remainder. Does
* not type check arguments.
* @param {!IntN} dividend

@@ -728,3 +749,3 @@ * @param {!IntN} divisor

throw Error("division by zero");
// See comment in #add multiply
// See comment in #add above
var isNegative = dividend.isNegative() !== divisor.isNegative(),

@@ -741,4 +762,4 @@ quotient = dividend.unsigned ? IntN.UZERO : IntN.ZERO,

if (product.lessThanEqual(remainder))
quotient = quotient.add(term),
remainder = remainder.subtract(product);
quotient = IntN.add(quotient, term),
remainder = IntN.add(remainder, product.negate());
product = product.shiftRight(1, true);

@@ -754,3 +775,3 @@ term = term.shiftRight(1, true);

/**
* Divides this IntN by the specified and returns the result.
* Divides this IntN by the specified and returns the quotient.
* @param {!IntN|number|string} other Other number

@@ -767,3 +788,3 @@ * @returns {!IntN}

/**
* Returns the remainder of the division of this IntN by the specified.
* Divides this IntN by the specified and returns the remainder.
* @param {!IntN|number|string} other Other number

@@ -853,3 +874,3 @@ * @returns {!IntN}

throw Error("illegal interior character: "+ch);
result = result.add(IntN.fromInt(val).multiply(IntN.fromInt(radixToPower(i))));
result = IntN.add(result, IntN.multiply(IntN.fromInt(val), IntN.fromInt(radixToPower(i))));
}

@@ -876,3 +897,3 @@ return result;

var div = IntN.divide(this, radix)['quotient'],
rem = div.multiply(radix).subtract(this);
rem = IntN.add(IntN.multiply(div, radix), this.negate());
return div.toString(radix) + rem.toInt().toString(radix.toInt());

@@ -887,3 +908,3 @@ }

do
mod = result.modulo(radix),
mod = IntN.divide(result, radix)['remainder'],
digits.unshift(chars.charAt(mod.toInt())),

@@ -898,5 +919,10 @@ result = IntN.divide(result, radix)['quotient'];

for (var key in aliases)
if (aliases.hasOwnProperty(key))
if (aliases.hasOwnProperty(key)) {
for (i=0; i<aliases[key].length; ++i)
IntN.prototype[aliases[key][i]] = IntN.prototype[key];
if (IntN[key])
IntN[aliases[key][i]] = IntN[key];
for (i=0; i<aliases[key].length; ++i)
if (IntN.prototype[key])
IntN.prototype[aliases[key][i]] = IntN.prototype[key];
}

@@ -903,0 +929,0 @@ return classes[nBits] = IntN;

@@ -147,3 +147,2 @@ /*

return IntN.fromInts([val.low, val.high], val.unsigned); // for Long.js v1 compatibility
// Throws for not an object (undefined, null) bytes not an array (in constructor),

@@ -648,12 +647,11 @@ // fills smaller, truncates larger N (does not respect sign if differing):

/**
* Adds the specified to this IntN and returns the result.
* @param {!IntN|number|string} other Other number
* Adds the specified IntNs and returns the sum. Does not type check arguments.
* @param {!IntN} a
* @param {!IntN} b
* @returns {!IntN}
* @expose
*/
IntN.prototype.add = function(other) {
if (!IntN.isIntN(other))
other = IntN.valueOf(other);
var carry = this.and(other),
result = this.xor(other),
IntN.add = function(a, b) {
var carry = a.and(b),
result = a.xor(b),
carryPwr2;

@@ -670,2 +668,14 @@ // There seem to be no performance benefits testing against == 0 or == 1 (test probably too costly in avg).

/**
* Adds the specified to this IntN and returns the sum.
* @param {!IntN|number|string} other Other number
* @returns {!IntN}
* @expose
*/
IntN.prototype.add = function(other) {
if (!IntN.isIntN(other))
other = IntN.valueOf(other);
return IntN.add(this, other);
};
/**
* Negates this IntN (*-1) and returns the result.

@@ -676,3 +686,3 @@ * @returns {!IntN}

IntN.prototype.negate = function() {
return this.not().add(IntN.ONE);
return IntN.add(this.not(), IntN.ONE);
};

@@ -689,3 +699,3 @@

/**
* Subtracts the specified from this IntN and returns the result.
* Subtracts the specified from this IntN and returns the difference.
* @param {!IntN|number|string} other Other number

@@ -698,3 +708,3 @@ * @returns {!IntN}

other = IntN.valueOf(other);
return this.add(other.negate());
return IntN.add(this, other.negate());
};

@@ -714,3 +724,22 @@

/**
* Multiplies this IntN with the specified and returns the result.
* Multiplies the specified IntNs and returns the product. Does not type check arguments.
* @param {!IntN} a
* @param {!IntN} b
* @returns {!IntN}
* @expose
*/
IntN.multiply = function(a, b) {
// See comment in add above
var isNegative = a.isNegative() !== b.isNegative(),
result = a.unsigned ? IntN.UZERO : IntN.ZERO;
a = a.absolute();
b = b.absolute();
for(;!b.isZero(); a=a.shiftLeft(1), b=b.shiftRight(1, true))
if ((b.bytes[0] & 1) === 1)
result = IntN.add(result, a);
return isNegative ? result.negate() : result;
};
/**
* Multiplies this IntN with the specified and returns the product.
* @param {!IntN|number|string} other Other number

@@ -723,16 +752,8 @@ * @returns {!IntN}

other = IntN.valueOf(other);
// See comment in #add above
var isNegative = this.isNegative() !== other.isNegative(),
a = this.absolute(),
b = other.absolute(),
result = this.unsigned ? IntN.UZERO : IntN.ZERO;
for(;!b.isZero(); a=a.shiftLeft(1), b=b.shiftRight(1, true))
if ((b.bytes[0] & 1) === 1)
result = result.add(a);
return isNegative ? result.negate() : result;
return IntN.multiply(this, other);
};
/**
* Divides the specified dividend by the specified divisor. This method is used internally by {@link IntN#divide}
* and {@link IntN#modulo} and is exposed statically in case both the result and the remainder are required.
* Divides the specified dividend by the specified divisor and returns both the quotient and the remainder. Does
* not type check arguments.
* @param {!IntN} dividend

@@ -746,3 +767,3 @@ * @param {!IntN} divisor

throw Error("division by zero");
// See comment in #add multiply
// See comment in #add above
var isNegative = dividend.isNegative() !== divisor.isNegative(),

@@ -759,4 +780,4 @@ quotient = dividend.unsigned ? IntN.UZERO : IntN.ZERO,

if (product.lessThanEqual(remainder))
quotient = quotient.add(term),
remainder = remainder.subtract(product);
quotient = IntN.add(quotient, term),
remainder = IntN.add(remainder, product.negate());
product = product.shiftRight(1, true);

@@ -772,3 +793,3 @@ term = term.shiftRight(1, true);

/**
* Divides this IntN by the specified and returns the result.
* Divides this IntN by the specified and returns the quotient.
* @param {!IntN|number|string} other Other number

@@ -785,3 +806,3 @@ * @returns {!IntN}

/**
* Returns the remainder of the division of this IntN by the specified.
* Divides this IntN by the specified and returns the remainder.
* @param {!IntN|number|string} other Other number

@@ -871,3 +892,3 @@ * @returns {!IntN}

throw Error("illegal interior character: "+ch);
result = result.add(IntN.fromInt(val).multiply(IntN.fromInt(radixToPower(i))));
result = IntN.add(result, IntN.multiply(IntN.fromInt(val), IntN.fromInt(radixToPower(i))));
}

@@ -894,3 +915,3 @@ return result;

var div = IntN.divide(this, radix)['quotient'],
rem = div.multiply(radix).subtract(this);
rem = IntN.add(IntN.multiply(div, radix), this.negate());
return div.toString(radix) + rem.toInt().toString(radix.toInt());

@@ -905,3 +926,3 @@ }

do
mod = result.modulo(radix),
mod = IntN.divide(result, radix)['remainder'],
digits.unshift(chars.charAt(mod.toInt())),

@@ -916,5 +937,10 @@ result = IntN.divide(result, radix)['quotient'];

for (var key in aliases)
if (aliases.hasOwnProperty(key))
if (aliases.hasOwnProperty(key)) {
for (i=0; i<aliases[key].length; ++i)
IntN.prototype[aliases[key][i]] = IntN.prototype[key];
if (IntN[key])
IntN[aliases[key][i]] = IntN[key];
for (i=0; i<aliases[key].length; ++i)
if (IntN.prototype[key])
IntN.prototype[aliases[key][i]] = IntN.prototype[key];
}

@@ -921,0 +947,0 @@ return classes[nBits] = IntN;

@@ -6,19 +6,19 @@ /*

*/
(function(r){var p=function(){var p={},r=[1,256,65536,16777216,4294967296,1099511627776,281474976710656],s={compare:["comp"],equals:["eq","equal","=="],notEquals:["ne","notEqual","!="],lessThan:["lt","less","lesser","<"],lessThanEqual:["lte","lessThanOrEqual","<="],greaterThan:["gt","greater",">"],greaterThanEqual:["gte","greaterThanOrEqual",">="],not:["~"],and:["&"],or:["|"],xor:["^"],shiftLeft:["lsh","leftShift","<<"],shiftRight:["rsh","rightShift",">>"],shiftRightUnsigned:["rshu","rightShiftUnsigned",
">>>"],add:["plus","+"],negate:["neg","!"],subtract:["sub","minus","-"],absolute:["abs","||"],multiply:["mult","*"],divide:["div","/"],modulo:["mod","%"]};return function(h){function b(a,b){this.bytes=Array(f);for(var c=0,e=a.length;c<e;++c)this.bytes[c]=a[c]&255;for(;c<f;++c)this.bytes[c]=0;this.unsigned=!!b}if(0>=h||0!==h%8)throw Error("illegal number of bits: "+h+" (not a positive multiple of 8)");if(p[h])return p[h];for(var f=h/8|0,n=f-1,q=Array(f),m=0;m<f;++m)q[m]=0;for(var u=Array(f),m=0;m<
f;++m)u[m]=255;b.BITS=h|0;b.BYTES=f;b.isIntN=function(a){return!0===(a&&Array.isArray(a.bytes)&&a.bytes.length===f&&"boolean"===typeof a.unsigned)};b.valueOf=function(a){return"number"===typeof a?b.fromNumber(a):"string"===typeof a?b.fromString(a):a&&a instanceof b&&a.bytes.length===f?a:a&&"number"===typeof a.b&&"number"===typeof a.a&&"boolean"===typeof a.unsigned?b.fromInts([a.b,a.a],a.unsigned):new b(a.bytes,a.unsigned)};b.prototype.cast=function(a,b){b="boolean"===typeof b?b:this.unsigned;var c=
this.isNegative(),e=c?this.not():this,e=new a(e.bytes,b);return c?e.not():e};b.ZERO=new b([],!1);b.UZERO=new b([],!0);b.ONE=new b([1],!1);b.UONE=new b([1],!0);b.MIN_VALUE=new b(q.slice(0,f));b.MIN_VALUE.bytes[n]|=128;b.MAX_VALUE=new b(u.slice(0,f));b.MAX_VALUE.bytes[n]&=127;b.MAX_UNSIGNED_VALUE=new b(u.slice(0,f),!0);b.prototype.isSigned=function(){return!this.unsigned};b.prototype.isUnsigned=function(){return this.unsigned};b.prototype.toSigned=function(){return this.unsigned?new b(this.bytes,!1):
this};b.prototype.toUnsigned=function(){return this.unsigned?this:new b(this.bytes,!0)};b.prototype.isNegative=function(){return!this.unsigned&&128===(this.bytes[n]&128)};b.prototype.isPositive=function(){return this.unsigned||0===(this.bytes[n]&128)};b.prototype.isEven=function(){return 0===(this.bytes[0]&1)};b.prototype.isOdd=function(){return 1===(this.bytes[0]&1)};b.prototype.isZero=function(){for(var a=0;a<f;++a)if(0!==this.bytes[a])return!1;return!0};b.prototype.compare=function(a){b.isIntN(a)||
(function(t){var q=function(){var q={},t=[1,256,65536,16777216,4294967296,1099511627776,281474976710656],r={compare:["comp"],equals:["eq","equal","=="],notEquals:["ne","notEqual","!="],lessThan:["lt","less","lesser","<"],lessThanEqual:["lte","lessThanOrEqual","<="],greaterThan:["gt","greater",">"],greaterThanEqual:["gte","greaterThanOrEqual",">="],not:["~"],and:["&"],or:["|"],xor:["^"],shiftLeft:["lsh","leftShift","<<"],shiftRight:["rsh","rightShift",">>"],shiftRightUnsigned:["rshu","rightShiftUnsigned",
">>>"],add:["plus","+"],negate:["neg","!"],subtract:["sub","minus","-"],absolute:["abs","||"],multiply:["mult","*"],divide:["div","/"],modulo:["mod","%"]};return function(l){function b(a,b){this.bytes=Array(g);for(var c=0,e=a.length;c<e;++c)this.bytes[c]=a[c]&255;for(;c<g;++c)this.bytes[c]=0;this.unsigned=!!b}if(0>=l||0!==l%8)throw Error("illegal number of bits: "+l+" (not a positive multiple of 8)");if(q[l])return q[l];for(var g=l/8|0,n=g-1,s=Array(g),h=0;h<g;++h)s[h]=0;for(var u=Array(g),h=0;h<
g;++h)u[h]=255;b.BITS=l|0;b.BYTES=g;b.isIntN=function(a){return!0===(a&&Array.isArray(a.bytes)&&a.bytes.length===g&&"boolean"===typeof a.unsigned)};b.valueOf=function(a){return"number"===typeof a?b.fromNumber(a):"string"===typeof a?b.fromString(a):a&&a instanceof b&&a.bytes.length===g?a:a&&"number"===typeof a.b&&"number"===typeof a.a&&"boolean"===typeof a.unsigned?b.fromInts([a.b,a.a],a.unsigned):new b(a.bytes,a.unsigned)};b.prototype.cast=function(a,b){b="boolean"===typeof b?b:this.unsigned;var c=
this.isNegative(),e=c?this.not():this,e=new a(e.bytes,b);return c?e.not():e};b.ZERO=new b([],!1);b.UZERO=new b([],!0);b.ONE=new b([1],!1);b.UONE=new b([1],!0);b.MIN_VALUE=new b(s.slice(0,g));b.MIN_VALUE.bytes[n]|=128;b.MAX_VALUE=new b(u.slice(0,g));b.MAX_VALUE.bytes[n]&=127;b.MAX_UNSIGNED_VALUE=new b(u.slice(0,g),!0);b.prototype.isSigned=function(){return!this.unsigned};b.prototype.isUnsigned=function(){return this.unsigned};b.prototype.toSigned=function(){return this.unsigned?new b(this.bytes,!1):
this};b.prototype.toUnsigned=function(){return this.unsigned?this:new b(this.bytes,!0)};b.prototype.isNegative=function(){return!this.unsigned&&128===(this.bytes[n]&128)};b.prototype.isPositive=function(){return this.unsigned||0===(this.bytes[n]&128)};b.prototype.isEven=function(){return 0===(this.bytes[0]&1)};b.prototype.isOdd=function(){return 1===(this.bytes[0]&1)};b.prototype.isZero=function(){for(var a=0;a<g;++a)if(0!==this.bytes[a])return!1;return!0};b.prototype.compare=function(a){b.isIntN(a)||
(a=b.valueOf(a));var d=this.isNegative();if(d!==a.isNegative())return d?-1:1;for(d=n;0<=d;--d){if(this.bytes[d]<a.bytes[d])return-1;if(this.bytes[d]>a.bytes[d])return 1}return 0};b.prototype.equals=function(a){return 0===this.compare(a)};b.prototype.notEquals=function(a){return 0!==this.compare(a)};b.prototype.lessThan=function(a){return-1===this.compare(a)};b.prototype.lessThanEqual=function(a){return 0>=this.compare(a)};b.prototype.greaterThan=function(a){return 1===this.compare(a)};b.prototype.greaterThanEqual=
function(a){return 0<=this.compare(a)};b.fromInt=function(a,d){a|=0;var c;if(0>a)return-2147483648===a?b.MIN_VALUE:c=b.fromInt(-a,d).negate();c=q.slice(0,f);for(var e=0;e<f&&0!==a;++e)c[e]=a&255,a>>>=8;return c=new b(c,d)};b.prototype.toInt=function(a){a="boolean"===typeof a?a:this.unsigned;for(var b=this.isNegative(),c=b?this.not():this,e=0,g=0;e<Math.min(4,c.bytes.length);++e)g|=c.bytes[e]<<8*e;b&&(g=~g);return a?g>>>0:g};b.fromInts=function(a,d){for(var c=b.ZERO,e=0,g=Math.min(a.length,Math.ceil(f/
4)),l;e<g;++e)l=a[e],c=c.or((new b([l&255,l>>>8&255,l>>>16&255,l>>>24&255])).shiftLeft(32*e));return d?c.toUnsigned():c};b.prototype.toInts=function(){for(var a=Math.ceil(f/4),b=Array(a),c=0,e=0,g;c<a;e=4*++c){for(var l=g=0,k=Math.min(4,f-e);l<k;++l)g|=this.bytes[e+l]<<8*l;b[c]=g}return b};b.fromNumber=function(a,d){if("number"!==typeof a)throw TypeError("illegal arguments: "+typeof a);if(a!==a||!isFinite(a)||0===a)return d?b.UZERO:b.ZERO;if(0>a)return b.fromNumber(-a,d).negate();for(var c=0,e=Array(f);c<
f;++c)e[c]=a%256&255,a=Math.floor(a/256);return new b(e,d)};b.prototype.toNumber=function(){if(this.isNegative())return this.equals(b.MIN_VALUE)?-2147483648:-this.negate().toNumber();for(var a=0,d=0,c=Math.min(f,7);a<c;++a)d+=this.bytes[a]*r[a];return d};b.prototype.not=function(){for(var a=0,d=Array(f);a<f;++a)d[a]=~this.bytes[a];return new b(d,this.unsigned)};b.prototype.and=function(a){b.isIntN(a)||(a=b.valueOf(a));for(var d=0,c=Array(f);d<f;++d)c[d]=this.bytes[d]&a.bytes[d];return new b(c,this.unsigned)};
b.prototype.or=function(a){b.isIntN(a)||(a=b.valueOf(a));for(var d=0,c=Array(f);d<f;++d)c[d]=this.bytes[d]|a.bytes[d];return new b(c,this.unsigned)};b.prototype.xor=function(a){b.isIntN(a)||(a=b.valueOf(a));for(var d=0,c=Array(f);d<f;++d)c[d]=this.bytes[d]^a.bytes[d];return new b(c,this.unsigned)};b.prototype.shiftLeft=function(a){b.isIntN(a)&&(a=a.toInt());a%=h;if(0===a)return this;0>a&&(a+=h);var d=a/8|0;a%=8;for(var c=0,e=q.slice(0,f),g;c<f&&!((g=c+d)>=f);++c)e[g]|=this.bytes[c]<<a&255,++g<f&&
(e[g]|=this.bytes[c]<<a>>>8&255);return new b(e,this.unsigned)};b.prototype.shiftRight=function(a,d){b.isIntN(a)&&(a=a.toInt());a%=h;if(0===a)return this;0>a&&(a+=h);var c=a/8|0;a%=8;var e=q.slice(0,f),g;if(!d&&128===(this.bytes[n]&128)){var l;g=f-1;for(l=f-c-1;g>=l;--g)e[g]=255;e[++g]=e[g]<<7-a&255}var k;for(g=0;g<f;++g)0<=(k=g-c)&&(e[k]|=this.bytes[g]>>>a&255),0<=--k&&(e[k]|=this.bytes[g]<<8>>>a&255);return new b(e,this.unsigned)};b.prototype.shiftRightUnsigned=function(a){return this.shiftRight(a,
!0)};b.prototype.add=function(a){b.isIntN(a)||(a=b.valueOf(a));var d=this.and(a);a=this.xor(a);for(var c;!d.isZero();)c=d.shiftLeft(1),d=a.and(c),a=a.xor(c);return a};b.prototype.negate=function(){return this.not().add(b.ONE)};b.NEG_ONE=b.ONE.negate();b.prototype.subtract=function(a){b.isIntN(a)||(a=b.valueOf(a));return this.add(a.negate())};b.prototype.absolute=function(){return this.unsigned?this:(this.isNegative()?this.negate():this).toUnsigned()};b.prototype.multiply=function(a){b.isIntN(a)||
(a=b.valueOf(a));var d=this.isNegative()!==a.isNegative(),c=this.absolute();a=a.absolute();for(var e=this.unsigned?b.UZERO:b.ZERO;!a.isZero();c=c.shiftLeft(1),a=a.shiftRight(1,!0))1===(a.bytes[0]&1)&&(e=e.add(c));return d?e.negate():e};b.divide=function(a,d){if(d.isZero())throw Error("division by zero");for(var c=a.isNegative()!==d.isNegative(),e=a.unsigned?b.UZERO:b.ZERO,g=a.absolute(),f=d.absolute(),k=b.UONE,h=b.MIN_VALUE.toUnsigned();k.lessThan(h)&&f.lessThan(g);)f=f.shiftLeft(1),k=k.shiftLeft(1);
for(;k.greaterThanEqual(b.UONE);)f.lessThanEqual(g)&&(e=e.add(k),g=g.subtract(f)),f=f.shiftRight(1,!0),k=k.shiftRight(1,!0);return{quotient:c?e.negate():e,remainder:g}};b.prototype.divide=function(a){b.isIntN(a)||(a=b.valueOf(a));return b.divide(this,a).quotient};b.prototype.modulo=function(a){b.isIntN(a)||(a=b.valueOf(a));return b.divide(this,a).remainder};b.prototype.toDebug=function(a){for(var b=n,c,e="";0<=b;--b){for(c=this.bytes[b].toString(2);8>c.length;)c="0"+c;e+=c;a&&0<b&&(e+=" ")}this.unsigned&&
(e+=a?" U":"U");return e};var v=b.fromInt(2),w=b.fromInt(36);b.fromString=function(a,d,c){"number"===typeof d&&(c=d,d=!1);a=(a+"").toLowerCase();c=c||10;if(2>c||36<c)throw RangeError("radix out of range: "+c+" (2-36)");if("-"===a.charAt(0))return b.fromString(a.substring(1),d,c).negate();"+"===a.charAt(0)&&(a=a.substring(1));if("0"===a||"NaN"===a||"Infinity"===a)return d?b.UZERO:b.ZERO;d=d?b.UZERO:b.ZERO;for(var e=2===c?function(a){return 1<<a}:Math.pow.bind(Math,c),g=0,f=a.length,k,h;g<f;++g){k=
a.charAt(f-g-1);h="0123456789abcdefghijklmnopqrstuvwxyz".indexOf(k);if(0>h||h>c)throw Error("illegal interior character: "+k);d=d.add(b.fromInt(h).multiply(b.fromInt(e(g))))}return d};b.prototype.toString=function(a){a=a||10;b.isIntN(a)||(a=b.valueOf(a));if(a.lessThan(v)||a.greaterThan(w))throw RangeError("radix out of range: "+a.toInt()+" (2-36)");var d=this.unsigned?b.UZERO:b.ZERO;if(this.isNegative()){if(this.equals(b.MIN_VALUE)){var d=b.divide(this,a).quotient,c=d.multiply(a).subtract(this);return d.toString(a)+
c.toInt().toString(a.toInt())}return"-"+this.negate().toString(a)}var c=this,e=[],f;do f=c.modulo(a),e.unshift("0123456789abcdefghijklmnopqrstuvwxyz".charAt(f.toInt())),c=b.divide(c,a).quotient;while(!c.equals(d));return e.join("")};b["isInt"+h]=b.isIntN;for(var t in s)if(s.hasOwnProperty(t))for(m=0;m<s[t].length;++m)b.prototype[s[t][m]]=b.prototype[t];return p[h]=b}}();"undefined"!==typeof module&&module.exports?module.exports=p:"function"===typeof define&&define.amd?define(function(){return p}):
(r.dcodeIO=r.dcodeIO||{}).IntN=p})(this);
function(a){return 0<=this.compare(a)};b.fromInt=function(a,d){a|=0;var c;if(0>a)return-2147483648===a?b.MIN_VALUE:c=b.fromInt(-a,d).negate();c=s.slice(0,g);for(var e=0;e<g&&0!==a;++e)c[e]=a&255,a>>>=8;return c=new b(c,d)};b.prototype.toInt=function(a){a="boolean"===typeof a?a:this.unsigned;for(var b=this.isNegative(),c=b?this.not():this,e=0,f=0;e<Math.min(4,c.bytes.length);++e)f|=c.bytes[e]<<8*e;b&&(f=~f);return a?f>>>0:f};b.fromInts=function(a,d){for(var c=b.ZERO,e=0,f=Math.min(a.length,Math.ceil(g/
4)),m;e<f;++e)m=a[e],c=c.or((new b([m&255,m>>>8&255,m>>>16&255,m>>>24&255])).shiftLeft(32*e));return d?c.toUnsigned():c};b.prototype.toInts=function(){for(var a=Math.ceil(g/4),b=Array(a),c=0,e=0,f;c<a;e=4*++c){for(var m=f=0,k=Math.min(4,g-e);m<k;++m)f|=this.bytes[e+m]<<8*m;b[c]=f}return b};b.fromNumber=function(a,d){if("number"!==typeof a)throw TypeError("illegal arguments: "+typeof a);if(a!==a||!isFinite(a)||0===a)return d?b.UZERO:b.ZERO;if(0>a)return b.fromNumber(-a,d).negate();for(var c=0,e=Array(g);c<
g;++c)e[c]=a%256&255,a=Math.floor(a/256);return new b(e,d)};b.prototype.toNumber=function(){if(this.isNegative())return this.equals(b.MIN_VALUE)?-2147483648:-this.negate().toNumber();for(var a=0,d=0,c=Math.min(g,7);a<c;++a)d+=this.bytes[a]*t[a];return d};b.prototype.not=function(){for(var a=0,d=Array(g);a<g;++a)d[a]=~this.bytes[a];return new b(d,this.unsigned)};b.prototype.and=function(a){b.isIntN(a)||(a=b.valueOf(a));for(var d=0,c=Array(g);d<g;++d)c[d]=this.bytes[d]&a.bytes[d];return new b(c,this.unsigned)};
b.prototype.or=function(a){b.isIntN(a)||(a=b.valueOf(a));for(var d=0,c=Array(g);d<g;++d)c[d]=this.bytes[d]|a.bytes[d];return new b(c,this.unsigned)};b.prototype.xor=function(a){b.isIntN(a)||(a=b.valueOf(a));for(var d=0,c=Array(g);d<g;++d)c[d]=this.bytes[d]^a.bytes[d];return new b(c,this.unsigned)};b.prototype.shiftLeft=function(a){b.isIntN(a)&&(a=a.toInt());a%=l;if(0===a)return this;0>a&&(a+=l);var d=a/8|0;a%=8;for(var c=0,e=s.slice(0,g),f;c<g&&!((f=c+d)>=g);++c)e[f]|=this.bytes[c]<<a&255,++f<g&&
(e[f]|=this.bytes[c]<<a>>>8&255);return new b(e,this.unsigned)};b.prototype.shiftRight=function(a,d){b.isIntN(a)&&(a=a.toInt());a%=l;if(0===a)return this;0>a&&(a+=l);var c=a/8|0;a%=8;var e=s.slice(0,g),f;if(!d&&128===(this.bytes[n]&128)){var m;f=g-1;for(m=g-c-1;f>=m;--f)e[f]=255;e[++f]=e[f]<<7-a&255}var k;for(f=0;f<g;++f)0<=(k=f-c)&&(e[k]|=this.bytes[f]>>>a&255),0<=--k&&(e[k]|=this.bytes[f]<<8>>>a&255);return new b(e,this.unsigned)};b.prototype.shiftRightUnsigned=function(a){return this.shiftRight(a,
!0)};b.add=function(a,b){for(var c=a.and(b),e=a.xor(b),f;!c.isZero();)f=c.shiftLeft(1),c=e.and(f),e=e.xor(f);return e};b.prototype.add=function(a){b.isIntN(a)||(a=b.valueOf(a));return b.add(this,a)};b.prototype.negate=function(){return b.add(this.not(),b.ONE)};b.NEG_ONE=b.ONE.negate();b.prototype.subtract=function(a){b.isIntN(a)||(a=b.valueOf(a));return b.add(this,a.negate())};b.prototype.absolute=function(){return this.unsigned?this:(this.isNegative()?this.negate():this).toUnsigned()};b.multiply=
function(a,d){var c=a.isNegative()!==d.isNegative(),e=a.unsigned?b.UZERO:b.ZERO;a=a.absolute();for(d=d.absolute();!d.isZero();a=a.shiftLeft(1),d=d.shiftRight(1,!0))1===(d.bytes[0]&1)&&(e=b.add(e,a));return c?e.negate():e};b.prototype.multiply=function(a){b.isIntN(a)||(a=b.valueOf(a));return b.multiply(this,a)};b.divide=function(a,d){if(d.isZero())throw Error("division by zero");for(var c=a.isNegative()!==d.isNegative(),e=a.unsigned?b.UZERO:b.ZERO,f=a.absolute(),g=d.absolute(),k=b.UONE,h=b.MIN_VALUE.toUnsigned();k.lessThan(h)&&
g.lessThan(f);)g=g.shiftLeft(1),k=k.shiftLeft(1);for(;k.greaterThanEqual(b.UONE);)g.lessThanEqual(f)&&(e=b.add(e,k),f=b.add(f,g.negate())),g=g.shiftRight(1,!0),k=k.shiftRight(1,!0);return{quotient:c?e.negate():e,remainder:f}};b.prototype.divide=function(a){b.isIntN(a)||(a=b.valueOf(a));return b.divide(this,a).quotient};b.prototype.modulo=function(a){b.isIntN(a)||(a=b.valueOf(a));return b.divide(this,a).remainder};b.prototype.toDebug=function(a){for(var b=n,c,e="";0<=b;--b){for(c=this.bytes[b].toString(2);8>
c.length;)c="0"+c;e+=c;a&&0<b&&(e+=" ")}this.unsigned&&(e+=a?" U":"U");return e};var v=b.fromInt(2),w=b.fromInt(36);b.fromString=function(a,d,c){"number"===typeof d&&(c=d,d=!1);a=(a+"").toLowerCase();c=c||10;if(2>c||36<c)throw RangeError("radix out of range: "+c+" (2-36)");if("-"===a.charAt(0))return b.fromString(a.substring(1),d,c).negate();"+"===a.charAt(0)&&(a=a.substring(1));if("0"===a||"NaN"===a||"Infinity"===a)return d?b.UZERO:b.ZERO;d=d?b.UZERO:b.ZERO;for(var e=2===c?function(a){return 1<<
a}:Math.pow.bind(Math,c),f=0,g=a.length,k,h;f<g;++f){k=a.charAt(g-f-1);h="0123456789abcdefghijklmnopqrstuvwxyz".indexOf(k);if(0>h||h>c)throw Error("illegal interior character: "+k);d=b.add(d,b.multiply(b.fromInt(h),b.fromInt(e(f))))}return d};b.prototype.toString=function(a){a=a||10;b.isIntN(a)||(a=b.valueOf(a));if(a.lessThan(v)||a.greaterThan(w))throw RangeError("radix out of range: "+a.toInt()+" (2-36)");var d=this.unsigned?b.UZERO:b.ZERO;if(this.isNegative()){if(this.equals(b.MIN_VALUE)){var d=
b.divide(this,a).quotient,c=b.add(b.multiply(d,a),this.negate());return d.toString(a)+c.toInt().toString(a.toInt())}return"-"+this.negate().toString(a)}var c=this,e=[],f;do f=b.divide(c,a).remainder,e.unshift("0123456789abcdefghijklmnopqrstuvwxyz".charAt(f.toInt())),c=b.divide(c,a).quotient;while(!c.equals(d));return e.join("")};b["isInt"+l]=b.isIntN;for(var p in r)if(r.hasOwnProperty(p)){for(h=0;h<r[p].length;++h)b[p]&&(b[r[p][h]]=b[p]);for(h=0;h<r[p].length;++h)b.prototype[p]&&(b.prototype[r[p][h]]=
b.prototype[p])}return q[l]=b}}();"undefined"!==typeof module&&module.exports?module.exports=q:"function"===typeof define&&define.amd?define(function(){return q}):(t.dcodeIO=t.dcodeIO||{}).IntN=q})(this);

@@ -5,5 +5,5 @@ {

"lineCount":23,
"mappings":"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",
"mappings":"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",
"sources":["dist/IntN.js"],
"names":["global","IntN","classes","double_256_pwr","aliases","makeIntN","nBits","bytes","unsigned","Array","nBytes","i","k","length","Error","maxIndex","zeroes","ones","BITS","BYTES","isIntN","IntN.isIntN","obj","isArray","valueOf","IntN.valueOf","val","fromNumber","fromString","low","high","fromInts","prototype","cast","IntN.prototype.cast","TargetIntN","retainMsb","isNegative","not","ZERO","UZERO","ONE","UONE","MIN_VALUE","slice","MAX_VALUE","MAX_UNSIGNED_VALUE","isSigned","IntN.prototype.isSigned","isUnsigned","IntN.prototype.isUnsigned","toSigned","IntN.prototype.toSigned","toUnsigned","IntN.prototype.toUnsigned","IntN.prototype.isNegative","isPositive","IntN.prototype.isPositive","isEven","IntN.prototype.isEven","isOdd","IntN.prototype.isOdd","isZero","IntN.prototype.isZero","compare","IntN.prototype.compare","other","equals","IntN.prototype.equals","notEquals","IntN.prototype.notEquals","lessThan","IntN.prototype.lessThan","lessThanEqual","IntN.prototype.lessThanEqual","greaterThan","IntN.prototype.greaterThan","greaterThanEqual","IntN.prototype.greaterThanEqual","fromInt","IntN.fromInt","value","int32_min_value","negate","toInt","IntN.prototype.toInt","result","Math","min","IntN.fromInts","ints","ceil","or","shiftLeft","toInts","IntN.prototype.toInts","numChunks","arr","offset","j","l","IntN.fromNumber","TypeError","isFinite","floor","toNumber","IntN.prototype.toNumber","IntN.prototype.not","and","IntN.prototype.and","IntN.prototype.or","xor","IntN.prototype.xor","IntN.prototype.shiftLeft","numBits","numBytes","idx","shiftRight","IntN.prototype.shiftRight","logical","shiftRightUnsigned","IntN.prototype.shiftRightUnsigned","add","IntN.prototype.add","carry","carryPwr2","IntN.prototype.negate","NEG_ONE","subtract","IntN.prototype.subtract","absolute","IntN.prototype.absolute","multiply","IntN.prototype.multiply","a","b","divide","IntN.divide","dividend","divisor","quotient","remainder","product","term","maxTerm","IntN.prototype.divide","modulo","IntN.prototype.modulo","toDebug","IntN.prototype.toDebug","spaces","byt","out","toString","IntN_2","IntN_36","IntN.fromString","radix","toLowerCase","RangeError","charAt","substring","radixToPower","pow","bind","ch","chars","indexOf","IntN.prototype.toString","zero","div","rem","digits","mod","unshift","join","key","hasOwnProperty","module","define"]
"names":["global","IntN","classes","double_256_pwr","aliases","makeIntN","nBits","bytes","unsigned","Array","nBytes","i","k","length","Error","maxIndex","zeroes","ones","BITS","BYTES","isIntN","IntN.isIntN","obj","isArray","valueOf","IntN.valueOf","val","fromNumber","fromString","low","high","fromInts","prototype","cast","IntN.prototype.cast","TargetIntN","retainMsb","isNegative","not","ZERO","UZERO","ONE","UONE","MIN_VALUE","slice","MAX_VALUE","MAX_UNSIGNED_VALUE","isSigned","IntN.prototype.isSigned","isUnsigned","IntN.prototype.isUnsigned","toSigned","IntN.prototype.toSigned","toUnsigned","IntN.prototype.toUnsigned","IntN.prototype.isNegative","isPositive","IntN.prototype.isPositive","isEven","IntN.prototype.isEven","isOdd","IntN.prototype.isOdd","isZero","IntN.prototype.isZero","compare","IntN.prototype.compare","other","equals","IntN.prototype.equals","notEquals","IntN.prototype.notEquals","lessThan","IntN.prototype.lessThan","lessThanEqual","IntN.prototype.lessThanEqual","greaterThan","IntN.prototype.greaterThan","greaterThanEqual","IntN.prototype.greaterThanEqual","fromInt","IntN.fromInt","value","int32_min_value","negate","toInt","IntN.prototype.toInt","result","Math","min","IntN.fromInts","ints","ceil","or","shiftLeft","toInts","IntN.prototype.toInts","numChunks","arr","offset","j","l","IntN.fromNumber","TypeError","isFinite","floor","toNumber","IntN.prototype.toNumber","IntN.prototype.not","and","IntN.prototype.and","IntN.prototype.or","xor","IntN.prototype.xor","IntN.prototype.shiftLeft","numBits","numBytes","idx","shiftRight","IntN.prototype.shiftRight","logical","shiftRightUnsigned","IntN.prototype.shiftRightUnsigned","add","IntN.add","a","b","carry","carryPwr2","IntN.prototype.add","IntN.prototype.negate","NEG_ONE","subtract","IntN.prototype.subtract","absolute","IntN.prototype.absolute","multiply","IntN.multiply","IntN.prototype.multiply","divide","IntN.divide","dividend","divisor","quotient","remainder","product","term","maxTerm","IntN.prototype.divide","modulo","IntN.prototype.modulo","toDebug","IntN.prototype.toDebug","spaces","byt","out","toString","IntN_2","IntN_36","IntN.fromString","radix","toLowerCase","RangeError","charAt","substring","radixToPower","pow","bind","ch","chars","indexOf","IntN.prototype.toString","zero","div","rem","digits","mod","unshift","join","key","hasOwnProperty","module","define"]
}

@@ -108,6 +108,16 @@ ## Class IntN

#### IntN.add(a, b)
Adds the specified IntNs and returns the sum. Does not type check arguments.
| Parameter | Type | Description
|-----------------|-----------------|---------------
| a | *!IntN* |
| b | *!IntN* |
| **@returns** | *!IntN* |
#### IntN.divide(dividend, divisor)
Divides the specified dividend by the specified divisor. This method is used internally by [IntN#divide](#intndivideother)
and [IntN#modulo](#intnmoduloother) and is exposed statically in case both the result and the remainder are required.
Divides the specified dividend by the specified divisor and returns both the quotient and the remainder. Does
not type check arguments.

@@ -122,3 +132,3 @@ | Parameter | Type | Description

Constructs an IntN from a 32bit integer value.
Constructs an IntN from a 32 bit integer value.

@@ -133,7 +143,7 @@ | Parameter | Type | Description

Reassembles an IntN from an array of 32bit integers, least significant first.
Reassembles an IntN from an array of 32 bit integers, least significant first.
| Parameter | Type | Description
|-----------------|-----------------|---------------
| ints | *!Array.&lt;number&gt;* | Array of 32bit integers
| ints | *!Array.&lt;number&gt;* | Array of 32 bit integers
| unsigned | *boolean* | Whether unsigned or not, defaults to `false` for signed

@@ -174,2 +184,12 @@ | **@returns** | *!IntN* |

#### IntN.multiply(a, b)
Multiplies the specified IntNs and returns the product. Does not type check arguments.
| Parameter | Type | Description
|-----------------|-----------------|---------------
| a | *!IntN* |
| b | *!IntN* |
| **@returns** | *!IntN* |
#### IntN.valueOf(val)

@@ -212,3 +232,3 @@

Adds the specified to this IntN and returns the result.
Adds the specified to this IntN and returns the sum.

@@ -250,3 +270,3 @@ | Parameter | Type | Description

Divides this IntN by the specified and returns the result.
Divides this IntN by the specified and returns the quotient.

@@ -361,3 +381,3 @@ | Parameter | Type | Description

Returns the remainder of the division of this IntN by the specified.
Divides this IntN by the specified and returns the remainder.

@@ -371,3 +391,3 @@ | Parameter | Type | Description

Multiplies this IntN with the specified and returns the result.
Multiplies this IntN with the specified and returns the product.

@@ -443,3 +463,3 @@ | Parameter | Type | Description

Subtracts the specified from this IntN and returns the result.
Subtracts the specified from this IntN and returns the difference.

@@ -463,3 +483,3 @@ | Parameter | Type | Description

Converts this IntN to a 32bit integer.
Converts this IntN to a 32 bit integer.

@@ -473,3 +493,3 @@ | Parameter | Type | Description

Disassembles this IntN into an array of 32bit integers, least significant first.
Disassembles this IntN into an array of 32 bit integers, least significant first.

@@ -476,0 +496,0 @@ | Parameter | Type | Description

{
"name": "intn",
"version": "0.9.2",
"version": "0.10.0",
"author": "Daniel Wirtz <dcode@dcode.io>",

@@ -5,0 +5,0 @@ "description": "A library for representing and working with arbitrary byte size two's complement integers, signed and unsigned.",

+33
-13

@@ -134,6 +134,16 @@ ![IntN.js - Arbitrary byte size integers in JavaScript](https://raw.github.com/dcodeIO/IntN.js/master/IntN.png)

#### IntN.add(a, b)
Adds the specified IntNs and returns the sum. Does not type check arguments.
| Parameter | Type | Description
|-----------------|-----------------|---------------
| a | *!IntN* |
| b | *!IntN* |
| **@returns** | *!IntN* |
#### IntN.divide(dividend, divisor)
Divides the specified dividend by the specified divisor. This method is used internally by [IntN#divide](#intndivideother)
and [IntN#modulo](#intnmoduloother) and is exposed statically in case both the result and the remainder are required.
Divides the specified dividend by the specified divisor and returns both the quotient and the remainder. Does
not type check arguments.

@@ -148,3 +158,3 @@ | Parameter | Type | Description

Constructs an IntN from a 32bit integer value.
Constructs an IntN from a 32 bit integer value.

@@ -159,7 +169,7 @@ | Parameter | Type | Description

Reassembles an IntN from an array of 32bit integers, least significant first.
Reassembles an IntN from an array of 32 bit integers, least significant first.
| Parameter | Type | Description
|-----------------|-----------------|---------------
| ints | *!Array.&lt;number&gt;* | Array of 32bit integers
| ints | *!Array.&lt;number&gt;* | Array of 32 bit integers
| unsigned | *boolean* | Whether unsigned or not, defaults to `false` for signed

@@ -200,2 +210,12 @@ | **@returns** | *!IntN* |

#### IntN.multiply(a, b)
Multiplies the specified IntNs and returns the product. Does not type check arguments.
| Parameter | Type | Description
|-----------------|-----------------|---------------
| a | *!IntN* |
| b | *!IntN* |
| **@returns** | *!IntN* |
#### IntN.valueOf(val)

@@ -207,3 +227,3 @@

|-----------------|-----------------|---------------
| val | *number &#124; string &#124; !{bytes: !Array.&lt;number&gt;, unsigned: boolean} &#124; {low: number, high: number, unsigned: boolean}* | Value
| val | *!IntN &#124; number &#124; string &#124; !{bytes: !Array.&lt;number&gt;, unsigned: boolean} &#124; {low: number, high: number, unsigned: boolean}* | Value
| **@returns** | *!IntN* |

@@ -239,3 +259,3 @@

Adds the specified to this IntN and returns the result.
Adds the specified to this IntN and returns the sum.

@@ -277,3 +297,3 @@ | Parameter | Type | Description

Divides this IntN by the specified and returns the result.
Divides this IntN by the specified and returns the quotient.

@@ -388,3 +408,3 @@ | Parameter | Type | Description

Returns the remainder of the division of this IntN by the specified.
Divides this IntN by the specified and returns the remainder.

@@ -398,3 +418,3 @@ | Parameter | Type | Description

Multiplies this IntN with the specified and returns the result.
Multiplies this IntN with the specified and returns the product.

@@ -470,3 +490,3 @@ | Parameter | Type | Description

Subtracts the specified from this IntN and returns the result.
Subtracts the specified from this IntN and returns the difference.

@@ -490,3 +510,3 @@ | Parameter | Type | Description

Converts this IntN to a 32bit integer.
Converts this IntN to a 32 bit integer.

@@ -500,3 +520,3 @@ | Parameter | Type | Description

Disassembles this IntN into an array of 32bit integers, least significant first.
Disassembles this IntN into an array of 32 bit integers, least significant first.

@@ -503,0 +523,0 @@ | Parameter | Type | Description

@@ -124,3 +124,2 @@ var IntN = (function() {

return IntN.fromInts([val.low, val.high], val.unsigned); // for Long.js v1 compatibility
// Throws for not an object (undefined, null) bytes not an array (in constructor),

@@ -625,12 +624,11 @@ // fills smaller, truncates larger N (does not respect sign if differing):

/**
* Adds the specified to this IntN and returns the result.
* @param {!IntN|number|string} other Other number
* Adds the specified IntNs and returns the sum. Does not type check arguments.
* @param {!IntN} a
* @param {!IntN} b
* @returns {!IntN}
* @expose
*/
IntN.prototype.add = function(other) {
if (!IntN.isIntN(other))
other = IntN.valueOf(other);
var carry = this.and(other),
result = this.xor(other),
IntN.add = function(a, b) {
var carry = a.and(b),
result = a.xor(b),
carryPwr2;

@@ -647,2 +645,14 @@ // There seem to be no performance benefits testing against == 0 or == 1 (test probably too costly in avg).

/**
* Adds the specified to this IntN and returns the sum.
* @param {!IntN|number|string} other Other number
* @returns {!IntN}
* @expose
*/
IntN.prototype.add = function(other) {
if (!IntN.isIntN(other))
other = IntN.valueOf(other);
return IntN.add(this, other);
};
/**
* Negates this IntN (*-1) and returns the result.

@@ -653,3 +663,3 @@ * @returns {!IntN}

IntN.prototype.negate = function() {
return this.not().add(IntN.ONE);
return IntN.add(this.not(), IntN.ONE);
};

@@ -666,3 +676,3 @@

/**
* Subtracts the specified from this IntN and returns the result.
* Subtracts the specified from this IntN and returns the difference.
* @param {!IntN|number|string} other Other number

@@ -675,3 +685,3 @@ * @returns {!IntN}

other = IntN.valueOf(other);
return this.add(other.negate());
return IntN.add(this, other.negate());
};

@@ -691,3 +701,22 @@

/**
* Multiplies this IntN with the specified and returns the result.
* Multiplies the specified IntNs and returns the product. Does not type check arguments.
* @param {!IntN} a
* @param {!IntN} b
* @returns {!IntN}
* @expose
*/
IntN.multiply = function(a, b) {
// See comment in add above
var isNegative = a.isNegative() !== b.isNegative(),
result = a.unsigned ? IntN.UZERO : IntN.ZERO;
a = a.absolute();
b = b.absolute();
for(;!b.isZero(); a=a.shiftLeft(1), b=b.shiftRight(1, true))
if ((b.bytes[0] & 1) === 1)
result = IntN.add(result, a);
return isNegative ? result.negate() : result;
};
/**
* Multiplies this IntN with the specified and returns the product.
* @param {!IntN|number|string} other Other number

@@ -700,16 +729,8 @@ * @returns {!IntN}

other = IntN.valueOf(other);
// See comment in #add above
var isNegative = this.isNegative() !== other.isNegative(),
a = this.absolute(),
b = other.absolute(),
result = this.unsigned ? IntN.UZERO : IntN.ZERO;
for(;!b.isZero(); a=a.shiftLeft(1), b=b.shiftRight(1, true))
if ((b.bytes[0] & 1) === 1)
result = result.add(a);
return isNegative ? result.negate() : result;
return IntN.multiply(this, other);
};
/**
* Divides the specified dividend by the specified divisor. This method is used internally by {@link IntN#divide}
* and {@link IntN#modulo} and is exposed statically in case both the result and the remainder are required.
* Divides the specified dividend by the specified divisor and returns both the quotient and the remainder. Does
* not type check arguments.
* @param {!IntN} dividend

@@ -723,3 +744,3 @@ * @param {!IntN} divisor

throw Error("division by zero");
// See comment in #add multiply
// See comment in #add above
var isNegative = dividend.isNegative() !== divisor.isNegative(),

@@ -736,4 +757,4 @@ quotient = dividend.unsigned ? IntN.UZERO : IntN.ZERO,

if (product.lessThanEqual(remainder))
quotient = quotient.add(term),
remainder = remainder.subtract(product);
quotient = IntN.add(quotient, term),
remainder = IntN.add(remainder, product.negate());
product = product.shiftRight(1, true);

@@ -749,3 +770,3 @@ term = term.shiftRight(1, true);

/**
* Divides this IntN by the specified and returns the result.
* Divides this IntN by the specified and returns the quotient.
* @param {!IntN|number|string} other Other number

@@ -762,3 +783,3 @@ * @returns {!IntN}

/**
* Returns the remainder of the division of this IntN by the specified.
* Divides this IntN by the specified and returns the remainder.
* @param {!IntN|number|string} other Other number

@@ -848,3 +869,3 @@ * @returns {!IntN}

throw Error("illegal interior character: "+ch);
result = result.add(IntN.fromInt(val).multiply(IntN.fromInt(radixToPower(i))));
result = IntN.add(result, IntN.multiply(IntN.fromInt(val), IntN.fromInt(radixToPower(i))));
}

@@ -871,3 +892,3 @@ return result;

var div = IntN.divide(this, radix)['quotient'],
rem = div.multiply(radix).subtract(this);
rem = IntN.add(IntN.multiply(div, radix), this.negate());
return div.toString(radix) + rem.toInt().toString(radix.toInt());

@@ -882,3 +903,3 @@ }

do
mod = result.modulo(radix),
mod = IntN.divide(result, radix)['remainder'],
digits.unshift(chars.charAt(mod.toInt())),

@@ -893,5 +914,10 @@ result = IntN.divide(result, radix)['quotient'];

for (var key in aliases)
if (aliases.hasOwnProperty(key))
if (aliases.hasOwnProperty(key)) {
for (i=0; i<aliases[key].length; ++i)
IntN.prototype[aliases[key][i]] = IntN.prototype[key];
if (IntN[key])
IntN[aliases[key][i]] = IntN[key];
for (i=0; i<aliases[key].length; ++i)
if (IntN.prototype[key])
IntN.prototype[aliases[key][i]] = IntN.prototype[key];
}

@@ -898,0 +924,0 @@ return classes[nBits] = IntN;

@@ -644,3 +644,3 @@ var IntN = require("../dist/IntN.min.js"),

}
},
}

@@ -647,0 +647,0 @@ /* "analysis": {

Sorry, the diff of this file is not supported yet