@blackglory/structures 0.10.5 → 0.10.8
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 +7 -3
- package/dist/es2015/index.min.mjs +1 -1
- package/dist/es2015/index.min.mjs.map +1 -1
- package/dist/es2015/index.mjs +19 -10
- package/dist/es2015/index.mjs.map +1 -1
- package/dist/es2015/index.umd.js +19 -10
- 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 +1 -1
- package/dist/es2018/index.min.mjs.map +1 -1
- package/dist/es2018/index.mjs +19 -10
- package/dist/es2018/index.mjs.map +1 -1
- package/dist/es2018/index.umd.js +19 -10
- 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 -1
- package/lib/es2015/bit-set.js +11 -10
- package/lib/es2015/bit-set.js.map +1 -1
- package/lib/es2015/sparse-set.d.ts +1 -1
- package/lib/es2015/sparse-set.js +4 -0
- package/lib/es2015/sparse-set.js.map +1 -1
- package/lib/es2015/typed-sparse-set.d.ts +1 -1
- package/lib/es2015/typed-sparse-set.js +4 -0
- package/lib/es2015/typed-sparse-set.js.map +1 -1
- package/lib/es2018/bit-set.d.ts +1 -1
- package/lib/es2018/bit-set.js +11 -10
- package/lib/es2018/bit-set.js.map +1 -1
- package/lib/es2018/sparse-set.d.ts +1 -1
- package/lib/es2018/sparse-set.js +4 -0
- package/lib/es2018/sparse-set.js.map +1 -1
- package/lib/es2018/typed-sparse-set.d.ts +1 -1
- package/lib/es2018/typed-sparse-set.js +4 -0
- package/lib/es2018/typed-sparse-set.js.map +1 -1
- package/package.json +1 -1
package/dist/es2018/index.mjs
CHANGED
|
@@ -16464,6 +16464,10 @@ class SparseSet {
|
|
|
16464
16464
|
// 跟一般的实现不同, 直接删除值的索引.
|
|
16465
16465
|
delete this.valueToIndex[value];
|
|
16466
16466
|
}
|
|
16467
|
+
return true;
|
|
16468
|
+
}
|
|
16469
|
+
else {
|
|
16470
|
+
return false;
|
|
16467
16471
|
}
|
|
16468
16472
|
}
|
|
16469
16473
|
}
|
|
@@ -16637,6 +16641,10 @@ class TypedSparseSet {
|
|
|
16637
16641
|
this.indexToValue.internalTypedArray[index] = lastValue;
|
|
16638
16642
|
this.valueToIndex[lastValue] = index;
|
|
16639
16643
|
}
|
|
16644
|
+
return true;
|
|
16645
|
+
}
|
|
16646
|
+
else {
|
|
16647
|
+
return false;
|
|
16640
16648
|
}
|
|
16641
16649
|
}
|
|
16642
16650
|
}
|
|
@@ -16977,7 +16985,7 @@ class BitSet {
|
|
|
16977
16985
|
for (let bit = 0; bit < BitSet.bitsPerElement; bit++) {
|
|
16978
16986
|
const mask = this.getMask(bit);
|
|
16979
16987
|
if ((element & mask) === mask) {
|
|
16980
|
-
yield index *
|
|
16988
|
+
yield index * BitSet.bitsPerElement + bit;
|
|
16981
16989
|
}
|
|
16982
16990
|
}
|
|
16983
16991
|
}
|
|
@@ -16985,18 +16993,17 @@ class BitSet {
|
|
|
16985
16993
|
for (let bit = 0; bit < remainder; bit++) {
|
|
16986
16994
|
const mask = this.getMask(bit);
|
|
16987
16995
|
if ((lastElement & mask) === mask) {
|
|
16988
|
-
yield lastIndex *
|
|
16996
|
+
yield lastIndex * BitSet.bitsPerElement + bit;
|
|
16989
16997
|
}
|
|
16990
16998
|
}
|
|
16991
16999
|
}
|
|
16992
17000
|
}
|
|
16993
17001
|
_dumpBinaryStrings() {
|
|
16994
17002
|
const result = [];
|
|
16995
|
-
const expectedBinaryStringLength = Uint8Array.BYTES_PER_ELEMENT * 8;
|
|
16996
17003
|
for (let i = 0; i < this.array.length; i++) {
|
|
16997
17004
|
const binary = this.array.internalTypedArray[i].toString(2);
|
|
16998
|
-
if (binary.length <
|
|
16999
|
-
result.push('0'.repeat(
|
|
17005
|
+
if (binary.length < BitSet.bitsPerElement) {
|
|
17006
|
+
result.push('0'.repeat(BitSet.bitsPerElement - binary.length) + binary);
|
|
17000
17007
|
}
|
|
17001
17008
|
else {
|
|
17002
17009
|
result.push(binary);
|
|
@@ -17006,7 +17013,7 @@ class BitSet {
|
|
|
17006
17013
|
}
|
|
17007
17014
|
has(value) {
|
|
17008
17015
|
var _a;
|
|
17009
|
-
const
|
|
17016
|
+
const [index, mask] = this.getPosition(value);
|
|
17010
17017
|
return (((_a = this.array.get(index)) !== null && _a !== void 0 ? _a : 0) & mask) === mask;
|
|
17011
17018
|
}
|
|
17012
17019
|
add(value) {
|
|
@@ -17015,13 +17022,15 @@ class BitSet {
|
|
|
17015
17022
|
if (value >= this.length) {
|
|
17016
17023
|
this.length = value + 1;
|
|
17017
17024
|
}
|
|
17018
|
-
const
|
|
17025
|
+
const [index, mask] = this.getPosition(value);
|
|
17019
17026
|
this.array.set(index, ((_a = this.array.get(index)) !== null && _a !== void 0 ? _a : 0) | mask);
|
|
17020
17027
|
}
|
|
17021
17028
|
delete(value) {
|
|
17022
17029
|
var _a;
|
|
17023
|
-
const
|
|
17024
|
-
|
|
17030
|
+
const [index, mask] = this.getPosition(value);
|
|
17031
|
+
const element = ((_a = this.array.get(index)) !== null && _a !== void 0 ? _a : 0);
|
|
17032
|
+
this.array.set(index, element & ~mask);
|
|
17033
|
+
return (element & mask) === mask;
|
|
17025
17034
|
}
|
|
17026
17035
|
clear() {
|
|
17027
17036
|
for (let i = this.array.length; i--;) {
|
|
@@ -17033,7 +17042,7 @@ class BitSet {
|
|
|
17033
17042
|
const quotient = (value - remainder) / BitSet.bitsPerElement;
|
|
17034
17043
|
const index = quotient;
|
|
17035
17044
|
const mask = this.getMask(remainder);
|
|
17036
|
-
return
|
|
17045
|
+
return [index, mask];
|
|
17037
17046
|
}
|
|
17038
17047
|
// 输入一定是一个小于bitsPerElement的值, 取值范围是[0, bitsPerElement)
|
|
17039
17048
|
getMask(value) {
|