From edab5f1a2ac2dae3065efe0a9cc049919159ddd4 Mon Sep 17 00:00:00 2001 From: CyDragon80 Date: Fri, 2 Feb 2018 17:07:57 -0600 Subject: [PATCH] Added fromBytes (#43) * Added fromBytes. Also add entries for fromBytes/toBytes to README. * Name the anon functions in toBytes to match previous. Put doc entries in order. --- README.md | 23 +++++++++++++++++++ dist/long.js | 54 ++++++++++++++++++++++++++++++++++++++++---- dist/long.min.js | 31 +++++++++++++------------ dist/long.min.js.gz | Bin 2752 -> 2822 bytes dist/long.min.map | 6 ++--- doco/Long.md | 21 +++++++++++++++++ src/long.js | 54 ++++++++++++++++++++++++++++++++++++++++---- tests/suite.js | 11 +++++++++ 8 files changed, 172 insertions(+), 28 deletions(-) diff --git a/README.md b/README.md index 311ac2b..a12d12b 100644 --- a/README.md +++ b/README.md @@ -127,6 +127,18 @@ assumed to use 32 bits. | unsigned | *boolean* | Whether unsigned or not, defaults to `false` for signed | **@returns** | *!Long* | The corresponding Long value +#### Long.fromBytes(arrBytes, offset=, unsigned=, le=) + +Returns a Long representing the 64 bit integer that comes by concatenating the given bytes. + +|Parameter |Type |Description +|---------------|---------------|------------- +|arrBytes |*!Array.<number>*|Byte representation in an array of at least offset+8 bytes +|offset |*number* |The starting index from which to read 8 elements of the array, defaults to zero +|unsigned |*boolean* |Whether unsigned or not, defaults to `false` for signed +|le |*boolean* |Whether little or big endian, defaults to big endian +|**@returns** |*!Long* |The corresponding Long value + #### Long.fromInt(value, unsigned=) Returns a Long representing the given 32 bit integer value. @@ -451,6 +463,15 @@ Returns the difference of this and the specified Long. | subtrahend | *!Long | number | string* | Subtrahend | **@returns** | *!Long* | Difference +#### Long#toBytes(le=) + +Converts this Long to its byte representation. + +|Parameter |Type |Description +|---------------|---------------|------------- +|le |*boolean* |Whether little or big endian, defaults to big endian +|**@returns** |*!Array.<number>*|Byte representation + #### Long#toInt() Converts the Long to a 32 bit integer, assuming it is a 32 bit integer. @@ -502,6 +523,8 @@ Returns the bitwise XOR of this Long and the given one. | other | *!Long | number | string* | Other Long | **@returns** | *!Long* | + + Downloads --------- * [Distributions](https://github.com/dcodeIO/long.js/tree/master/dist) diff --git a/dist/long.js b/dist/long.js index 555485a..86f9eea 100644 --- a/dist/long.js +++ b/dist/long.js @@ -1163,15 +1163,15 @@ * @param {boolean=} le Whether little or big endian, defaults to big endian * @returns {!Array.} Byte representation */ - LongPrototype.toBytes = function(le) { + LongPrototype.toBytes = function toBytes(le) { return le ? this.toBytesLE() : this.toBytesBE(); - } + }; /** * Converts this Long to its little endian byte representation. * @returns {!Array.} Little endian byte representation */ - LongPrototype.toBytesLE = function() { + LongPrototype.toBytesLE = function toBytesLE() { var hi = this.high, lo = this.low; return [ @@ -1184,13 +1184,13 @@ (hi >>> 16) & 0xff, (hi >>> 24) & 0xff ]; - } + }; /** * Converts this Long to its big endian byte representation. * @returns {!Array.} Big endian byte representation */ - LongPrototype.toBytesBE = function() { + LongPrototype.toBytesBE = function toBytesBE() { var hi = this.high, lo = this.low; return [ @@ -1203,7 +1203,51 @@ (lo >>> 8) & 0xff, lo & 0xff ]; + }; + + /** + * @param {!Array.} arrBytes + * @param {number=} offset + * @param {boolean=} unsigned + * @param {boolean=} le + * @returns {!Long} + * @inner + */ + function fromBytes(arrBytes, offset, unsigned, le) { + if (typeof(offset)!=='number') offset=0; + if (le) { + var lo = arrBytes[offset++]; + lo |= (arrBytes[offset++] << 8); + lo |= (arrBytes[offset++] << 16); + lo |= (arrBytes[offset++] << 24); + var hi = arrBytes[offset++]; + hi |= (arrBytes[offset++] << 8); + hi |= (arrBytes[offset++] << 16); + hi |= (arrBytes[offset] << 24); + } + else { + var hi = (arrBytes[offset++] << 24); + hi |= (arrBytes[offset++] << 16); + hi |= (arrBytes[offset++] << 8); + hi |= arrBytes[offset++]; + var lo = (arrBytes[offset++] << 24); + lo |= (arrBytes[offset++] << 16); + lo |= (arrBytes[offset++] << 8); + lo |= arrBytes[offset]; + } + return Long.fromBits(lo, hi, unsigned); } + /** + * Returns a Long representing the 64 bit integer that comes by concatenating the given bytes. + * @function + * @param {!Array.} arrBytes Byte representation in an array of at least offset+8 bytes + * @param {number=} offset The starting index from which to read 8 elements of the array, defaults to zero + * @param {boolean=} unsigned Whether unsigned or not, defaults to `false` for signed + * @param {boolean=} le Whether little or big endian, defaults to big endian + * @returns {!Long} The corresponding Long value + */ + Long.fromBytes = fromBytes; + return Long; }); diff --git a/dist/long.min.js b/dist/long.min.js index 17449bb..8c573f9 100644 --- a/dist/long.min.js +++ b/dist/long.min.js @@ -3,18 +3,19 @@ Released under the Apache License, Version 2.0 see: https://github.com/dcodeIO/long.js for details */ -(function(d,g){"function"===typeof define&&define.amd?define([],g):"function"===typeof require&&"object"===typeof module&&module&&module.exports?module.exports=g():(d.dcodeIO=d.dcodeIO||{}).Long=g()})(this,function(){function d(a,b,c){this.low=a|0;this.high=b|0;this.unsigned=!!c}function g(a){return!0===(a&&a.__isLong__)}function m(a,b){var c,t;if(b){a>>>=0;if(t=0<=a&&256>a)if(c=z[a])return c;c=e(a,0>(a|0)?-1:0,!0);t&&(z[a]=c)}else{a|=0;if(t=-128<=a&&128>a)if(c=A[a])return c;c=e(a,0>a?-1:0,!1);t&& -(A[a]=c)}return c}function n(a,b){if(isNaN(a)||!isFinite(a))return b?p:k;if(b){if(0>a)return p;if(a>=B)return C}else{if(a<=-D)return l;if(a+1>=D)return E}return 0>a?n(-a,b).neg():e(a%4294967296|0,a/4294967296|0,b)}function e(a,b,c){return new d(a,b,c)}function x(a,b,c){if(0===a.length)throw Error("empty string");if("NaN"===a||"Infinity"===a||"+Infinity"===a||"-Infinity"===a)return k;"number"===typeof b?(c=b,b=!1):b=!!b;c=c||10;if(2>c||36d?(d=n(v(c,d)),e=e.mul(d).add(n(g))):(e=e.mul(t),e=e.add(n(g)))}e.unsigned=b;return e}function q(a){return a instanceof d?a:"number"===typeof a?n(a):"string"===typeof a?x(a):e(a.low,a.high,a.unsigned)}Object.defineProperty(d.prototype,"__isLong__",{value:!0,enumerable:!1,configurable:!1});d.isLong=g;var A={},z={};d.fromInt=m;d.fromNumber=n;d.fromBits= -e;var v=Math.pow;d.fromString=x;d.fromValue=q;var B=4294967296*4294967296,D=B/2,F=m(16777216),k=m(0);d.ZERO=k;var p=m(0,!0);d.UZERO=p;var r=m(1);d.ONE=r;var G=m(1,!0);d.UONE=G;var y=m(-1);d.NEG_ONE=y;var E=e(-1,2147483647,!1);d.MAX_VALUE=E;var C=e(-1,-1,!0);d.MAX_UNSIGNED_VALUE=C;var l=e(0,-2147483648,!1);d.MIN_VALUE=l;var b=d.prototype;b.toInt=function(){return this.unsigned?this.low>>>0:this.low};b.toNumber=function(){return this.unsigned?4294967296*(this.high>>>0)+(this.low>>>0):4294967296*this.high+ -(this.low>>>0)};b.toString=function(a){a=a||10;if(2>a||36>>0).toString(a),b=d;if(b.isZero())return f+e;for(;6>f.length;)f="0"+f;e=""+f+e}};b.getHighBits=function(){return this.high};b.getHighBitsUnsigned= -function(){return this.high>>>0};b.getLowBits=function(){return this.low};b.getLowBitsUnsigned=function(){return this.low>>>0};b.getNumBitsAbs=function(){if(this.isNegative())return this.eq(l)?64:this.neg().getNumBitsAbs();for(var a=0!=this.high?this.high:this.low,b=31;0this.high};b.isPositive=function(){return this.unsigned||0<=this.high};b.isOdd= -function(){return 1===(this.low&1)};b.isEven=function(){return 0===(this.low&1)};b.equals=function(a){g(a)||(a=q(a));return this.unsigned!==a.unsigned&&1===this.high>>>31&&1===a.high>>>31?!1:this.high===a.high&&this.low===a.low};b.eq=b.equals;b.notEquals=function(a){return!this.eq(a)};b.neq=b.notEquals;b.lessThan=function(a){return 0>this.comp(a)};b.lt=b.lessThan;b.lessThanOrEqual=function(a){return 0>=this.comp(a)};b.lte=b.lessThanOrEqual;b.greaterThan=function(a){return 0>>0>this.high>>>0||a.high===this.high&&a.low>>>0>this.low>>>0?-1:1:this.sub(a).isNegative()?-1:1};b.comp=b.compare;b.negate=function(){return!this.unsigned&&this.eq(l)?l:this.not().add(r)};b.neg=b.negate;b.add=function(a){g(a)||(a=q(a));var b=this.high>>>16,c=this.high&65535, -d=this.low>>>16,l=a.high>>>16,f=a.high&65535,n=a.low>>>16,k;k=0+((this.low&65535)+(a.low&65535));a=0+(k>>>16);a+=d+n;d=0+(a>>>16);d+=c+f;c=0+(d>>>16);c=c+(b+l)&65535;return e((a&65535)<<16|k&65535,c<<16|d&65535,this.unsigned)};b.subtract=function(a){g(a)||(a=q(a));return this.add(a.neg())};b.sub=b.subtract;b.multiply=function(a){if(this.isZero())return k;g(a)||(a=q(a));if(a.isZero())return k;if(this.eq(l))return a.isOdd()?l:k;if(a.eq(l))return this.isOdd()?l:k;if(this.isNegative())return a.isNegative()? -this.neg().mul(a.neg()):this.neg().mul(a).neg();if(a.isNegative())return this.mul(a.neg()).neg();if(this.lt(F)&&a.lt(F))return n(this.toNumber()*a.toNumber(),this.unsigned);var b=this.high>>>16,c=this.high&65535,d=this.low>>>16,w=this.low&65535,f=a.high>>>16,m=a.high&65535,p=a.low>>>16;a=a.low&65535;var u,h,s,r;r=0+w*a;s=0+(r>>>16);s+=d*a;h=0+(s>>>16);s=(s&65535)+w*p;h+=s>>>16;s&=65535;h+=c*a;u=0+(h>>>16);h=(h&65535)+d*p;u+=h>>>16;h&=65535;h+=w*m;u+=h>>>16;h&=65535;u=u+(b*a+c*p+d*m+w*f)&65535;return e(s<< -16|r&65535,u<<16|h,this.unsigned)};b.mul=b.multiply;b.divide=function(a){g(a)||(a=q(a));if(a.isZero())throw Error("division by zero");if(this.isZero())return this.unsigned?p:k;var b,c,d;if(this.unsigned){a.unsigned||(a=a.toUnsigned());if(a.gt(this))return p;if(a.gt(this.shru(1)))return G;d=p}else{if(this.eq(l)){if(a.eq(r)||a.eq(y))return l;if(a.eq(l))return r;b=this.shr(1).div(a).shl(1);if(b.eq(k))return a.isNegative()?r:y;c=this.sub(a.mul(b));return d=b.add(c.div(a))}if(a.eq(l))return this.unsigned? -p:k;if(this.isNegative())return a.isNegative()?this.neg().div(a.neg()):this.neg().div(a).neg();if(a.isNegative())return this.div(a.neg()).neg();d=k}for(c=this;c.gte(a);){b=Math.max(1,Math.floor(c.toNumber()/a.toNumber()));for(var e=Math.ceil(Math.log(b)/Math.LN2),e=48>=e?1:v(2,e-48),f=n(b),m=f.mul(a);m.isNegative()||m.gt(c);)b-=e,f=n(b,this.unsigned),m=f.mul(a);f.isZero()&&(f=r);d=d.add(f);c=c.sub(m)}return d};b.div=b.divide;b.modulo=function(a){g(a)||(a=q(a));return this.sub(this.div(a).mul(a))}; -b.mod=b.modulo;b.not=function(){return e(~this.low,~this.high,this.unsigned)};b.and=function(a){g(a)||(a=q(a));return e(this.low&a.low,this.high&a.high,this.unsigned)};b.or=function(a){g(a)||(a=q(a));return e(this.low|a.low,this.high|a.high,this.unsigned)};b.xor=function(a){g(a)||(a=q(a));return e(this.low^a.low,this.high^a.high,this.unsigned)};b.shiftLeft=function(a){g(a)&&(a=a.toInt());return 0===(a&=63)?this:32>a?e(this.low<>>32-a,this.unsigned):e(0,this.low<a?e(this.low>>>a|this.high<<32-a,this.high>>a,this.unsigned):e(this.high>>a-32,0<=this.high?0:-1,this.unsigned)};b.shr=b.shiftRight;b.shiftRightUnsigned=function(a){g(a)&&(a=a.toInt());a&=63;if(0===a)return this;var b=this.high;return 32>a?e(this.low>>>a|b<<32-a,b>>>a,this.unsigned):32===a?e(b,0,this.unsigned):e(b>>>a-32,0,this.unsigned)};b.shru=b.shiftRightUnsigned;b.toSigned=function(){return this.unsigned? -e(this.low,this.high,!1):this};b.toUnsigned=function(){return this.unsigned?this:e(this.low,this.high,!0)};b.toBytes=function(a){return a?this.toBytesLE():this.toBytesBE()};b.toBytesLE=function(){var a=this.high,b=this.low;return[b&255,b>>>8&255,b>>>16&255,b>>>24&255,a&255,a>>>8&255,a>>>16&255,a>>>24&255]};b.toBytesBE=function(){var a=this.high,b=this.low;return[a>>>24&255,a>>>16&255,a>>>8&255,a&255,b>>>24&255,b>>>16&255,b>>>8&255,b&255]};return d}); +(function(c,h){"function"===typeof define&&define.amd?define([],h):"function"===typeof require&&"object"===typeof module&&module&&module.exports?module.exports=h():(c.dcodeIO=c.dcodeIO||{}).Long=h()})(this,function(){function c(a,g,b){this.low=a|0;this.high=g|0;this.unsigned=!!b}function h(a){return!0===(a&&a.__isLong__)}function k(a,g){var b;if(g){a>>>=0;if(g=0<=a&&256>a)if(b=A[a])return b;b=d(a,0>(a|0)?-1:0,!0);g&&(A[a]=b)}else{a|=0;if(g=-128<=a&&128>a)if(b=B[a])return b;b=d(a,0>a?-1:0,!1);g&&(B[a]= +b)}return b}function l(a,g){if(isNaN(a)||!isFinite(a))return g?p:n;if(g){if(0>a)return p;if(a>=C)return D}else{if(a<=-E)return m;if(a+1>=E)return F}return 0>a?l(-a,g).neg():d(a%4294967296|0,a/4294967296|0,g)}function d(a,g,b){return new c(a,g,b)}function y(a,g,b){if(0===a.length)throw Error("empty string");if("NaN"===a||"Infinity"===a||"+Infinity"===a||"-Infinity"===a)return n;"number"===typeof g?(b=g,g=!1):g=!!g;b=b||10;if(2>b||36v?(v=l(t(b,v)),f=f.mul(v).add(l(d))):(f=f.mul(e),f=f.add(l(d)))}f.unsigned=g;return f}function q(a){return a instanceof c?a:"number"===typeof a?l(a):"string"===typeof a?y(a):d(a.low,a.high,a.unsigned)}Object.defineProperty(c.prototype,"__isLong__",{value:!0,enumerable:!1,configurable:!1});c.isLong=h;var B={},A={};c.fromInt=k;c.fromNumber=l;c.fromBits= +d;var t=Math.pow;c.fromString=y;c.fromValue=q;var C=4294967296*4294967296,E=C/2,G=k(16777216),n=k(0);c.ZERO=n;var p=k(0,!0);c.UZERO=p;var u=k(1);c.ONE=u;var H=k(1,!0);c.UONE=H;var z=k(-1);c.NEG_ONE=z;var F=d(-1,2147483647,!1);c.MAX_VALUE=F;var D=d(-1,-1,!0);c.MAX_UNSIGNED_VALUE=D;var m=d(0,-2147483648,!1);c.MIN_VALUE=m;var b=c.prototype;b.toInt=function(){return this.unsigned?this.low>>>0:this.low};b.toNumber=function(){return this.unsigned?4294967296*(this.high>>>0)+(this.low>>>0):4294967296*this.high+ +(this.low>>>0)};b.toString=function(a){a=a||10;if(2>a||36>>0).toString(a);b=f;if(b.isZero())return d+e;for(;6>d.length;)d="0"+d;e=""+d+e}};b.getHighBits=function(){return this.high};b.getHighBitsUnsigned= +function(){return this.high>>>0};b.getLowBits=function(){return this.low};b.getLowBitsUnsigned=function(){return this.low>>>0};b.getNumBitsAbs=function(){if(this.isNegative())return this.eq(m)?64:this.neg().getNumBitsAbs();for(var a=0!=this.high?this.high:this.low,b=31;0this.high};b.isPositive=function(){return this.unsigned||0<=this.high};b.isOdd= +function(){return 1===(this.low&1)};b.isEven=function(){return 0===(this.low&1)};b.equals=function(a){h(a)||(a=q(a));return this.unsigned!==a.unsigned&&1===this.high>>>31&&1===a.high>>>31?!1:this.high===a.high&&this.low===a.low};b.eq=b.equals;b.notEquals=function(a){return!this.eq(a)};b.neq=b.notEquals;b.lessThan=function(a){return 0>this.comp(a)};b.lt=b.lessThan;b.lessThanOrEqual=function(a){return 0>=this.comp(a)};b.lte=b.lessThanOrEqual;b.greaterThan=function(a){return 0>>0>this.high>>>0||a.high===this.high&&a.low>>>0>this.low>>>0?-1:1:this.sub(a).isNegative()?-1:1};b.comp=b.compare;b.negate=function(){return!this.unsigned&&this.eq(m)?m:this.not().add(u)};b.neg=b.negate;b.add=function(a){h(a)||(a=q(a));var b=this.high>>>16,c=this.high&65535, +e=this.low>>>16,f=a.high>>>16,m=a.high&65535,l=a.low>>>16;a=0+((this.low&65535)+(a.low&65535));l=0+(a>>>16)+(e+l);e=0+(l>>>16);e+=c+m;b=0+(e>>>16)+(b+f)&65535;return d((l&65535)<<16|a&65535,b<<16|e&65535,this.unsigned)};b.subtract=function(a){h(a)||(a=q(a));return this.add(a.neg())};b.sub=b.subtract;b.multiply=function(a){if(this.isZero())return n;h(a)||(a=q(a));if(a.isZero())return n;if(this.eq(m))return a.isOdd()?m:n;if(a.eq(m))return this.isOdd()?m:n;if(this.isNegative())return a.isNegative()? +this.neg().mul(a.neg()):this.neg().mul(a).neg();if(a.isNegative())return this.mul(a.neg()).neg();if(this.lt(G)&&a.lt(G))return l(this.toNumber()*a.toNumber(),this.unsigned);var b=this.high>>>16,c=this.high&65535,e=this.low>>>16,f=this.low&65535,I=a.high>>>16,k=a.high&65535,p=a.low>>>16;a=a.low&65535;var u=0+f*a;var w=0+(u>>>16)+e*a;var r=0+(w>>>16);w=(w&65535)+f*p;r+=w>>>16;r+=c*a;var t=0+(r>>>16);r=(r&65535)+e*p;t+=r>>>16;r=(r&65535)+f*k;t=t+(r>>>16)+(b*a+c*p+e*k+f*I)&65535;return d((w&65535)<<16| +u&65535,t<<16|r&65535,this.unsigned)};b.mul=b.multiply;b.divide=function(a){h(a)||(a=q(a));if(a.isZero())throw Error("division by zero");if(this.isZero())return this.unsigned?p:n;if(this.unsigned){a.unsigned||(a=a.toUnsigned());if(a.gt(this))return p;if(a.gt(this.shru(1)))return H;var b=p}else{if(this.eq(m)){if(a.eq(u)||a.eq(z))return m;if(a.eq(m))return u;var c=this.shr(1).div(a).shl(1);if(c.eq(n))return a.isNegative()?u:z;var e=this.sub(a.mul(c));return b=c.add(e.div(a))}if(a.eq(m))return this.unsigned? +p:n;if(this.isNegative())return a.isNegative()?this.neg().div(a.neg()):this.neg().div(a).neg();if(a.isNegative())return this.div(a.neg()).neg();b=n}for(e=this;e.gte(a);){c=Math.max(1,Math.floor(e.toNumber()/a.toNumber()));var d=Math.ceil(Math.log(c)/Math.LN2);d=48>=d?1:t(2,d-48);for(var k=l(c),x=k.mul(a);x.isNegative()||x.gt(e);)c-=d,k=l(c,this.unsigned),x=k.mul(a);k.isZero()&&(k=u);b=b.add(k);e=e.sub(x)}return b};b.div=b.divide;b.modulo=function(a){h(a)||(a=q(a));return this.sub(this.div(a).mul(a))}; +b.mod=b.modulo;b.not=function(){return d(~this.low,~this.high,this.unsigned)};b.and=function(a){h(a)||(a=q(a));return d(this.low&a.low,this.high&a.high,this.unsigned)};b.or=function(a){h(a)||(a=q(a));return d(this.low|a.low,this.high|a.high,this.unsigned)};b.xor=function(a){h(a)||(a=q(a));return d(this.low^a.low,this.high^a.high,this.unsigned)};b.shiftLeft=function(a){h(a)&&(a=a.toInt());return 0===(a&=63)?this:32>a?d(this.low<>>32-a,this.unsigned):d(0,this.low<a?d(this.low>>>a|this.high<<32-a,this.high>>a,this.unsigned):d(this.high>>a-32,0<=this.high?0:-1,this.unsigned)};b.shr=b.shiftRight;b.shiftRightUnsigned=function(a){h(a)&&(a=a.toInt());a&=63;if(0===a)return this;var b=this.high;return 32>a?d(this.low>>>a|b<<32-a,b>>>a,this.unsigned):32===a?d(b,0,this.unsigned):d(b>>>a-32,0,this.unsigned)};b.shru=b.shiftRightUnsigned;b.toSigned=function(){return this.unsigned? +d(this.low,this.high,!1):this};b.toUnsigned=function(){return this.unsigned?this:d(this.low,this.high,!0)};b.toBytes=function(a){return a?this.toBytesLE():this.toBytesBE()};b.toBytesLE=function(){var a=this.high,b=this.low;return[b&255,b>>>8&255,b>>>16&255,b>>>24&255,a&255,a>>>8&255,a>>>16&255,a>>>24&255]};b.toBytesBE=function(){var a=this.high,b=this.low;return[a>>>24&255,a>>>16&255,a>>>8&255,a&255,b>>>24&255,b>>>16&255,b>>>8&255,b&255]};c.fromBytes=function(a,b,d,e){"number"!==typeof b&&(b=0);if(e){e= +a[b++];e|=a[b++]<<8;e|=a[b++]<<16;e|=a[b++]<<24;var f=a[b++];f|=a[b++]<<8;f|=a[b++]<<16;f|=a[b]<<24}else f=a[b++]<<24,f|=a[b++]<<16,f|=a[b++]<<8,f|=a[b++],e=a[b++]<<24,e|=a[b++]<<16,e|=a[b++]<<8,e|=a[b];return c.fromBits(e,f,d)};return c}); diff --git a/dist/long.min.js.gz b/dist/long.min.js.gz index eae840a0ef37bf0d09ae9beb3c61e0494d9fc806..074ad6da5de70b907b7b4a48c0ead196b2bb353c 100644 GIT binary patch literal 2822 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 Y1!DHx=8>XTw%Dot4OUe%s$d@g09n>{p#T5? literal 2752 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 G9smGkM=hTK diff --git a/dist/long.min.map b/dist/long.min.map index a87d85e..29671c4 100644 --- a/dist/long.min.map +++ b/dist/long.min.map @@ -1,8 +1,8 @@ { "version":3, "file":"", -"lineCount":20, -"mappings":"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", +"lineCount":21, +"mappings":"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", "sources":["dist/long.js"], -"names":["global","factory","define","require","module","Long","low","high","unsigned","isLong","obj","fromInt","value","cache","cachedObj","UINT_CACHE","fromBits","INT_CACHE","fromNumber","isNaN","isFinite","UZERO","ZERO","TWO_PWR_64_DBL","MAX_UNSIGNED_VALUE","TWO_PWR_63_DBL","MIN_VALUE","MAX_VALUE","neg","TWO_PWR_32_DBL","lowBits","highBits","fromString","str","radix","length","Error","RangeError","p","indexOf","substring","radixToPower","pow_dbl","result","i","size","Math","min","parseInt","power","mul","add","fromValue","val","Object","defineProperty","prototype","enumerable","configurable","pow","TWO_PWR_24","TWO_PWR_24_DBL","ONE","UONE","NEG_ONE","LongPrototype","toInt","LongPrototype.toInt","toNumber","LongPrototype.toNumber","toString","LongPrototype.toString","isZero","isNegative","eq","radixLong","div","rem1","sub","rem","remDiv","digits","getHighBits","LongPrototype.getHighBits","getHighBitsUnsigned","LongPrototype.getHighBitsUnsigned","getLowBits","LongPrototype.getLowBits","getLowBitsUnsigned","LongPrototype.getLowBitsUnsigned","getNumBitsAbs","LongPrototype.getNumBitsAbs","bit","LongPrototype.isZero","LongPrototype.isNegative","isPositive","LongPrototype.isPositive","isOdd","LongPrototype.isOdd","isEven","LongPrototype.isEven","equals","LongPrototype.equals","other","notEquals","LongPrototype.notEquals","neq","lessThan","LongPrototype.lessThan","comp","lt","lessThanOrEqual","LongPrototype.lessThanOrEqual","lte","greaterThan","LongPrototype.greaterThan","gt","greaterThanOrEqual","LongPrototype.greaterThanOrEqual","gte","compare","LongPrototype.compare","thisNeg","otherNeg","negate","LongPrototype.negate","not","LongPrototype.add","addend","a48","a32","a16","b48","b32","b16","c00","c16","c32","c48","subtract","LongPrototype.subtract","subtrahend","multiply","LongPrototype.multiply","multiplier","a00","b00","divide","LongPrototype.divide","divisor","approx","res","toUnsigned","shru","shr","halfThis","shl","max","floor","log2","ceil","log","LN2","delta","approxRes","approxRem","modulo","LongPrototype.modulo","mod","LongPrototype.not","and","LongPrototype.and","or","LongPrototype.or","xor","LongPrototype.xor","shiftLeft","LongPrototype.shiftLeft","numBits","shiftRight","LongPrototype.shiftRight","shiftRightUnsigned","LongPrototype.shiftRightUnsigned","toSigned","LongPrototype.toSigned","LongPrototype.toUnsigned","toBytes","LongPrototype.toBytes","le","toBytesLE","toBytesBE","LongPrototype.toBytesLE","hi","lo","LongPrototype.toBytesBE"] +"names":["global","factory","define","require","module","Long","low","high","unsigned","isLong","obj","fromInt","value","cache","cachedObj","UINT_CACHE","fromBits","INT_CACHE","fromNumber","isNaN","isFinite","UZERO","ZERO","TWO_PWR_64_DBL","MAX_UNSIGNED_VALUE","TWO_PWR_63_DBL","MIN_VALUE","MAX_VALUE","neg","TWO_PWR_32_DBL","lowBits","highBits","fromString","str","radix","length","Error","RangeError","p","indexOf","substring","radixToPower","pow_dbl","result","i","size","Math","min","parseInt","power","mul","add","fromValue","val","Object","defineProperty","prototype","enumerable","configurable","pow","TWO_PWR_24","TWO_PWR_24_DBL","ONE","UONE","NEG_ONE","LongPrototype","toInt","LongPrototype.toInt","toNumber","LongPrototype.toNumber","toString","LongPrototype.toString","isZero","isNegative","eq","radixLong","div","rem1","sub","rem","remDiv","digits","getHighBits","LongPrototype.getHighBits","getHighBitsUnsigned","LongPrototype.getHighBitsUnsigned","getLowBits","LongPrototype.getLowBits","getLowBitsUnsigned","LongPrototype.getLowBitsUnsigned","getNumBitsAbs","LongPrototype.getNumBitsAbs","bit","LongPrototype.isZero","LongPrototype.isNegative","isPositive","LongPrototype.isPositive","isOdd","LongPrototype.isOdd","isEven","LongPrototype.isEven","equals","LongPrototype.equals","other","notEquals","LongPrototype.notEquals","neq","lessThan","LongPrototype.lessThan","comp","lt","lessThanOrEqual","LongPrototype.lessThanOrEqual","lte","greaterThan","LongPrototype.greaterThan","gt","greaterThanOrEqual","LongPrototype.greaterThanOrEqual","gte","compare","LongPrototype.compare","thisNeg","otherNeg","negate","LongPrototype.negate","not","LongPrototype.add","addend","a48","a32","a16","b48","b32","b16","c00","c16","c32","c48","subtract","LongPrototype.subtract","subtrahend","multiply","LongPrototype.multiply","multiplier","a00","b00","divide","LongPrototype.divide","divisor","toUnsigned","shru","res","approx","shr","halfThis","shl","max","floor","log2","ceil","log","LN2","delta","approxRes","approxRem","modulo","LongPrototype.modulo","mod","LongPrototype.not","and","LongPrototype.and","or","LongPrototype.or","xor","LongPrototype.xor","shiftLeft","LongPrototype.shiftLeft","numBits","shiftRight","LongPrototype.shiftRight","shiftRightUnsigned","LongPrototype.shiftRightUnsigned","toSigned","LongPrototype.toSigned","LongPrototype.toUnsigned","toBytes","LongPrototype.toBytes","le","toBytesLE","toBytesBE","LongPrototype.toBytesLE","hi","lo","LongPrototype.toBytesBE","fromBytes","arrBytes","offset"] } diff --git a/doco/Long.md b/doco/Long.md index 9a70647..dfa63f3 100644 --- a/doco/Long.md +++ b/doco/Long.md @@ -93,6 +93,18 @@ assumed to use 32 bits. | unsigned | *boolean* | Whether unsigned or not, defaults to `false` for signed | **@returns** | *!Long* | The corresponding Long value +#### Long.fromBytes(arrBytes, offset=, unsigned=, le=) + +Returns a Long representing the 64 bit integer that comes by concatenating the given bytes. + +|Parameter |Type |Description +|---------------|---------------|------------- +|arrBytes |*!Array.<number>*|Byte representation in an array of at least offset+8 bytes +|offset |*number* |The starting index from which to read 8 elements of the array, defaults to zero +|unsigned |*boolean* |Whether unsigned or not, defaults to `false` for signed +|le |*boolean* |Whether little or big endian, defaults to big endian +|**@returns** |*!Long* |The corresponding Long value + #### Long.fromInt(value, unsigned=) Returns a Long representing the given 32 bit integer value. @@ -417,6 +429,15 @@ Returns the difference of this and the specified Long. | subtrahend | *!Long | number | string* | Subtrahend | **@returns** | *!Long* | Difference +#### Long#toBytes(le=) + +Converts this Long to its byte representation. + +|Parameter |Type |Description +|---------------|---------------|------------- +|le |*boolean* |Whether little or big endian, defaults to big endian +|**@returns** |*!Array.<number>*|Byte representation + #### Long#toInt() Converts the Long to a 32 bit integer, assuming it is a 32 bit integer. diff --git a/src/long.js b/src/long.js index 5af2cb9..953bfba 100644 --- a/src/long.js +++ b/src/long.js @@ -1129,15 +1129,15 @@ LongPrototype.toUnsigned = function toUnsigned() { * @param {boolean=} le Whether little or big endian, defaults to big endian * @returns {!Array.} Byte representation */ -LongPrototype.toBytes = function(le) { +LongPrototype.toBytes = function toBytes(le) { return le ? this.toBytesLE() : this.toBytesBE(); -} +}; /** * Converts this Long to its little endian byte representation. * @returns {!Array.} Little endian byte representation */ -LongPrototype.toBytesLE = function() { +LongPrototype.toBytesLE = function toBytesLE() { var hi = this.high, lo = this.low; return [ @@ -1150,13 +1150,13 @@ LongPrototype.toBytesLE = function() { (hi >>> 16) & 0xff, (hi >>> 24) & 0xff ]; -} +}; /** * Converts this Long to its big endian byte representation. * @returns {!Array.} Big endian byte representation */ -LongPrototype.toBytesBE = function() { +LongPrototype.toBytesBE = function toBytesBE() { var hi = this.high, lo = this.low; return [ @@ -1169,4 +1169,48 @@ LongPrototype.toBytesBE = function() { (lo >>> 8) & 0xff, lo & 0xff ]; +}; + +/** + * @param {!Array.} arrBytes + * @param {number=} offset + * @param {boolean=} unsigned + * @param {boolean=} le + * @returns {!Long} + * @inner + */ +function fromBytes(arrBytes, offset, unsigned, le) { + if (typeof(offset)!=='number') offset=0; + if (le) { + var lo = arrBytes[offset++]; + lo |= (arrBytes[offset++] << 8); + lo |= (arrBytes[offset++] << 16); + lo |= (arrBytes[offset++] << 24); + var hi = arrBytes[offset++]; + hi |= (arrBytes[offset++] << 8); + hi |= (arrBytes[offset++] << 16); + hi |= (arrBytes[offset] << 24); + } + else { + var hi = (arrBytes[offset++] << 24); + hi |= (arrBytes[offset++] << 16); + hi |= (arrBytes[offset++] << 8); + hi |= arrBytes[offset++]; + var lo = (arrBytes[offset++] << 24); + lo |= (arrBytes[offset++] << 16); + lo |= (arrBytes[offset++] << 8); + lo |= arrBytes[offset]; + } + return Long.fromBits(lo, hi, unsigned); } + +/** + * Returns a Long representing the 64 bit integer that comes by concatenating the given bytes. + * @function + * @param {!Array.} arrBytes Byte representation in an array of at least offset+8 bytes + * @param {number=} offset The starting index from which to read 8 elements of the array, defaults to zero + * @param {boolean=} unsigned Whether unsigned or not, defaults to `false` for signed + * @param {boolean=} le Whether little or big endian, defaults to big endian + * @returns {!Long} The corresponding Long value + */ +Long.fromBytes = fromBytes; diff --git a/tests/suite.js b/tests/suite.js index e95c529..99d4127 100644 --- a/tests/suite.js +++ b/tests/suite.js @@ -65,6 +65,17 @@ var suite = { test.done(); }, + "fromBytes": function(test) { + var longVal = Long.fromBits(0x01234567, 0x12345678); + var ulongVal = Long.fromBits(0x01234567, 0x12345678, true); + test.deepEqual(Long.fromBytes(longVal.toBytes()), longVal); + test.deepEqual(Long.fromBytes([0x12, 0x34, 0x56, 0x78, 0x01, 0x23, 0x45, 0x67]), longVal); + test.deepEqual(Long.fromBytes([0x12, 0x34, 0x56, 0x78, 0x01, 0x23, 0x45, 0x67], 0, false, false), longVal); + test.deepEqual(Long.fromBytes([0xFF, 0x67, 0x45, 0x23, 0x01, 0x78, 0x56, 0x34, 0x12], 1, false, true), longVal); + test.deepEqual(Long.fromBytes([0xFF, 0x67, 0x45, 0x23, 0x01, 0x78, 0x56, 0x34, 0x12], 1, true, true), ulongVal); + test.done(); + }, + "unsigned": { "min/max": function(test) {