Use Stones alias
authorGreg Burri <greg.burri@gmail.com>
Wed, 11 Dec 2024 17:25:51 +0000 (18:25 +0100)
committerGreg Burri <greg.burri@gmail.com>
Wed, 11 Dec 2024 17:25:51 +0000 (18:25 +0100)
src/day11.rs

index c9c39d7..be2f8f8 100644 (file)
@@ -1,10 +1,8 @@
 use std::io::BufRead;
 
-use rustc_hash::FxHashMap;
-
 use crate::utils;
 
-type Stones = FxHashMap<u64, u64>;
+type Stones = rustc_hash::FxHashMap<u64, u64>;
 
 pub fn read(reader: &mut dyn BufRead) -> Stones {
     Stones::from_iter(
@@ -14,15 +12,15 @@ pub fn read(reader: &mut dyn BufRead) -> Stones {
     )
 }
 
-fn add_or_set(map: &mut FxHashMap<u64, u64>, k: u64, n: u64) {
+fn add_or_set(map: &mut Stones, k: u64, n: u64) {
     map.entry(k).and_modify(|v| *v += n).or_insert(n);
 }
 
-pub fn blink(stones: FxHashMap<u64, u64>, i: u32) -> FxHashMap<u64, u64> {
+pub fn blink(stones: Stones, i: u32) -> Stones {
     if i == 0 {
         stones
     } else {
-        let mut next_stones = FxHashMap::<u64, u64>::default();
+        let mut next_stones = Stones::default();
         for (stone, n) in stones {
             if stone == 0 {
                 add_or_set(&mut next_stones, 1, n);