Comparing version 5.0.2 to 5.0.3
248
bitset.js
/** | ||
* @license BitSet.js v5.0.2 4/3/2018 | ||
* @license BitSet.js v5.0.3 4/3/2018 | ||
* http://www.xarg.org/2014/03/javascript-bit-array/ | ||
@@ -17,3 +17,3 @@ * | ||
*/ | ||
const WORD_LENGTH = 32; | ||
var WORD_LENGTH = 32; | ||
@@ -25,3 +25,3 @@ /** | ||
*/ | ||
const WORD_LOG = 5; | ||
var WORD_LOG = 5; | ||
@@ -52,7 +52,7 @@ /** | ||
let r = 0; | ||
var r = 0; | ||
for (let i = 0; i < arr.length; i++) { | ||
for (var i = 0; i < arr.length; i++) { | ||
r *= 2; | ||
let d = (arr[i] + r) / B | 0; | ||
var d = (arr[i] + r) / B | 0; | ||
r = (arr[i] + r) % B; | ||
@@ -93,4 +93,4 @@ arr[i] = d; | ||
let base = 2; | ||
let len = WORD_LENGTH; | ||
var base = 2; | ||
var len = WORD_LENGTH; | ||
@@ -108,8 +108,8 @@ if (val.indexOf('0b') === 0) { | ||
let a = val.length - len; | ||
let b = val.length; | ||
var a = val.length - len; | ||
var b = val.length; | ||
do { | ||
const num = parseInt(val.slice(a > 0 ? a : 0, b), base); | ||
var num = parseInt(val.slice(a > 0 ? a : 0, b), base); | ||
@@ -134,9 +134,9 @@ if (isNaN(num)) { | ||
P['data'] = [0]; | ||
const data = P['data']; | ||
var data = P['data']; | ||
if (val instanceof Array) { | ||
for (let i = val.length - 1; i >= 0; i--) { | ||
for (var i = val.length - 1; i >= 0; i--) { | ||
const ndx = val[i]; | ||
var ndx = val[i]; | ||
@@ -155,13 +155,13 @@ if (ndx === Infinity) { | ||
const bits = 8; | ||
var bits = 8; | ||
scale(P, val.length * bits); | ||
for (let i = 0; i < val.length; i++) { | ||
for (var i = 0; i < val.length; i++) { | ||
const n = val[i]; | ||
var n = val[i]; | ||
for (let j = 0; j < bits; j++) { | ||
for (var j = 0; j < bits; j++) { | ||
const k = i * bits + j; | ||
var k = i * bits + j; | ||
@@ -195,7 +195,7 @@ data[k >>> WORD_LOG] |= (n >> j & 1) << k; | ||
let l = ndx >>> WORD_LOG; | ||
const d = dst['data']; | ||
const v = dst['_']; | ||
var l = ndx >>> WORD_LOG; | ||
var d = dst['data']; | ||
var v = dst['_']; | ||
for (const i = d.length; l >= i; l--) { | ||
for (var i = d.length; l >= i; l--) { | ||
d.push(v); | ||
@@ -205,3 +205,3 @@ } | ||
const P = { | ||
var P = { | ||
'data': [], // Holds the actual bits in form of a 32bit integer array. | ||
@@ -244,3 +244,3 @@ '_': 0 // Holds the MSB flag information to make indefinitely large bitsets inversion-proof | ||
* bs1 = new BitSet(); | ||
* const isValid = bs1.get(12); | ||
* var isValid = bs1.get(12); | ||
* | ||
@@ -254,4 +254,4 @@ * @param {number} ndx the index to be fetched | ||
const d = this['data']; | ||
const n = ndx >>> WORD_LOG; | ||
var d = this['data']; | ||
var n = ndx >>> WORD_LOG; | ||
@@ -275,5 +275,5 @@ if (n > d.length) { | ||
const t = this['clone'](); | ||
const d = t['data']; | ||
for (let i = 0; i < d.length; i++) { | ||
var t = this['clone'](); | ||
var d = t['data']; | ||
for (var i = 0; i < d.length; i++) { | ||
d[i] = ~d[i]; | ||
@@ -302,9 +302,9 @@ } | ||
const T = this['clone'](); | ||
const t = T['data']; | ||
const p = P['data']; | ||
var T = this['clone'](); | ||
var t = T['data']; | ||
var p = P['data']; | ||
const pl = p.length; | ||
const p_ = P['_']; | ||
const t_ = T['_']; | ||
var pl = p.length; | ||
var p_ = P['_']; | ||
var t_ = T['_']; | ||
@@ -316,5 +316,5 @@ // If this is infinite, we need all bits from P | ||
const tl = t.length; | ||
const l = Math.min(pl, tl); | ||
let i = 0; | ||
var tl = t.length; | ||
var l = Math.min(pl, tl); | ||
var i = 0; | ||
@@ -349,10 +349,10 @@ for (; i < l; i++) { | ||
const t = this['clone'](); | ||
const d = t['data']; | ||
const p = P['data']; | ||
var t = this['clone'](); | ||
var d = t['data']; | ||
var p = P['data']; | ||
const pl = p.length - 1; | ||
const tl = d.length - 1; | ||
var pl = p.length - 1; | ||
var tl = d.length - 1; | ||
const minLength = Math.min(tl, pl); | ||
var minLength = Math.min(tl, pl); | ||
@@ -388,13 +388,13 @@ // Append backwards, extend array only once | ||
const t = this['clone'](); | ||
const d = t['data']; | ||
const p = P['data']; | ||
var t = this['clone'](); | ||
var d = t['data']; | ||
var p = P['data']; | ||
const t_ = t['_']; | ||
const p_ = P['_']; | ||
var t_ = t['_']; | ||
var p_ = P['_']; | ||
let i = 0; | ||
var i = 0; | ||
const tl = d.length - 1; | ||
const pl = p.length - 1; | ||
var tl = d.length - 1; | ||
var pl = p.length - 1; | ||
@@ -454,4 +454,4 @@ // Cut if tl > pl | ||
const d = this['data']; | ||
for (let i = 0; i < d.length; i++) { | ||
var d = this['data']; | ||
for (var i = 0; i < d.length; i++) { | ||
d[i] = ~d[i]; | ||
@@ -472,3 +472,3 @@ } | ||
for (let i = from; i <= to; i++) { | ||
for (var i = from; i <= to; i++) { | ||
this['data'][i >>> WORD_LOG] ^= (1 << i); | ||
@@ -494,7 +494,7 @@ } | ||
const data = this['data']; | ||
var data = this['data']; | ||
if (from === undefined) { | ||
for (let i = data.length - 1; i >= 0; i--) { | ||
for (var i = data.length - 1; i >= 0; i--) { | ||
data[i] = 0; | ||
@@ -516,3 +516,3 @@ } | ||
for (let i = from; i <= to; i++) { | ||
for (var i = from; i <= to; i++) { | ||
data[i >>> WORD_LOG] &= ~(1 << i); | ||
@@ -542,3 +542,3 @@ } | ||
const im = Object.create(BitSet.prototype); | ||
var im = Object.create(BitSet.prototype); | ||
@@ -548,3 +548,3 @@ im['_'] = this['_']; | ||
for (let i = from; i <= to; i++) { | ||
for (var i = from; i <= to; i++) { | ||
im['set'](i - from, this['get'](i)); | ||
@@ -556,6 +556,6 @@ } | ||
const im = Object.create(BitSet.prototype); | ||
var im = Object.create(BitSet.prototype); | ||
im['data'] = [0]; | ||
for (let i = from; i <= to; i++) { | ||
for (var i = from; i <= to; i++) { | ||
im['set'](i - from, this['get'](i)); | ||
@@ -582,3 +582,3 @@ } | ||
for (let i = from; i <= to; i++) { | ||
for (var i = from; i <= to; i++) { | ||
this['set'](i, value); | ||
@@ -599,3 +599,3 @@ } | ||
const im = Object.create(BitSet.prototype); | ||
var im = Object.create(BitSet.prototype); | ||
im['data'] = this['data'].slice(); | ||
@@ -614,11 +614,11 @@ im['_'] = this['_']; | ||
const ret = []; | ||
const data = this['data']; | ||
var ret = []; | ||
var data = this['data']; | ||
for (let i = data.length - 1; i >= 0; i--) { | ||
for (var i = data.length - 1; i >= 0; i--) { | ||
let num = data[i]; | ||
var num = data[i]; | ||
while (num !== 0) { | ||
const t = 31 - Math['clz32'](num); | ||
var t = 31 - Math['clz32'](num); | ||
num ^= 1 << t; | ||
@@ -636,11 +636,11 @@ ret.unshift((i * WORD_LENGTH) + t); | ||
const ret = []; | ||
const data = this['data']; | ||
var ret = []; | ||
var data = this['data']; | ||
for (let i = 0; i < data.length; i++) { | ||
for (var i = 0; i < data.length; i++) { | ||
let num = data[i]; | ||
var num = data[i]; | ||
while (num !== 0) { | ||
const t = num & -num; | ||
var t = num & -num; | ||
num ^= t; | ||
@@ -664,3 +664,3 @@ ret.push((i * WORD_LENGTH) + popCount(t - 1)); | ||
const data = this['data']; | ||
var data = this['data']; | ||
@@ -673,8 +673,8 @@ if (!base) | ||
let ret = ''; | ||
const len = 2 + Math.log(4294967295/*Math.pow(2, WORD_LENGTH)-1*/) / Math.log(base) | 0; | ||
var ret = ''; | ||
var len = 2 + Math.log(4294967295/*Math.pow(2, WORD_LENGTH)-1*/) / Math.log(base) | 0; | ||
for (let i = data.length - 1; i >= 0; i--) { | ||
for (var i = data.length - 1; i >= 0; i--) { | ||
let cur = data[i]; | ||
var cur = data[i]; | ||
@@ -685,3 +685,3 @@ // Make the number unsigned | ||
const tmp = cur.toString(base); | ||
var tmp = cur.toString(base); | ||
@@ -714,9 +714,9 @@ if (ret !== '') { | ||
const ret = []; | ||
const arr = []; | ||
var ret = []; | ||
var arr = []; | ||
// Copy every single bit to a new array | ||
for (let i = data.length; i--; ) { | ||
for (var i = data.length; i--; ) { | ||
for (let j = WORD_LENGTH; j--; ) { | ||
for (var j = WORD_LENGTH; j--; ) { | ||
@@ -751,5 +751,5 @@ arr.push(data[i] >>> j & 1); | ||
const d = this['data']; | ||
var d = this['data']; | ||
for (let i = d.length - 1; i >= 0; i--) { | ||
for (var i = d.length - 1; i >= 0; i--) { | ||
if (d[i] !== 0) | ||
@@ -766,3 +766,3 @@ return false; | ||
* | ||
* const num = bs1.cardinality(); | ||
* var num = bs1.cardinality(); | ||
* | ||
@@ -777,6 +777,6 @@ * @returns {number} The number of bits set | ||
let s = 0; | ||
const d = this['data']; | ||
for (let i = 0; i < d.length; i++) { | ||
const n = d[i]; | ||
var s = 0; | ||
var d = this['data']; | ||
for (var i = 0; i < d.length; i++) { | ||
var n = d[i]; | ||
if (n !== 0) | ||
@@ -793,5 +793,5 @@ s += popCount(n); | ||
* | ||
* const logbase2 = bs1.msb(); | ||
* var logbase2 = bs1.msb(); | ||
* | ||
* const truncatedTwo = Math.pow(2, logbase2); // May overflow! | ||
* var truncatedTwo = Math.pow(2, logbase2); // May overflow! | ||
* | ||
@@ -807,7 +807,7 @@ * @returns {number} The index of the highest bit set | ||
const data = this['data']; | ||
var data = this['data']; | ||
for (let i = data.length; i-- > 0; ) { | ||
for (var i = data.length; i-- > 0; ) { | ||
const c = Math['clz32'](data[i]); | ||
var c = Math['clz32'](data[i]); | ||
@@ -826,8 +826,8 @@ if (c !== WORD_LENGTH) { | ||
const data = this['data']; | ||
var data = this['data']; | ||
for (let i = data.length; i-- > 0; ) { | ||
for (var i = data.length; i-- > 0; ) { | ||
let v = data[i]; | ||
let c = 0; | ||
var v = data[i]; | ||
var c = 0; | ||
@@ -849,3 +849,3 @@ if (v) { | ||
* | ||
* const ntz = bs1.ntz(); | ||
* var ntz = bs1.ntz(); | ||
* | ||
@@ -856,6 +856,6 @@ * @returns {number} The index of the lowest bit set | ||
const data = this['data']; | ||
var data = this['data']; | ||
for (let j = 0; j < data.length; j++) { | ||
let v = data[j]; | ||
for (var j = 0; j < data.length; j++) { | ||
var v = data[j]; | ||
@@ -877,3 +877,3 @@ if (v !== 0) { | ||
* | ||
* const lsb = bs1.lsb(); | ||
* var lsb = bs1.lsb(); | ||
* | ||
@@ -884,12 +884,12 @@ * @returns {number} The index of the lowest bit set | ||
const data = this['data']; | ||
var data = this['data']; | ||
for (let i = 0; i < data.length; i++) { | ||
for (var i = 0; i < data.length; i++) { | ||
const v = data[i]; | ||
let c = 0; | ||
var v = data[i]; | ||
var c = 0; | ||
if (v) { | ||
let bit = (v & -v); | ||
var bit = (v & -v); | ||
@@ -920,10 +920,10 @@ for (; (bit >>>= 1); c++) { | ||
const t = this['data']; | ||
const p = P['data']; | ||
var t = this['data']; | ||
var p = P['data']; | ||
const t_ = this['_']; | ||
const p_ = P['_']; | ||
var t_ = this['_']; | ||
var p_ = P['_']; | ||
const tl = t.length - 1; | ||
const pl = p.length - 1; | ||
var tl = t.length - 1; | ||
var pl = p.length - 1; | ||
@@ -934,4 +934,4 @@ if (p_ !== t_) { | ||
const minLength = tl < pl ? tl : pl; | ||
let i = 0; | ||
var minLength = tl < pl ? tl : pl; | ||
var i = 0; | ||
@@ -972,13 +972,13 @@ for (; i <= minLength; i++) { | ||
const m = n % WORD_LENGTH; | ||
var m = n % WORD_LENGTH; | ||
// Create an array, large enough to hold the random bits | ||
const t = []; | ||
const len = Math.ceil(n / WORD_LENGTH); | ||
var t = []; | ||
var len = Math.ceil(n / WORD_LENGTH); | ||
// Create an bitset instance | ||
const s = Object.create(BitSet.prototype); | ||
var s = Object.create(BitSet.prototype); | ||
// Fill the vector with random data, uniformally distributed | ||
for (let i = 0; i < len; i++) { | ||
for (var i = 0; i < len; i++) { | ||
t.push(Math.random() * 4294967296 | 0); | ||
@@ -985,0 +985,0 @@ } |
/* | ||
BitSet.js v5.0.2 4/3/2018 | ||
http://www.xarg.org/2014/03/javascript-bit-array/ | ||
BitSet.js v5.0.3 4/3/2018 | ||
http://www.xarg.org/2014/03/javascript-bit-array/ | ||
Copyright (c) 2016, Robert Eisele (robert@xarg.org) | ||
Dual licensed under the MIT or GPL Version 2 licenses. | ||
Copyright (c) 2016, Robert Eisele (robert@xarg.org) | ||
Dual licensed under the MIT or GPL Version 2 licenses. | ||
*/ | ||
@@ -12,3 +12,3 @@ (function(q){function p(a){a-=a>>>1&1431655765;a=(a&858993459)+(a>>>2&858993459);return 16843009*(a+(a>>>4)&252645135)>>>24}function r(a,b){for(var c=0,d=0;d<a.length;d++){c*=2;var e=(a[d]+c)/b|0;c=(a[d]+c)%b;a[d]=e}return c}function n(a,b){if(null==b)a.data=[0,0,0,0,0,0,0,0,0,0],a._=0;else if(b instanceof g)a.data=b.data,a._=b._;else switch(typeof b){case "number":a.data=[b|0];a._=0;break;case "string":var c=2,d=32;0===b.indexOf("0b")?b=b.substr(2):0===b.indexOf("0x")&&(b=b.substr(2),c=16,d=8);a.data= | ||
a);a=this.clone();var b=a.data,c=k.data,d=c.length,e=k._;0!==a._&&m(a,32*d-1);var f=b.length;d=Math.min(d,f);for(var h=0;h<d;h++)b[h]&=c[h];for(;h<f;h++)b[h]&=e;a._&=e;return a},or:function(a){n(k,a);a=this.clone();for(var b=a.data,c=k.data,d=c.length-1,e=Math.min(b.length-1,d);d>e;d--)b[d]=c[d];for(;0<=d;d--)b[d]|=c[d];a._|=k._;return a},xor:function(a){n(k,a);a=this.clone();var b=a.data,c=k.data,d=a._,e=k._,f,h=b.length-1,g=c.length-1;for(f=h;f>g;f--)b[f]^=e;for(f=g;f>h;f--)b[f]=d^c[f];for(;0<= | ||
f;f--)b[f]^=c[f];a._^=e;return a},andNot:function(a){return this.and((new g(a)).flip())},flip:function(a,b){if(void 0===a){for(var c=this.data,d=0;d<c.length;d++)c[d]=~c[d];this._=~this._}else if(void 0===b)m(this,a),this.data[a>>>5]^=1<<a;else if(0<=a&&a<=b)for(m(this,b),c=a;c<=b;c++)this.data[c>>>5]^=1<<c;return this},clear:function(a,b){var c=this.data;if(void 0===a){for(var d=c.length-1;0<=d;d--)c[d]=0;this._=0}else if(void 0===b)a|=0,m(this,a),c[a>>>5]&=~(1<<a);else if(a<=b)for(m(this,b),d=a;d<= | ||
f;f--)b[f]^=c[f];a._^=e;return a},andNot:function(a){return this.and((new g(a)).flip())},flip:function(a,b){if(void 0===a){for(var c=this.data,d=0;d<c.length;d++)c[d]=~c[d];this._=~this._}else if(void 0===b)m(this,a),this.data[a>>>5]^=1<<a;else if(0<=a&&a<=b)for(m(this,b),d=a;d<=b;d++)this.data[d>>>5]^=1<<d;return this},clear:function(a,b){var c=this.data;if(void 0===a){for(var d=c.length-1;0<=d;d--)c[d]=0;this._=0}else if(void 0===b)a|=0,m(this,a),c[a>>>5]&=~(1<<a);else if(a<=b)for(m(this,b),d=a;d<= | ||
b;d++)c[d>>>5]&=~(1<<d);return this},slice:function(a,b){if(void 0===a)return this.clone();if(void 0===b){b=32*this.data.length;var c=Object.create(g.prototype);c._=this._;c.data=[0];for(var d=a;d<=b;d++)c.set(d-a,this.get(d));return c}if(a<=b&&0<=a){c=Object.create(g.prototype);c.data=[0];for(d=a;d<=b;d++)c.set(d-a,this.get(d));return c}return null},setRange:function(a,b,c){for(;a<=b;a++)this.set(a,c);return this},clone:function(){var a=Object.create(g.prototype);a.data=this.data.slice();a._=this._; | ||
@@ -15,0 +15,0 @@ return a},toArray:Math.clz32?function(){for(var a=[],b=this.data,c=b.length-1;0<=c;c--)for(var d=b[c];0!==d;){var e=31-Math.clz32(d);d^=1<<e;a.unshift(32*c+e)}0!==this._&&a.push(Infinity);return a}:function(){for(var a=[],b=this.data,c=0;c<b.length;c++)for(var d=b[c];0!==d;){var e=d&-d;d^=e;a.push(32*c+p(e-1))}0!==this._&&a.push(Infinity);return a},toString:function(a){var b=this.data;a||(a=2);if(0===(a&a-1)&&36>a){for(var c="",d=2+Math.log(4294967295)/Math.log(a)|0,e=b.length-1;0<=e;e--){var f=b[e]; |
{ | ||
"name": "bitset.js", | ||
"main": "bitset.js", | ||
"version": "5.0.2", | ||
"version": "5.0.3", | ||
"homepage": "http://www.xarg.org/2014/03/javascript-bit-array/", | ||
@@ -6,0 +6,0 @@ "description": "A performance optimized infinite bit vector library", |
{ | ||
"name": "bitset", | ||
"title": "BitSet", | ||
"version": "5.0.2", | ||
"version": "5.0.3", | ||
"homepage": "http://www.xarg.org/2014/03/javascript-bit-array/", | ||
@@ -6,0 +6,0 @@ "description": "A performance optimized infinite bit vector library", |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
55383