We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
try_fold
CompleteState::remaining
1 parent bef0014 commit 58a25fbCopy full SHA for 58a25fb
src/permutations.rs
@@ -240,20 +240,16 @@ impl CompleteState {
240
if n < k {
241
return Some(0);
242
}
243
- (n - k + 1..=n).fold(Some(1), |acc, i| {
244
- acc.and_then(|acc| acc.checked_mul(i))
245
- })
+ (n - k + 1..=n).try_fold(1usize, |acc, i| acc.checked_mul(i))
246
247
CompleteState::Ongoing { ref indices, ref cycles } => {
248
- let mut count: usize = 0;
249
-
250
- for (i, &c) in cycles.iter().enumerate() {
251
- let radix = indices.len() - i;
252
- count = count.checked_mul(radix)
253
- .and_then(|count| count.checked_add(c))?;
254
- }
255
256
- Some(count)
+ cycles
+ .iter()
+ .enumerate()
+ .try_fold(0usize, |acc, (i, &c)| {
+ acc.checked_mul(indices.len() - i)
+ .and_then(|count| count.checked_add(c))
+ })
257
258
259
0 commit comments