Skip to content

Commit 637891c

Browse files
Merge pull request #49 from triblespace/codex/perform-inventory-cleanup-tasks
Flatten bit vector module
2 parents 0ae7056 + d511405 commit 637891c

File tree

15 files changed

+510
-543
lines changed

15 files changed

+510
-543
lines changed

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,10 @@
1818
- Replaced `DArrayFullIndex` with new `DArrayIndex` that uses const generics
1919
to optionally include `select1` and `select0` support.
2020
- Introduced `CompactVectorBuilder` mutable APIs `push_int`, `set_int`, and `extend`.
21+
- Simplified bit vector imports by re-exporting `BitVectorBuilder` and `Rank9SelIndex` and updating examples.
22+
- Moved the `bit_vector::bit_vector` module contents directly into `bit_vector` for cleaner paths.
2123
- Added README usage example demonstrating basic bit vector operations.
24+
- Removed `bit_vector::prelude`; import traits directly with `use jerky::bit_vector::*`.
2225
- Added `freeze()` on `CompactVectorBuilder` yielding an immutable `CompactVector` backed by `BitVector<NoIndex>`.
2326
- `CompactVector::new` and `with_capacity` now return builders; other constructors build via the builder pattern.
2427
- Wavelet matrix and DACs builders now use `BitVectorBuilder` for temporary bit

INVENTORY.md

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,3 @@
1010

1111
## Discovered Issues
1212
- `katex.html` performs manual string replacements; consider DOM-based manipulation.
13-
- bit_vector prelude lacks common types like `BitVectorBuilder` and `Rank9SelIndex`,
14-
forcing verbose imports in examples.
15-
- Import paths for `BitVectorBuilder` include a redundant `bit_vector` module
16-
segment, e.g. `jerky::bit_vector::bit_vector::BitVectorBuilder`.
17-
Cleanup the module layout so examples only need `jerky::bit_vector`.

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ The snippet below shows how to build a bit vector with a rank/select index and
3636
perform a few basic queries:
3737

3838
```rust
39-
use jerky::bit_vector::{bit_vector::BitVectorBuilder, rank9sel::inner::Rank9SelIndex, prelude::*};
39+
use jerky::bit_vector::*;
4040

4141
fn main() -> Result<(), Box<dyn std::error::Error>> {
4242
let mut builder = BitVectorBuilder::new();

bench/benches/timing_bitvec_rank.rs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,7 @@ use criterion::{
77
criterion_group, criterion_main, measurement::WallTime, BenchmarkGroup, Criterion, SamplingMode,
88
};
99

10-
use jerky::bit_vector::bit_vector::BitVectorBuilder;
11-
use jerky::bit_vector::rank9sel::inner::Rank9SelIndex;
12-
use jerky::bit_vector::{BitVector, NoIndex, Rank};
10+
use jerky::bit_vector::{BitVector, BitVectorBuilder, NoIndex, Rank, Rank9SelIndex};
1311

1412
const SAMPLE_SIZE: usize = 30;
1513
const WARM_UP_TIME: Duration = Duration::from_secs(5);

bench/benches/timing_bitvec_select.rs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,7 @@ use rand_chacha::ChaChaRng;
66
use criterion::{
77
criterion_group, criterion_main, measurement::WallTime, BenchmarkGroup, Criterion, SamplingMode,
88
};
9-
use jerky::bit_vector::bit_vector::BitVectorBuilder;
10-
use jerky::bit_vector::rank9sel::inner::Rank9SelIndex;
11-
use jerky::bit_vector::{BitVector, NoIndex, Select};
9+
use jerky::bit_vector::{BitVector, BitVectorBuilder, NoIndex, Rank9SelIndex, Select};
1210

1311
const SAMPLE_SIZE: usize = 30;
1412
const WARM_UP_TIME: Duration = Duration::from_secs(5);

bench/benches/timing_chrseq_access.rs

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,7 @@ use std::time::Duration;
33
use rand::{Rng, SeedableRng};
44
use rand_chacha::ChaChaRng;
55

6-
use jerky::bit_vector::bit_vector::BitVectorBuilder;
7-
use jerky::bit_vector::prelude::*;
8-
use jerky::bit_vector::rank9sel::inner::Rank9SelIndex;
9-
use jerky::bit_vector::{BitVector, NoIndex};
6+
use jerky::bit_vector::*;
107
use jerky::char_sequences::WaveletMatrix;
118
use jerky::int_vectors::CompactVector;
129

bench/src/mem_bitvec.rs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
1-
use jerky::bit_vector::bit_vector::BitVectorBuilder;
2-
use jerky::bit_vector::rank9sel::inner::Rank9SelIndex;
3-
use jerky::bit_vector::BitVector;
1+
use jerky::bit_vector::{BitVector, BitVectorBuilder, Rank9SelIndex};
42
use rand::{Rng, SeedableRng};
53
use rand_chacha::ChaChaRng;
64

bench/src/mem_chrseq.rs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
1-
use jerky::bit_vector::bit_vector::BitVectorBuilder;
2-
use jerky::bit_vector::rank9sel::inner::Rank9SelIndex;
3-
use jerky::bit_vector::{BitVector, NoIndex, Rank};
1+
use jerky::bit_vector::{BitVector, BitVectorBuilder, NoIndex, Rank, Rank9SelIndex};
42
use jerky::char_sequences::WaveletMatrix;
53
use jerky::int_vectors::CompactVector;
64

0 commit comments

Comments
 (0)