MCPcopy Create free account
hub / github.com/NodeDB-Lab/nodedb / split_leaf_entries

Function split_leaf_entries

nodedb-spatial/src/rtree/split.rs:94–103  ·  view source on GitHub ↗

Choose split axis (min margin sum), then split index (min overlap).

(mut entries: Vec<RTreeEntry>)

Source from the content-addressed store, hash-verified

92
93/// Choose split axis (min margin sum), then split index (min overlap).
94fn split_leaf_entries(mut entries: Vec<RTreeEntry>) -> (Vec<RTreeEntry>, Vec<RTreeEntry>) {
95 let min_fill = MIN_FILL_LEAF;
96 let best_axis = choose_best_axis_leaf(&mut entries, min_fill);
97
98 sort_entries_by_axis(&mut entries, best_axis);
99 let best_k = choose_best_split_leaf(&entries, min_fill);
100
101 let split_off = entries.split_off(best_k);
102 (entries, split_off)
103}
104
105fn split_internal_children(mut children: Vec<ChildRef>) -> (Vec<ChildRef>, Vec<ChildRef>) {
106 let min_fill = MIN_FILL_INTERNAL;

Callers 1

split_nodeFunction · 0.85

Calls 3

choose_best_axis_leafFunction · 0.85
sort_entries_by_axisFunction · 0.85
choose_best_split_leafFunction · 0.85

Tested by

no test coverage detected