Skip to content

Commit 3908024

Browse files
author
Roderick Bovee
committed
Expose choose and b-field build params
1 parent 642260b commit 3908024

File tree

3 files changed

+8
-1
lines changed

3 files changed

+8
-1
lines changed

src/bfield.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,12 @@ impl<'a, T: Clone + DeserializeOwned + Serialize> BField<T> {
121121
})
122122
}
123123

124+
pub fn build_params(&self) -> (u8, u8, u8, Vec<usize>) {
125+
let (_, n_hashes, marker_width, n_marker_bits) = self.members[0].info();
126+
let sizes = self.members.iter().map(|i| i.info().0).collect();
127+
(n_hashes, marker_width, n_marker_bits, sizes)
128+
}
129+
124130
pub fn params(&self) -> &Option<T> {
125131
&self.members[0].params.other
126132
}

src/lib.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,6 @@ mod bfield;
88
mod bfield_member;
99
mod marker;
1010

11+
pub use crate::marker::choose;
1112
pub use crate::bfield::BField;
1213
pub use crate::bfield_member::BFieldVal;

src/marker.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ fn test_to_and_from_marker() {
101101
/// This may overflow for k > 9 (with n = 128), but hopefully
102102
/// that doesn't happen
103103
#[inline]
104-
fn choose(n: u64, k: u8) -> u64 {
104+
pub fn choose(n: u64, k: u8) -> u64 {
105105
match k {
106106
1 => n,
107107
2 => n * (n - 1) / 2,

0 commit comments

Comments
 (0)