@blackglory/structures 0.10.17 → 0.10.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/es2015/index.min.mjs +2 -2
- package/dist/es2015/index.min.mjs.map +1 -1
- package/dist/es2015/index.mjs +38 -18
- package/dist/es2015/index.mjs.map +1 -1
- package/dist/es2015/index.umd.js +38 -18
- package/dist/es2015/index.umd.js.map +1 -1
- package/dist/es2015/index.umd.min.js +2 -2
- package/dist/es2015/index.umd.min.js.map +1 -1
- package/dist/es2018/index.min.mjs +2 -2
- package/dist/es2018/index.min.mjs.map +1 -1
- package/dist/es2018/index.mjs +38 -18
- package/dist/es2018/index.mjs.map +1 -1
- package/dist/es2018/index.umd.js +38 -18
- package/dist/es2018/index.umd.js.map +1 -1
- package/dist/es2018/index.umd.min.js +2 -2
- package/dist/es2018/index.umd.min.js.map +1 -1
- package/lib/es2015/bit-set.d.ts +1 -0
- package/lib/es2015/bit-set.js +19 -9
- package/lib/es2015/bit-set.js.map +1 -1
- package/lib/es2015/typed-bit-set.d.ts +1 -0
- package/lib/es2015/typed-bit-set.js +19 -9
- package/lib/es2015/typed-bit-set.js.map +1 -1
- package/lib/es2018/bit-set.d.ts +1 -0
- package/lib/es2018/bit-set.js +19 -9
- package/lib/es2018/bit-set.js.map +1 -1
- package/lib/es2018/typed-bit-set.d.ts +1 -0
- package/lib/es2018/typed-bit-set.js +19 -9
- package/lib/es2018/typed-bit-set.js.map +1 -1
- package/package.json +1 -1
package/lib/es2015/bit-set.d.ts
CHANGED
package/lib/es2015/bit-set.js
CHANGED
|
@@ -7,12 +7,13 @@ class BitSet {
|
|
|
7
7
|
this.bitsPerElement = bitsPerElement;
|
|
8
8
|
this.array = [];
|
|
9
9
|
this.length = 0;
|
|
10
|
+
this._size = 0;
|
|
10
11
|
}
|
|
11
12
|
get [Symbol.toStringTag]() {
|
|
12
13
|
return this.constructor.name;
|
|
13
14
|
}
|
|
14
15
|
get size() {
|
|
15
|
-
return this.
|
|
16
|
+
return this._size;
|
|
16
17
|
}
|
|
17
18
|
[Symbol.iterator]() {
|
|
18
19
|
return this.values();
|
|
@@ -24,20 +25,20 @@ class BitSet {
|
|
|
24
25
|
- (maxArrayLength * this.bitsPerElement - this.length);
|
|
25
26
|
const lastIndex = maxArrayLength - 1;
|
|
26
27
|
for (let index = 0; index < lastIndex; index++) {
|
|
27
|
-
|
|
28
|
+
let element = this.array[index];
|
|
28
29
|
for (let bit = 0; bit < this.bitsPerElement; bit++) {
|
|
29
|
-
|
|
30
|
-
if ((element & mask) === mask) {
|
|
30
|
+
if (element & 1) {
|
|
31
31
|
yield index * this.bitsPerElement + bit;
|
|
32
32
|
}
|
|
33
|
+
element >>= 1;
|
|
33
34
|
}
|
|
34
35
|
}
|
|
35
|
-
|
|
36
|
+
let lastElement = this.array[maxArrayLength - 1];
|
|
36
37
|
for (let bit = 0; bit < remainder; bit++) {
|
|
37
|
-
|
|
38
|
-
if ((lastElement & mask) === mask) {
|
|
38
|
+
if (lastElement & 1) {
|
|
39
39
|
yield lastIndex * this.bitsPerElement + bit;
|
|
40
40
|
}
|
|
41
|
+
lastElement >>= 1;
|
|
41
42
|
}
|
|
42
43
|
}
|
|
43
44
|
}
|
|
@@ -66,14 +67,23 @@ class BitSet {
|
|
|
66
67
|
this.length = value + 1;
|
|
67
68
|
}
|
|
68
69
|
const [index, mask] = this.getPosition(value);
|
|
69
|
-
|
|
70
|
+
const element = (_a = this.array[index]) !== null && _a !== void 0 ? _a : 0;
|
|
71
|
+
this.array[index] = element | mask;
|
|
72
|
+
const added = (element & mask) !== mask;
|
|
73
|
+
if (added) {
|
|
74
|
+
this._size++;
|
|
75
|
+
}
|
|
70
76
|
}
|
|
71
77
|
delete(value) {
|
|
72
78
|
var _a;
|
|
73
79
|
const [index, mask] = this.getPosition(value);
|
|
74
80
|
const element = ((_a = this.array[index]) !== null && _a !== void 0 ? _a : 0);
|
|
75
81
|
this.array[index] = element & ~mask;
|
|
76
|
-
|
|
82
|
+
const deleted = (element & mask) === mask;
|
|
83
|
+
if (deleted) {
|
|
84
|
+
this._size--;
|
|
85
|
+
}
|
|
86
|
+
return deleted;
|
|
77
87
|
}
|
|
78
88
|
clear() {
|
|
79
89
|
for (let i = this.array.length; i--;) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bit-set.js","sourceRoot":"","sources":["../../src/bit-set.ts"],"names":[],"mappings":";;;AAAA,+CAA2C;AAE3C,MAAa,MAAM;
|
|
1
|
+
{"version":3,"file":"bit-set.js","sourceRoot":"","sources":["../../src/bit-set.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,12 +7,13 @@ class TypedBitSet {
|
|
|
7
7
|
this.array = array;
|
|
8
8
|
this.bitsPerElement = this.array.internalTypedArray.BYTES_PER_ELEMENT * 8;
|
|
9
9
|
this.length = 0;
|
|
10
|
+
this._size = 0;
|
|
10
11
|
}
|
|
11
12
|
get [Symbol.toStringTag]() {
|
|
12
13
|
return this.constructor.name;
|
|
13
14
|
}
|
|
14
15
|
get size() {
|
|
15
|
-
return this.
|
|
16
|
+
return this._size;
|
|
16
17
|
}
|
|
17
18
|
[Symbol.iterator]() {
|
|
18
19
|
return this.values();
|
|
@@ -24,20 +25,20 @@ class TypedBitSet {
|
|
|
24
25
|
- (maxArrayLength * this.bitsPerElement - this.length);
|
|
25
26
|
const lastIndex = maxArrayLength - 1;
|
|
26
27
|
for (let index = 0; index < lastIndex; index++) {
|
|
27
|
-
|
|
28
|
+
let element = this.array.internalTypedArray[index];
|
|
28
29
|
for (let bit = 0; bit < this.bitsPerElement; bit++) {
|
|
29
|
-
|
|
30
|
-
if ((element & mask) === mask) {
|
|
30
|
+
if (element & 1) {
|
|
31
31
|
yield index * this.bitsPerElement + bit;
|
|
32
32
|
}
|
|
33
|
+
element >>= 1;
|
|
33
34
|
}
|
|
34
35
|
}
|
|
35
|
-
|
|
36
|
+
let lastElement = this.array.internalTypedArray[maxArrayLength - 1];
|
|
36
37
|
for (let bit = 0; bit < remainder; bit++) {
|
|
37
|
-
|
|
38
|
-
if ((lastElement & mask) === mask) {
|
|
38
|
+
if (lastElement & 1) {
|
|
39
39
|
yield lastIndex * this.bitsPerElement + bit;
|
|
40
40
|
}
|
|
41
|
+
lastElement >>= 1;
|
|
41
42
|
}
|
|
42
43
|
}
|
|
43
44
|
}
|
|
@@ -66,14 +67,23 @@ class TypedBitSet {
|
|
|
66
67
|
this.length = value + 1;
|
|
67
68
|
}
|
|
68
69
|
const [index, mask] = this.getPosition(value);
|
|
69
|
-
|
|
70
|
+
const element = (_a = this.array.get(index)) !== null && _a !== void 0 ? _a : 0;
|
|
71
|
+
this.array.set(index, element | mask);
|
|
72
|
+
const added = (element & mask) !== mask;
|
|
73
|
+
if (added) {
|
|
74
|
+
this._size++;
|
|
75
|
+
}
|
|
70
76
|
}
|
|
71
77
|
delete(value) {
|
|
72
78
|
var _a;
|
|
73
79
|
const [index, mask] = this.getPosition(value);
|
|
74
80
|
const element = ((_a = this.array.get(index)) !== null && _a !== void 0 ? _a : 0);
|
|
75
81
|
this.array.set(index, element & ~mask);
|
|
76
|
-
|
|
82
|
+
const deleted = (element & mask) === mask;
|
|
83
|
+
if (deleted) {
|
|
84
|
+
this._size--;
|
|
85
|
+
}
|
|
86
|
+
return deleted;
|
|
77
87
|
}
|
|
78
88
|
clear() {
|
|
79
89
|
for (let i = this.array.length; i--;) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typed-bit-set.js","sourceRoot":"","sources":["../../src/typed-bit-set.ts"],"names":[],"mappings":";;;AAEA,+CAA2C;AAE3C,MAAa,WAAW;
|
|
1
|
+
{"version":3,"file":"typed-bit-set.js","sourceRoot":"","sources":["../../src/typed-bit-set.ts"],"names":[],"mappings":"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"}
|
package/lib/es2018/bit-set.d.ts
CHANGED
package/lib/es2018/bit-set.js
CHANGED
|
@@ -7,12 +7,13 @@ class BitSet {
|
|
|
7
7
|
this.bitsPerElement = bitsPerElement;
|
|
8
8
|
this.array = [];
|
|
9
9
|
this.length = 0;
|
|
10
|
+
this._size = 0;
|
|
10
11
|
}
|
|
11
12
|
get [Symbol.toStringTag]() {
|
|
12
13
|
return this.constructor.name;
|
|
13
14
|
}
|
|
14
15
|
get size() {
|
|
15
|
-
return this.
|
|
16
|
+
return this._size;
|
|
16
17
|
}
|
|
17
18
|
[Symbol.iterator]() {
|
|
18
19
|
return this.values();
|
|
@@ -24,20 +25,20 @@ class BitSet {
|
|
|
24
25
|
- (maxArrayLength * this.bitsPerElement - this.length);
|
|
25
26
|
const lastIndex = maxArrayLength - 1;
|
|
26
27
|
for (let index = 0; index < lastIndex; index++) {
|
|
27
|
-
|
|
28
|
+
let element = this.array[index];
|
|
28
29
|
for (let bit = 0; bit < this.bitsPerElement; bit++) {
|
|
29
|
-
|
|
30
|
-
if ((element & mask) === mask) {
|
|
30
|
+
if (element & 1) {
|
|
31
31
|
yield index * this.bitsPerElement + bit;
|
|
32
32
|
}
|
|
33
|
+
element >>= 1;
|
|
33
34
|
}
|
|
34
35
|
}
|
|
35
|
-
|
|
36
|
+
let lastElement = this.array[maxArrayLength - 1];
|
|
36
37
|
for (let bit = 0; bit < remainder; bit++) {
|
|
37
|
-
|
|
38
|
-
if ((lastElement & mask) === mask) {
|
|
38
|
+
if (lastElement & 1) {
|
|
39
39
|
yield lastIndex * this.bitsPerElement + bit;
|
|
40
40
|
}
|
|
41
|
+
lastElement >>= 1;
|
|
41
42
|
}
|
|
42
43
|
}
|
|
43
44
|
}
|
|
@@ -66,14 +67,23 @@ class BitSet {
|
|
|
66
67
|
this.length = value + 1;
|
|
67
68
|
}
|
|
68
69
|
const [index, mask] = this.getPosition(value);
|
|
69
|
-
|
|
70
|
+
const element = (_a = this.array[index]) !== null && _a !== void 0 ? _a : 0;
|
|
71
|
+
this.array[index] = element | mask;
|
|
72
|
+
const added = (element & mask) !== mask;
|
|
73
|
+
if (added) {
|
|
74
|
+
this._size++;
|
|
75
|
+
}
|
|
70
76
|
}
|
|
71
77
|
delete(value) {
|
|
72
78
|
var _a;
|
|
73
79
|
const [index, mask] = this.getPosition(value);
|
|
74
80
|
const element = ((_a = this.array[index]) !== null && _a !== void 0 ? _a : 0);
|
|
75
81
|
this.array[index] = element & ~mask;
|
|
76
|
-
|
|
82
|
+
const deleted = (element & mask) === mask;
|
|
83
|
+
if (deleted) {
|
|
84
|
+
this._size--;
|
|
85
|
+
}
|
|
86
|
+
return deleted;
|
|
77
87
|
}
|
|
78
88
|
clear() {
|
|
79
89
|
for (let i = this.array.length; i--;) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bit-set.js","sourceRoot":"","sources":["../../src/bit-set.ts"],"names":[],"mappings":";;;AAAA,+CAA2C;AAE3C,MAAa,MAAM;
|
|
1
|
+
{"version":3,"file":"bit-set.js","sourceRoot":"","sources":["../../src/bit-set.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,12 +7,13 @@ class TypedBitSet {
|
|
|
7
7
|
this.array = array;
|
|
8
8
|
this.bitsPerElement = this.array.internalTypedArray.BYTES_PER_ELEMENT * 8;
|
|
9
9
|
this.length = 0;
|
|
10
|
+
this._size = 0;
|
|
10
11
|
}
|
|
11
12
|
get [Symbol.toStringTag]() {
|
|
12
13
|
return this.constructor.name;
|
|
13
14
|
}
|
|
14
15
|
get size() {
|
|
15
|
-
return this.
|
|
16
|
+
return this._size;
|
|
16
17
|
}
|
|
17
18
|
[Symbol.iterator]() {
|
|
18
19
|
return this.values();
|
|
@@ -24,20 +25,20 @@ class TypedBitSet {
|
|
|
24
25
|
- (maxArrayLength * this.bitsPerElement - this.length);
|
|
25
26
|
const lastIndex = maxArrayLength - 1;
|
|
26
27
|
for (let index = 0; index < lastIndex; index++) {
|
|
27
|
-
|
|
28
|
+
let element = this.array.internalTypedArray[index];
|
|
28
29
|
for (let bit = 0; bit < this.bitsPerElement; bit++) {
|
|
29
|
-
|
|
30
|
-
if ((element & mask) === mask) {
|
|
30
|
+
if (element & 1) {
|
|
31
31
|
yield index * this.bitsPerElement + bit;
|
|
32
32
|
}
|
|
33
|
+
element >>= 1;
|
|
33
34
|
}
|
|
34
35
|
}
|
|
35
|
-
|
|
36
|
+
let lastElement = this.array.internalTypedArray[maxArrayLength - 1];
|
|
36
37
|
for (let bit = 0; bit < remainder; bit++) {
|
|
37
|
-
|
|
38
|
-
if ((lastElement & mask) === mask) {
|
|
38
|
+
if (lastElement & 1) {
|
|
39
39
|
yield lastIndex * this.bitsPerElement + bit;
|
|
40
40
|
}
|
|
41
|
+
lastElement >>= 1;
|
|
41
42
|
}
|
|
42
43
|
}
|
|
43
44
|
}
|
|
@@ -66,14 +67,23 @@ class TypedBitSet {
|
|
|
66
67
|
this.length = value + 1;
|
|
67
68
|
}
|
|
68
69
|
const [index, mask] = this.getPosition(value);
|
|
69
|
-
|
|
70
|
+
const element = (_a = this.array.get(index)) !== null && _a !== void 0 ? _a : 0;
|
|
71
|
+
this.array.set(index, element | mask);
|
|
72
|
+
const added = (element & mask) !== mask;
|
|
73
|
+
if (added) {
|
|
74
|
+
this._size++;
|
|
75
|
+
}
|
|
70
76
|
}
|
|
71
77
|
delete(value) {
|
|
72
78
|
var _a;
|
|
73
79
|
const [index, mask] = this.getPosition(value);
|
|
74
80
|
const element = ((_a = this.array.get(index)) !== null && _a !== void 0 ? _a : 0);
|
|
75
81
|
this.array.set(index, element & ~mask);
|
|
76
|
-
|
|
82
|
+
const deleted = (element & mask) === mask;
|
|
83
|
+
if (deleted) {
|
|
84
|
+
this._size--;
|
|
85
|
+
}
|
|
86
|
+
return deleted;
|
|
77
87
|
}
|
|
78
88
|
clear() {
|
|
79
89
|
for (let i = this.array.length; i--;) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typed-bit-set.js","sourceRoot":"","sources":["../../src/typed-bit-set.ts"],"names":[],"mappings":";;;AAEA,+CAA2C;AAE3C,MAAa,WAAW;
|
|
1
|
+
{"version":3,"file":"typed-bit-set.js","sourceRoot":"","sources":["../../src/typed-bit-set.ts"],"names":[],"mappings":"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"}
|