Skip to content

Commit c74e307

Browse files
committed
Update choose_k.rs
1 parent 2ee80da commit c74e307

1 file changed

Lines changed: 6 additions & 0 deletions

File tree

crates/consistent-choose-k/src/choose_k.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,10 @@ impl<H: ManySeqBuilder> ConsistentChooseKHasher<H> {
112112
/// being replaced with. Returns the index of the new largest sample.
113113
///
114114
/// Time: O(k)
115+
///
116+
/// Panics: if `n` is already at most `k`.
115117
pub fn shrink_n(&mut self) -> usize {
118+
assert!(self.n > self.k());
116119
let n = self.samples.last().expect("samples must not be empty").pos;
117120
self.n = n;
118121
self.shrink_n_inner(n)
@@ -143,7 +146,10 @@ impl<H: ManySeqBuilder> ConsistentChooseKHasher<H> {
143146
/// element was inserted (i.e. its rank position).
144147
///
145148
/// Time: O(k)
149+
///
150+
/// Panics: if `k` equals `n`.
146151
pub fn grow_k(&mut self) -> usize {
152+
assert!(self.k() < self.n);
147153
let k = self.samples.len();
148154
let sk = Sample::new(self.get_sample(k, self.n), k);
149155
if let Some(last) = self.samples.last().copied() {

0 commit comments

Comments
 (0)