diff --git a/lib/primes/Cargo.toml b/lib/primes/Cargo.toml index 0bdd18b..7a66359 100644 --- a/lib/primes/Cargo.toml +++ b/lib/primes/Cargo.toml @@ -11,7 +11,6 @@ num = "*" [dev-dependencies] criterion = "*" - [[bench]] name = "benchmark" harness = false diff --git a/src/euler54/Cargo.toml b/src/euler54/Cargo.toml index bda6e5d..45649ff 100644 --- a/src/euler54/Cargo.toml +++ b/src/euler54/Cargo.toml @@ -11,8 +11,6 @@ path = "src/lib.rs" name = "euler54" path = "src/main.rs" -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html - [dependencies] rstest = "*" @@ -21,6 +19,8 @@ criterion = "*" [profile.release] debug = true +lto = true +codegen-units = 1 [[bench]] name = "benchmark" diff --git a/src/euler54/src/card.rs b/src/euler54/src/card.rs index 087be29..cd07939 100644 --- a/src/euler54/src/card.rs +++ b/src/euler54/src/card.rs @@ -51,10 +51,7 @@ impl Cards { } pub fn have_matching_suits(&self) -> bool { - self.array[1..] - .iter() - .zip(self.array[..4].iter()) - .all(|(c1, c2)| c1.suit == c2.suit) + self.suit_hashset.len() == 1 } pub fn contain_all_values_of(&self, values: &Values) -> bool {