Commit Graph

828 Commits

Author SHA1 Message Date
bert 065fa9cda8 Move Vec2 to common utilities 2022-12-15 09:16:46 +01:00
bert 7de23c3b24 Satiate clippy 2022-12-15 09:09:30 +01:00
bert c66fb86ef9 Implement 2022 day 14 part 2 2022-12-14 22:27:12 +01:00
bert 64757031fb Implement 2022 day 14 part 1 2022-12-14 21:47:11 +01:00
bert f48a02c81c Stream to reduce peak allocations 2022-12-13 18:22:26 +01:00
bert 4b18a733c9 Implement 2022 day 13 2022-12-13 18:15:12 +01:00
bert 796c638300 Document optimization journey 2022-12-12 22:58:56 +01:00
bert f8c6f4e01f Refactor out common code 2022-12-12 22:46:30 +01:00
bert e2d1ec8c91 Bugfix that probably won't affect any actual input 2022-12-12 22:32:41 +01:00
bert d92e77cb88 Reinstroduce the humble index set 2022-12-12 21:52:11 +01:00
bert a4b5390f80 Implement 2022 day 12 2022-12-12 18:39:44 +01:00
bert 6d9defce42 Discover the magic of nom::combinator::value 2022-12-11 22:27:25 +01:00
bert 92db6e56c9 Use multiplication and shift for mod 2022-12-11 22:03:47 +01:00
bert 6a51f123ab Implement 2022 day 11 part 2 2022-12-11 21:13:09 +01:00
bert 9a63adc355 Implement 2022 day 11 part 1 2022-12-11 20:34:47 +01:00
bert a7188186c3 Actually test part two, why not 2022-12-10 22:21:04 +01:00
bert a79eb70581 Cleaner but slightly slower implementation 2022-12-10 22:00:56 +01:00
bert fbfcfa65fb Implement 2022 day 10 2022-12-10 21:50:31 +01:00
bert 20b2fe7684 Remove useless lifetime 2022-12-09 12:00:22 +01:00
bert e45aaad1c4 Faster hash set 2022-12-09 11:43:33 +01:00
bert a44420cbe7 Implement 2022 day 9 2022-12-09 11:22:24 +01:00
bert 44b7b6b1b2 Incorrect implementation for 2022 day 9 2022-12-09 11:09:36 +01:00
bert 79387b5f14 Slightly more efficient O(kn) implementation 2022-12-08 22:40:39 +01:00
bert a05dc588db Implement 2022 day 8 part 2 2022-12-08 12:09:04 +01:00
bert b080859356 Replace todo with error, bench everything 2022-12-08 11:06:59 +01:00
bert fead587b2a Implement 2022 day 8 part 1 2022-12-08 11:01:48 +01:00
bert eec886b5e2 Slightly cleaner parser 2022-12-07 16:01:09 +01:00
bert 45a6c78d77 Remove most allocations 2022-12-07 15:27:30 +01:00
bert e80b5bde68 Implement 2022 day 7 2022-12-07 10:27:06 +01:00
bert 1cd5579bf6 Use iterators instead of explicit indexing 2022-12-06 18:37:38 +01:00
bert 7c7c69255d Replace indirect indexing
230 byte overhead is worth it to avoid conversions and potential
indexing errors
2022-12-06 18:23:43 +01:00
bert 391bba24c5 Use enumerate combinator 2022-12-06 18:19:42 +01:00
bert e887a8ad0d Implement 2022 day 6 2022-12-06 08:29:26 +01:00
bert 38a024d095 Implement 2022 day 5 2022-12-05 11:14:36 +01:00
bert 6802a7bf33 Refactor common parts 2022-12-04 11:18:03 +01:00
bert 9d23e80256 Implement 2022 day 4 2022-12-04 11:14:23 +01:00
bert e1b3b9d179 Implement 2022 day 3 2022-12-03 20:23:14 +01:00
bert 30d1a16075 Collect into vec for nicer vectorization 2022-12-02 09:52:09 +01:00
bert 256d351f8e Implement day 2 2022 2022-12-02 09:06:59 +01:00
bert 48594a75e6 Make parsers more robust 2022-12-01 11:28:59 +01:00
bert 85a51b13c1 Implement 2022 day 1 2022-12-01 09:40:00 +01:00
bert 2ae2d6baa8 Merge pull request #4 from bertptrs/setup-2022 2022-11-30 18:08:54 +01:00
bert 4a55e53182 Update README and references 2022-11-24 08:23:58 +01:00
bert af0897300d Add caching to CI pipeline for speed 2022-11-05 16:17:47 +01:00
bert cabae7b1fd Convert 2021 CI to 2022 2022-11-05 16:17:47 +01:00
bert 0635141ac6 Add skeleton for 2022 2022-11-05 16:17:47 +01:00
bert d9d5947c3b Replace unnecessary Vec with slice 2022-06-07 08:32:59 +02:00
bert cc8b4ce353 Update vulnerable dependencies
Not that this will affect anyone, but it's nice anyway.
2022-06-07 08:25:30 +02:00
bert 0b91da04b3 Add benchmarking plots 2022-01-09 18:41:02 +01:00
bert dba146b299 Avoid instantiating translated sets 2022-01-09 15:45:22 +01:00