Choose split axis (min margin sum), then split index (min overlap).
(mut entries: Vec<RTreeEntry>)
| 92 | |
| 93 | /// Choose split axis (min margin sum), then split index (min overlap). |
| 94 | fn 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 | |
| 105 | fn split_internal_children(mut children: Vec<ChildRef>) -> (Vec<ChildRef>, Vec<ChildRef>) { |
| 106 | let min_fill = MIN_FILL_INTERNAL; |
no test coverage detected