mtree_test_erase(mt, 12); // 0x5
mtree_test_store(mt , 2, (void *)0x5); // -17
mtree_test_load(mt, 22); // 0x9
+ mtree_destroy(mt);
+
+
+ /*
+ * 8. When rebalancing or spanning_rebalance(), the max of the new node
+ * may be set incorrectly to the final pivot and not the right max.
+ * Fix by setting the left max to orig right max if the entire node is
+ * consumed.
+ */
+ mt_init_flags(mt, 0);
+ mtree_test_store(mt , 6, (void *)0xd); // 0
+ mtree_test_store(mt , 67, (void *)0x87); // 0
+ mtree_test_insert(mt, 15, (void *)0x1f); // 0
+ mtree_test_insert(mt, 6716, (void *)0x3479); // 0
+ mtree_test_store(mt , 61, (void *)0x7b); // 0
+ mtree_test_insert(mt, 13, (void *)0x1b); // 0
+ mtree_test_store(mt , 8, (void *)0x11); // 0
+ mtree_test_insert(mt, 1, (void *)0x3); // 0
+ mtree_test_load(mt, 0); // (nil)
+ mtree_test_erase(mt, 67167); // (nil)
+ mtree_test_insert_range(mt, 6, 7167, (void *)0xd); // 0
+ mtree_test_insert(mt, 6, (void *)0xd); // -17
+ mtree_test_erase(mt, 67); // (nil)
+ mtree_test_insert(mt, 1, (void *)0x3); // -17
+ mtree_test_erase(mt, 667167); // 0x87
+ mtree_test_insert(mt, 6, (void *)0xd); // -17
+ mtree_test_store(mt , 67, (void *)0x87); // -17
+ mtree_test_insert(mt, 5, (void *)0xb); // 0
+ mtree_test_erase(mt, 1); // 0x3479
+ mtree_test_insert(mt, 6, (void *)0xd); // 0
+ mtree_test_erase(mt, 67); // 0x3
+ mtree_test_insert(mt, 15, (void *)0x1f); // -17
+ mtree_test_insert(mt, 67167, (void *)0x20cbf); // -17
+ mtree_test_insert(mt, 1, (void *)0x3); // 0
+ mtree_test_load(mt, 7); // 0x87
+ mtree_test_insert(mt, 16, (void *)0x21); // 0
+ mtree_test_insert(mt, 36, (void *)0x49); // 0
+ mtree_test_store(mt , 67, (void *)0x87); // 0
+ mtree_test_store(mt , 6, (void *)0xd); // 0
+ mtree_test_insert(mt, 367, (void *)0x2df); // 0
+ mtree_test_insert(mt, 115, (void *)0xe7); // 0
+ mtree_test_store(mt , 0, (void *)0x1); // 0
+ mtree_test_store_range(mt, 1, 3, (void *)0x3); // 0
+ mtree_test_store(mt , 1, (void *)0x3); // 0
+ mtree_test_erase(mt, 67167); // (nil)
+ mtree_test_insert_range(mt, 6, 47, (void *)0xd); // 0
+ mtree_test_store(mt , 1, (void *)0x3); // -17
+ mtree_test_insert_range(mt, 1, 67, (void *)0x3); // 0
+ mtree_test_load(mt, 67); // 0x20cbf
+ mtree_test_insert(mt, 1, (void *)0x3); // -17
+ mtree_test_erase(mt, 67167); // 0x87
}
static DEFINE_MTREE(tree);