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

Function range

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

Source from the content-addressed store, hash-verified

1469
1470 #[test]
1471 fn range() {
1472 let mut f = MapForest::<u32, f32>::new();
1473 let mut m = Map::<u32, f32>::new();
1474
1475 for i in 10..20 {
1476 m.insert(i, i as f32, &mut f, &());
1477 }
1478
1479 assert_eq!(
1480 m.range(.., &f, &()).collect::<Vec<_>>(),
1481 vec![
1482 (10, 10.0),
1483 (11, 11.0),
1484 (12, 12.0),
1485 (13, 13.0),
1486 (14, 14.0),
1487 (15, 15.0),
1488 (16, 16.0),
1489 (17, 17.0),
1490 (18, 18.0),
1491 (19, 19.0),
1492 ],
1493 );
1494
1495 assert_eq!(
1496 m.range(5..12, &f, &()).collect::<Vec<_>>(),
1497 vec![(10, 10.0), (11, 11.0)],
1498 );
1499
1500 assert_eq!(
1501 m.range(18..30, &f, &()).collect::<Vec<_>>(),
1502 vec![(18, 18.0), (19, 19.0)],
1503 );
1504
1505 assert_eq!(
1506 m.range(..13, &f, &()).collect::<Vec<_>>(),
1507 vec![(10, 10.0), (11, 11.0), (12, 12.0)],
1508 );
1509
1510 assert_eq!(
1511 m.range(18.., &f, &()).collect::<Vec<_>>(),
1512 vec![(18, 18.0), (19, 19.0)],
1513 );
1514
1515 assert_eq!(
1516 m.range(12..=15, &f, &()).collect::<Vec<_>>(),
1517 vec![(12, 12.0), (13, 13.0), (14, 14.0), (15, 15.0)],
1518 );
1519
1520 // Check when the query range is outside the entry range.
1521 assert_eq!(m.range(0..5, &f, &()).collect::<Vec<_>>(), vec![]);
1522 assert_eq!(m.range(30..40, &f, &()).collect::<Vec<_>>(), vec![]);
1523
1524 // Check when the query range's start and end land in between entries.
1525 for i in 30..40 {
1526 if i % 2 == 0 {
1527 m.insert(i, i as f32, &mut f, &());
1528 }

Callers

nothing calls this directly

Calls 2

newFunction · 0.50
insertMethod · 0.45

Tested by

no test coverage detected