Skip to content

Commit e27b3ee

Browse files
phimuemueronnodas
authored andcommitted
Treat k==0 less special
1 parent 25c1eff commit e27b3ee

File tree

1 file changed

+10
-9
lines changed

1 file changed

+10
-9
lines changed

src/permutations.rs

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -66,18 +66,19 @@ where
6666
fn next(&mut self) -> Option<Self::Item> {
6767
let Self { vals, state } = self;
6868
match state {
69-
PermutationState::Start { k: 0 } => {
70-
*state = PermutationState::End;
71-
Some(Vec::new())
72-
}
7369
&mut PermutationState::Start { k } => {
74-
vals.prefill(k);
75-
if vals.len() != k {
70+
if k == 0 {
7671
*state = PermutationState::End;
77-
return None;
72+
Some(Vec::new())
73+
} else {
74+
vals.prefill(k);
75+
if vals.len() != k {
76+
*state = PermutationState::End;
77+
return None;
78+
}
79+
*state = PermutationState::Buffered { k, min_n: k };
80+
Some(vals[0..k].to_vec())
7881
}
79-
*state = PermutationState::Buffered { k, min_n: k };
80-
Some(vals[0..k].to_vec())
8182
}
8283
PermutationState::Buffered { ref k, min_n } => {
8384
if vals.get_next() {

0 commit comments

Comments
 (0)