Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
146 commits
Select commit Hold shift + click to select a range
60123c1
add cached size to internal nodes
taylorsw04 Oct 28, 2025
53f8e88
more tests
taylorsw04 Oct 29, 2025
5c0f85c
add merge tests
taylorsw04 Oct 29, 2025
f228868
add merge stub
taylorsw04 Oct 29, 2025
6a009b2
add merge benchmarks
taylorsw04 Oct 29, 2025
bd5357e
intersect + merge progress
taylorsw04 Oct 29, 2025
5353090
docs
taylorsw04 Oct 29, 2025
72aa5c8
add intersection tests
taylorsw04 Oct 29, 2025
8064f33
add more merge tests
taylorsw04 Oct 29, 2025
dfdc0cb
cleanup
taylorsw04 Oct 29, 2025
ebd9c11
remove weird clearing of payload
taylorsw04 Oct 29, 2025
4483c1d
fix double use of isInclusive
taylorsw04 Oct 30, 2025
eea4efc
wip impl
taylorsw04 Nov 1, 2025
0e6006c
progress
taylorsw04 Nov 1, 2025
ade7735
fixing bugs
taylorsw04 Nov 1, 2025
8369f88
bug fixes
taylorsw04 Nov 1, 2025
a58f352
loop bug
taylorsw04 Nov 1, 2025
c37707d
bug fixes
taylorsw04 Nov 2, 2025
e373b5e
fix bugs
taylorsw04 Nov 3, 2025
429f000
fix new root bug
taylorsw04 Nov 3, 2025
757a343
more fixes
taylorsw04 Nov 3, 2025
354c369
more fixes
taylorsw04 Nov 3, 2025
36c2106
more fixes
taylorsw04 Nov 3, 2025
fdaae38
fixes
taylorsw04 Nov 3, 2025
5dda4c9
cleanup
taylorsw04 Nov 3, 2025
845af2e
height bug
taylorsw04 Nov 3, 2025
3d03312
cleanup
taylorsw04 Nov 3, 2025
ad2a0ff
fix sizing
taylorsw04 Nov 5, 2025
d29f98c
tests passing
taylorsw04 Nov 5, 2025
ac45d50
check valid
taylorsw04 Nov 5, 2025
8346ea1
cleanup, last bug fix
taylorsw04 Nov 5, 2025
4236cb0
cleanup
taylorsw04 Nov 5, 2025
50cca9d
cleanup
taylorsw04 Nov 5, 2025
90d246c
fix bug, better checkValid
taylorsw04 Nov 5, 2025
2525e60
improve fuzz test perf
taylorsw04 Nov 6, 2025
5f52756
cleanup benchmark tests
taylorsw04 Nov 6, 2025
02d30cf
test cleanup
taylorsw04 Nov 6, 2025
40f9448
cleanup
taylorsw04 Nov 6, 2025
4f8d940
optimizations
taylorsw04 Nov 6, 2025
af1d384
cleanup + perf
taylorsw04 Nov 6, 2025
87bb2b1
cleanup
taylorsw04 Nov 6, 2025
6c07488
optimization
taylorsw04 Nov 6, 2025
5390068
micro optimization
taylorsw04 Nov 6, 2025
225eda7
optimization
taylorsw04 Nov 6, 2025
0579f55
cleanup
taylorsw04 Nov 6, 2025
57e211d
speed up intersect
taylorsw04 Nov 6, 2025
a63a804
perf of decompose
taylorsw04 Nov 6, 2025
da716d3
improve fuzz tests for merge
taylorsw04 Nov 6, 2025
eaf703b
reduce fuzz tests
taylorsw04 Nov 6, 2025
e190e21
test improvement
taylorsw04 Nov 6, 2025
633f687
docs
taylorsw04 Nov 6, 2025
ed46afa
docs and cleanup
taylorsw04 Nov 6, 2025
a485659
docs
taylorsw04 Nov 7, 2025
d652d04
cleanup
taylorsw04 Nov 7, 2025
477b584
cleanup
taylorsw04 Nov 7, 2025
08aaee7
readme update
taylorsw04 Nov 7, 2025
c2e4adf
prep for merge
taylorsw04 Nov 10, 2025
bc443dd
fix spacing
taylorsw04 Nov 11, 2025
68f402b
Merge branch 'master' into set-operations
taylorsw04 Nov 11, 2025
51e5ab5
stub
taylorsw04 Nov 11, 2025
1d8ff80
building
taylorsw04 Nov 12, 2025
31475a3
tests passing
taylorsw04 Nov 12, 2025
cee2208
cleanup
taylorsw04 Nov 12, 2025
d8fdf26
merge -> union
taylorsw04 Nov 12, 2025
a2ae2a5
Move root test into test folder
taylorsw04 Nov 12, 2025
68ff578
split out tests
taylorsw04 Nov 12, 2025
9372868
support ignore right in decompose
taylorsw04 Nov 12, 2025
7a36fa9
default export
taylorsw04 Nov 12, 2025
a1384b6
intersect -> forEachKeyInBoth
taylorsw04 Nov 12, 2025
eca6c4a
verbose tests
taylorsw04 Nov 12, 2025
f7d3cc7
wip
taylorsw04 Nov 12, 2025
7d1bef9
formatting and stub
taylorsw04 Nov 12, 2025
3444fd8
wip
taylorsw04 Nov 12, 2025
ce97fb7
refactor for bulkLoad
taylorsw04 Nov 12, 2025
9c2478d
bulk load impl
taylorsw04 Nov 12, 2025
e5f92d3
wip bulkLoad
taylorsw04 Nov 12, 2025
7a92cb3
bulk load tests
taylorsw04 Nov 12, 2025
1bb07b3
move alternating helpers
taylorsw04 Nov 12, 2025
465cc81
refactor bulkLoad
taylorsw04 Nov 12, 2025
6bf0550
add bulk load to btreeex
taylorsw04 Nov 12, 2025
83f5e7b
cleanup
taylorsw04 Nov 12, 2025
ad1d0ba
export cleanup for decompose
taylorsw04 Nov 12, 2025
0d07f29
cleanup
taylorsw04 Nov 12, 2025
6b12830
renames, prune types
taylorsw04 Nov 12, 2025
03cc59c
cleanup
taylorsw04 Nov 12, 2025
d33e200
cleanup alternating helpers
taylorsw04 Nov 12, 2025
ae96df1
total to sizes
taylorsw04 Nov 12, 2025
070a26a
support early breaking
taylorsw04 Nov 12, 2025
35eb623
wip
taylorsw04 Nov 13, 2025
992675e
debuggability, shuffling imports
taylorsw04 Nov 13, 2025
a6e8c77
Introduce constructor type, add comments
taylorsw04 Nov 13, 2025
38608fb
docs
taylorsw04 Nov 13, 2025
31e0c7c
bug fixe for empty intersect
taylorsw04 Nov 13, 2025
2b2aae8
add intersect to tests
taylorsw04 Nov 13, 2025
b649f4b
add subtract
taylorsw04 Nov 13, 2025
c380f32
add forEachKeyNotIn, cleanup
taylorsw04 Nov 13, 2025
104f358
tests, fixes
taylorsw04 Nov 13, 2025
dd91dd4
bad test
taylorsw04 Nov 13, 2025
683b194
more fixes in subtract
taylorsw04 Nov 14, 2025
f2fe485
un skip fuzz test
taylorsw04 Nov 14, 2025
9665e4b
bulk load fuzz testing
taylorsw04 Nov 14, 2025
b49c8d6
self test for union, fast path
taylorsw04 Nov 14, 2025
9ab59cd
benchmarks
taylorsw04 Nov 14, 2025
93cbb14
benchmark for set ops
taylorsw04 Nov 14, 2025
4262b1c
docs
taylorsw04 Nov 14, 2025
92e30bb
docs
taylorsw04 Nov 14, 2025
59c1270
docs
taylorsw04 Nov 14, 2025
a554d4a
docs
taylorsw04 Nov 14, 2025
ff05eb7
docs
taylorsw04 Nov 14, 2025
94c37c3
docs
taylorsw04 Nov 14, 2025
557dd5e
add new methods
taylorsw04 Nov 14, 2025
68425d6
add intersect to BTreeEx
taylorsw04 Nov 15, 2025
b849d05
add complex set operation fuzz test suite
taylorsw04 Nov 15, 2025
e54ef14
enable test
taylorsw04 Nov 15, 2025
c42b195
fix bug
taylorsw04 Nov 15, 2025
9797206
fix test
taylorsw04 Nov 15, 2025
f7d07ce
improve packing in bulk load
taylorsw04 Nov 17, 2025
f148b39
bulk load doesn't mutate
taylorsw04 Nov 17, 2025
e8aba4e
tests
taylorsw04 Nov 17, 2025
3cca51d
test cleanup
taylorsw04 Nov 17, 2025
999398b
remove default param
taylorsw04 Nov 17, 2025
72e7695
comment fix
taylorsw04 Nov 17, 2025
e8d94ea
update js
taylorsw04 Nov 17, 2025
4b2891e
wip
taylorsw04 Nov 18, 2025
61652df
context obj
taylorsw04 Nov 18, 2025
0e30679
rename
taylorsw04 Nov 18, 2025
5cfd060
all tests passing
taylorsw04 Nov 19, 2025
639780b
add underfilled node stat
taylorsw04 Nov 19, 2025
43d17a7
Merge branch 'set-operations' into no-underfilled-leaves
taylorsw04 Nov 19, 2025
e2bae72
cleanup
taylorsw04 Nov 19, 2025
9443650
wip underfilled removal
taylorsw04 Nov 19, 2025
f87865c
subtraction stuff
taylorsw04 Nov 20, 2025
f3ba889
optimize
taylorsw04 Nov 20, 2025
447ab7f
test cleanup
taylorsw04 Nov 20, 2025
5be34bb
all tests passing
taylorsw04 Nov 20, 2025
206b8b7
test refactor
taylorsw04 Nov 20, 2025
ecef29f
cleanup and reduce unfilled node creation
taylorsw04 Nov 20, 2025
e07d010
wip
taylorsw04 Nov 20, 2025
f5f88b7
refactor
taylorsw04 Nov 21, 2025
fe628c1
refactor subtract tests
taylorsw04 Nov 21, 2025
46b9190
more test improvements
taylorsw04 Nov 21, 2025
3799527
cleanup union tests
taylorsw04 Nov 21, 2025
5658156
Merge branch 'unionTests' into subtractTests
taylorsw04 Nov 21, 2025
69b86e5
cleanup tests
taylorsw04 Nov 21, 2025
d601b3f
update sizes script naming
taylorsw04 Nov 21, 2025
7958c15
cleanup
taylorsw04 Nov 21, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
"request": "launch",
"name": "Jest Tests",
"program": "${workspaceRoot}/node_modules/jest/bin/jest.js",
"args": [ "--runInBand", "--ci", "--bail" ],
"args": [ "--runInBand", "--ci" ],
//"preLaunchTask": "build",
"internalConsoleOptions": "openOnSessionStart",
"outFiles": [
Expand All @@ -24,7 +24,7 @@
"name": "Debug Jest Tests",
"runtimeArgs": [ "--nolazy", "--inspect-brk",
"${workspaceRoot}/node_modules/jest/bin/jest.js",
"--runInBand", "--coverage", "false", "--ci", "--bail" ],
"--runInBand", "--coverage", "false", "--ci" ],
"console": "integratedTerminal",
//"internalConsoleOptions": "openOnSessionStart",
"port": 9229,
Expand All @@ -41,4 +41,4 @@
"port": 9229,
}
]
}
}
1 change: 0 additions & 1 deletion b+tree.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,6 @@ export declare function simpleComparator(a: (number | string)[], b: (number | st
*/
export default class BTree<K = any, V = any> implements ISortedMapF<K, V>, ISortedMap<K, V> {
private _root;
_size: number;
_maxNodeSize: number;
/**
* provides a total order over keys (and a strict partial order over the type K)
Expand Down
169 changes: 136 additions & 33 deletions b+tree.js

Large diffs are not rendered by default.

Loading