Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

bitset

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

bitset - npm Package Compare versions

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",

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc