@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/es2015/index.umd.js
CHANGED
|
@@ -16470,6 +16470,10 @@
|
|
|
16470
16470
|
// 跟一般的实现不同, 直接删除值的索引.
|
|
16471
16471
|
delete this.valueToIndex[value];
|
|
16472
16472
|
}
|
|
16473
|
+
return true;
|
|
16474
|
+
}
|
|
16475
|
+
else {
|
|
16476
|
+
return false;
|
|
16473
16477
|
}
|
|
16474
16478
|
}
|
|
16475
16479
|
}
|
|
@@ -16643,6 +16647,10 @@
|
|
|
16643
16647
|
this.indexToValue.internalTypedArray[index] = lastValue;
|
|
16644
16648
|
this.valueToIndex[lastValue] = index;
|
|
16645
16649
|
}
|
|
16650
|
+
return true;
|
|
16651
|
+
}
|
|
16652
|
+
else {
|
|
16653
|
+
return false;
|
|
16646
16654
|
}
|
|
16647
16655
|
}
|
|
16648
16656
|
}
|
|
@@ -16983,7 +16991,7 @@
|
|
|
16983
16991
|
for (let bit = 0; bit < BitSet.bitsPerElement; bit++) {
|
|
16984
16992
|
const mask = this.getMask(bit);
|
|
16985
16993
|
if ((element & mask) === mask) {
|
|
16986
|
-
yield index *
|
|
16994
|
+
yield index * BitSet.bitsPerElement + bit;
|
|
16987
16995
|
}
|
|
16988
16996
|
}
|
|
16989
16997
|
}
|
|
@@ -16991,18 +16999,17 @@
|
|
|
16991
16999
|
for (let bit = 0; bit < remainder; bit++) {
|
|
16992
17000
|
const mask = this.getMask(bit);
|
|
16993
17001
|
if ((lastElement & mask) === mask) {
|
|
16994
|
-
yield lastIndex *
|
|
17002
|
+
yield lastIndex * BitSet.bitsPerElement + bit;
|
|
16995
17003
|
}
|
|
16996
17004
|
}
|
|
16997
17005
|
}
|
|
16998
17006
|
}
|
|
16999
17007
|
_dumpBinaryStrings() {
|
|
17000
17008
|
const result = [];
|
|
17001
|
-
const expectedBinaryStringLength = Uint8Array.BYTES_PER_ELEMENT * 8;
|
|
17002
17009
|
for (let i = 0; i < this.array.length; i++) {
|
|
17003
17010
|
const binary = this.array.internalTypedArray[i].toString(2);
|
|
17004
|
-
if (binary.length <
|
|
17005
|
-
result.push('0'.repeat(
|
|
17011
|
+
if (binary.length < BitSet.bitsPerElement) {
|
|
17012
|
+
result.push('0'.repeat(BitSet.bitsPerElement - binary.length) + binary);
|
|
17006
17013
|
}
|
|
17007
17014
|
else {
|
|
17008
17015
|
result.push(binary);
|
|
@@ -17012,7 +17019,7 @@
|
|
|
17012
17019
|
}
|
|
17013
17020
|
has(value) {
|
|
17014
17021
|
var _a;
|
|
17015
|
-
const
|
|
17022
|
+
const [index, mask] = this.getPosition(value);
|
|
17016
17023
|
return (((_a = this.array.get(index)) !== null && _a !== void 0 ? _a : 0) & mask) === mask;
|
|
17017
17024
|
}
|
|
17018
17025
|
add(value) {
|
|
@@ -17021,13 +17028,15 @@
|
|
|
17021
17028
|
if (value >= this.length) {
|
|
17022
17029
|
this.length = value + 1;
|
|
17023
17030
|
}
|
|
17024
|
-
const
|
|
17031
|
+
const [index, mask] = this.getPosition(value);
|
|
17025
17032
|
this.array.set(index, ((_a = this.array.get(index)) !== null && _a !== void 0 ? _a : 0) | mask);
|
|
17026
17033
|
}
|
|
17027
17034
|
delete(value) {
|
|
17028
17035
|
var _a;
|
|
17029
|
-
const
|
|
17030
|
-
|
|
17036
|
+
const [index, mask] = this.getPosition(value);
|
|
17037
|
+
const element = ((_a = this.array.get(index)) !== null && _a !== void 0 ? _a : 0);
|
|
17038
|
+
this.array.set(index, element & ~mask);
|
|
17039
|
+
return (element & mask) === mask;
|
|
17031
17040
|
}
|
|
17032
17041
|
clear() {
|
|
17033
17042
|
for (let i = this.array.length; i--;) {
|
|
@@ -17039,7 +17048,7 @@
|
|
|
17039
17048
|
const quotient = (value - remainder) / BitSet.bitsPerElement;
|
|
17040
17049
|
const index = quotient;
|
|
17041
17050
|
const mask = this.getMask(remainder);
|
|
17042
|
-
return
|
|
17051
|
+
return [index, mask];
|
|
17043
17052
|
}
|
|
17044
17053
|
// 输入一定是一个小于bitsPerElement的值, 取值范围是[0, bitsPerElement)
|
|
17045
17054
|
getMask(value) {
|