MCPcopy Create free account
hub / github.com/bytecodealliance/wasmtime / level3_removes

Function level3_removes

cranelift/bforest/src/map.rs:1303–1331  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

1301
1302 #[test]
1303 fn level3_removes() {
1304 let f = &mut MapForest::<u32, f32>::new();
1305 let mut m = level3_sparse(f);
1306 m.verify(f, &());
1307
1308 // Check geometry.
1309 // Root: node11
1310 // [ node2 170 node10 330 node16 490 node21 650 node26 810 node31 970 node36 1130 node41 ]
1311 // L1: node11
1312 assert_eq!(m.tpath(0, f, &()), "node11[0]--node2[0]--node0[0]");
1313 assert_eq!(m.tpath(10000, f, &()), "node11[7]--node41[4]--node40[4]");
1314
1315 // 650 is a critical key in the middle of the root.
1316 assert_eq!(m.tpath(640, f, &()), "node11[3]--node21[3]--node19[3]");
1317 assert_eq!(m.tpath(650, f, &()), "node11[4]--node26[0]--node20[0]");
1318
1319 // Deleting 640 triggers a rebalance from node19 to node 20, cascading to n21 -> n26.
1320 assert_eq!(m.remove(640, f, &()), Some(64.0));
1321 m.verify(f, &());
1322 assert_eq!(m.tpath(650, f, &()), "node11[3]--node26[3]--node20[3]");
1323
1324 // 1130 is in the first leaf of the last L1 node. Deleting it triggers a rebalance node35
1325 // -> node37, but no rebalance above where there is no right sibling.
1326 assert_eq!(m.tpath(1130, f, &()), "node11[6]--node41[0]--node35[0]");
1327 assert_eq!(m.tpath(1140, f, &()), "node11[6]--node41[0]--node35[1]");
1328 assert_eq!(m.remove(1130, f, &()), Some(113.0));
1329 m.verify(f, &());
1330 assert_eq!(m.tpath(1140, f, &()), "node11[6]--node41[0]--node37[0]");
1331 }
1332
1333 #[test]
1334 fn insert_many() {

Callers

nothing calls this directly

Calls 3

level3_sparseFunction · 0.85
newFunction · 0.50
verifyMethod · 0.45

Tested by

no test coverage detected