1
Fork 0
This commit is contained in:
bjorn3 2025-02-08 22:12:13 +00:00
parent 3183b44a1e
commit 1fcae03369
287 changed files with 5888 additions and 4608 deletions

View file

@ -118,11 +118,10 @@ fn chunked_bitset() {
//-----------------------------------------------------------------------
let mut b1 = ChunkedBitSet::<usize>::new_empty(1);
assert_eq!(b1, ChunkedBitSet {
domain_size: 1,
chunks: Box::new([Zeros(1)]),
marker: PhantomData
});
assert_eq!(
b1,
ChunkedBitSet { domain_size: 1, chunks: Box::new([Zeros(1)]), marker: PhantomData }
);
b1.assert_valid();
assert!(!b1.contains(0));
@ -141,11 +140,10 @@ fn chunked_bitset() {
//-----------------------------------------------------------------------
let mut b100 = ChunkedBitSet::<usize>::new_filled(100);
assert_eq!(b100, ChunkedBitSet {
domain_size: 100,
chunks: Box::new([Ones(100)]),
marker: PhantomData
});
assert_eq!(
b100,
ChunkedBitSet { domain_size: 100, chunks: Box::new([Ones(100)]), marker: PhantomData }
);
b100.assert_valid();
for i in 0..100 {
@ -160,17 +158,20 @@ fn chunked_bitset() {
);
assert_eq!(b100.count(), 97);
assert!(!b100.contains(20) && b100.contains(30) && !b100.contains(99) && b100.contains(50));
assert_eq!(b100.chunks(), vec![Mixed(
100,
97,
#[rustfmt::skip]
assert_eq!(
b100.chunks(),
vec![Mixed(
100,
97,
#[rustfmt::skip]
Rc::new([
0b11111111_11111111_11111110_11111111_11111111_11101111_11111111_11111111,
0b00000000_00000000_00000000_00000111_11111111_11111111_11111111_11111111,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0,
])
)],);
)],
);
b100.assert_valid();
let mut num_removed = 0;
for i in 0..100 {
@ -185,11 +186,14 @@ fn chunked_bitset() {
//-----------------------------------------------------------------------
let mut b2548 = ChunkedBitSet::<usize>::new_empty(2548);
assert_eq!(b2548, ChunkedBitSet {
domain_size: 2548,
chunks: Box::new([Zeros(2048), Zeros(500)]),
marker: PhantomData,
});
assert_eq!(
b2548,
ChunkedBitSet {
domain_size: 2548,
chunks: Box::new([Zeros(2048), Zeros(500)]),
marker: PhantomData,
}
);
b2548.assert_valid();
b2548.insert(14);
@ -206,11 +210,14 @@ fn chunked_bitset() {
//-----------------------------------------------------------------------
let mut b4096 = ChunkedBitSet::<usize>::new_empty(4096);
assert_eq!(b4096, ChunkedBitSet {
domain_size: 4096,
chunks: Box::new([Zeros(2048), Zeros(2048)]),
marker: PhantomData,
});
assert_eq!(
b4096,
ChunkedBitSet {
domain_size: 4096,
chunks: Box::new([Zeros(2048), Zeros(2048)]),
marker: PhantomData,
}
);
b4096.assert_valid();
for i in 0..4096 {
@ -240,11 +247,14 @@ fn chunked_bitset() {
//-----------------------------------------------------------------------
let mut b10000 = ChunkedBitSet::<usize>::new_empty(10000);
assert_eq!(b10000, ChunkedBitSet {
domain_size: 10000,
chunks: Box::new([Zeros(2048), Zeros(2048), Zeros(2048), Zeros(2048), Zeros(1808),]),
marker: PhantomData,
});
assert_eq!(
b10000,
ChunkedBitSet {
domain_size: 10000,
chunks: Box::new([Zeros(2048), Zeros(2048), Zeros(2048), Zeros(2048), Zeros(1808),]),
marker: PhantomData,
}
);
b10000.assert_valid();
assert!(b10000.insert(3000) && b10000.insert(5000));

View file

@ -29,21 +29,19 @@ fn index_size_is_optimized() {
#[test]
fn range_iterator_iterates_forwards() {
let range = MyIdx::from_u32(1)..MyIdx::from_u32(4);
assert_eq!(range.collect::<Vec<_>>(), [
MyIdx::from_u32(1),
MyIdx::from_u32(2),
MyIdx::from_u32(3)
]);
assert_eq!(
range.collect::<Vec<_>>(),
[MyIdx::from_u32(1), MyIdx::from_u32(2), MyIdx::from_u32(3)]
);
}
#[test]
fn range_iterator_iterates_backwards() {
let range = MyIdx::from_u32(1)..MyIdx::from_u32(4);
assert_eq!(range.rev().collect::<Vec<_>>(), [
MyIdx::from_u32(3),
MyIdx::from_u32(2),
MyIdx::from_u32(1)
]);
assert_eq!(
range.rev().collect::<Vec<_>>(),
[MyIdx::from_u32(3), MyIdx::from_u32(2), MyIdx::from_u32(1)]
);
}
#[test]