From 54c8738a966281e57e4169b6649743b1d57337c8 Mon Sep 17 00:00:00 2001 From: asonix Date: Sun, 26 May 2024 13:48:11 -0500 Subject: [PATCH] Handle choose SIZE == source len --- src/lib.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/lib.rs b/src/lib.rs index 05208b0..5952990 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -156,7 +156,11 @@ impl<'a, T: Clone, const SIZE: usize> Iterator for Choose<'a, T, SIZE> { let numerator = factorial(self.source.len()); let denominator = factorial(SIZE) * factorial(self.source.len() - SIZE); - let size = numerator / denominator; + let size = if denominator == 0 { + 1 + } else { + numerator / denominator + }; (size, Some(size)) }