@blackglory/structures 0.10.21 → 0.10.22
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/README.md +1 -1
- package/dist/es2015/index.min.mjs +1 -1
- package/dist/es2015/index.min.mjs.map +1 -1
- package/dist/es2015/index.mjs +10 -21
- package/dist/es2015/index.mjs.map +1 -1
- package/dist/es2015/index.umd.js +10 -21
- package/dist/es2015/index.umd.js.map +1 -1
- package/dist/es2015/index.umd.min.js +1 -1
- package/dist/es2015/index.umd.min.js.map +1 -1
- package/dist/es2018/index.min.mjs +1 -1
- package/dist/es2018/index.min.mjs.map +1 -1
- package/dist/es2018/index.mjs +10 -21
- package/dist/es2018/index.mjs.map +1 -1
- package/dist/es2018/index.umd.js +10 -21
- package/dist/es2018/index.umd.js.map +1 -1
- package/dist/es2018/index.umd.min.js +1 -1
- package/dist/es2018/index.umd.min.js.map +1 -1
- package/lib/es2015/bit-set.js +1 -1
- package/lib/es2015/bit-set.js.map +1 -1
- package/lib/es2015/typed-bit-set.js +9 -17
- package/lib/es2015/typed-bit-set.js.map +1 -1
- package/lib/es2018/bit-set.js +1 -1
- package/lib/es2018/bit-set.js.map +1 -1
- package/lib/es2018/typed-bit-set.js +9 -17
- package/lib/es2018/typed-bit-set.js.map +1 -1
- package/package.json +1 -1
- package/lib/es2015/utils/bit-scan.d.ts +0 -1
- package/lib/es2015/utils/bit-scan.js +0 -14
- package/lib/es2015/utils/bit-scan.js.map +0 -1
- package/lib/es2018/utils/bit-scan.d.ts +0 -1
- package/lib/es2018/utils/bit-scan.js +0 -14
- package/lib/es2018/utils/bit-scan.js.map +0 -1
package/dist/es2018/index.umd.js
CHANGED
|
@@ -6238,7 +6238,7 @@
|
|
|
6238
6238
|
}
|
|
6239
6239
|
|
|
6240
6240
|
class BitSet {
|
|
6241
|
-
constructor(bitsPerElement =
|
|
6241
|
+
constructor(bitsPerElement = 8) {
|
|
6242
6242
|
this.bitsPerElement = bitsPerElement;
|
|
6243
6243
|
this.array = [];
|
|
6244
6244
|
this.length = 0;
|
|
@@ -6343,8 +6343,8 @@
|
|
|
6343
6343
|
const bitsPerElement = array.BYTES_PER_ELEMENT * 8;
|
|
6344
6344
|
es2018Exports$1.assert(Number.isInteger(bitsPerElement), 'The parameter bitsPerElement must be an integer');
|
|
6345
6345
|
es2018Exports$1.assert(bitsPerElement > 0, 'The parameter bitsPerElement must be greater than 0');
|
|
6346
|
-
// `
|
|
6347
|
-
es2018Exports$1.assert(bitsPerElement <=
|
|
6346
|
+
// `31`是该数据结构中能够处理的最大值
|
|
6347
|
+
es2018Exports$1.assert(bitsPerElement <= 31, 'The mask of bitsPerElement must be less than or equal to 31');
|
|
6348
6348
|
this.bitsPerElement = bitsPerElement;
|
|
6349
6349
|
}
|
|
6350
6350
|
get [Symbol.toStringTag]() {
|
|
@@ -6360,26 +6360,15 @@
|
|
|
6360
6360
|
if (this.length > 0) {
|
|
6361
6361
|
// maxArrayLength = Math.ceil(this.length / this.bitsPerElement)
|
|
6362
6362
|
const maxArrayLength = ~~(this.length / this.bitsPerElement) + 1;
|
|
6363
|
-
|
|
6364
|
-
- (maxArrayLength * this.bitsPerElement - this.length);
|
|
6365
|
-
const lastIndex = maxArrayLength - 1;
|
|
6366
|
-
for (let index = 0; index < lastIndex; index++) {
|
|
6363
|
+
for (let index = 0; index < maxArrayLength; index++) {
|
|
6367
6364
|
let element = this.array.internalTypedArray[index];
|
|
6368
|
-
|
|
6369
|
-
|
|
6370
|
-
|
|
6371
|
-
|
|
6372
|
-
|
|
6373
|
-
element >>= 1;
|
|
6374
|
-
}
|
|
6375
|
-
}
|
|
6376
|
-
let lastElement = this.array.internalTypedArray[maxArrayLength - 1];
|
|
6377
|
-
for (let bit = 0; bit < remainder; bit++) {
|
|
6378
|
-
// if (isOdd(lastElement)) {
|
|
6379
|
-
if (lastElement % 2) {
|
|
6380
|
-
yield lastIndex * this.bitsPerElement + bit;
|
|
6365
|
+
let offset = 0;
|
|
6366
|
+
let indexOfBit;
|
|
6367
|
+
while ((indexOfBit = trailingZeros(element)) !== 32) {
|
|
6368
|
+
yield index * this.bitsPerElement + offset + indexOfBit;
|
|
6369
|
+
offset += indexOfBit + 1;
|
|
6370
|
+
element >>= indexOfBit + 1;
|
|
6381
6371
|
}
|
|
6382
|
-
lastElement >>= 1;
|
|
6383
6372
|
}
|
|
6384
6373
|
}
|
|
6385
6374
|
}
|