8904485679
Implement a small elf-script to C transpiler.
2018-12-20 17:57:13 +01:00
1355a05d2c
Implement day 20.
2018-12-20 14:21:20 +01:00
1424c5bfbd
Slightly increase optimized section.
2018-12-19 12:30:02 +01:00
f5058453bf
Benchmarking for day 19.
2018-12-19 11:58:31 +01:00
9d1fdc63c9
More cleanup.
2018-12-19 08:25:15 +01:00
68c5809e43
Update LOC.
2018-12-19 07:54:13 +01:00
c554811fda
Clean up day 16 and 19.
...
Day 16 and 19 share the same CPU and now they actually share the same
code for it.
2018-12-19 07:53:09 +01:00
cb99849143
Implement day 19.
...
With nice hotspot optimization for part 2.
2018-12-19 07:12:46 +01:00
1e26ad1168
Correctness.
...
From::from may never fail, so I added an invalid state.
2018-12-18 20:00:40 +01:00
ea31a088b0
Merge branch '2018-benchmarking'
2018-12-18 16:22:34 +01:00
477aaccc54
Use a macro for benchmarking.
...
With this macro the code needed for a new benchmark is minimal, but not
small enough IMO. Unfortunately, a better version would require
concat_ident, which is not going to happen soon.
2018-12-18 15:54:11 +01:00
cc72c481cc
Initial work on writing benchmarks.
2018-12-18 13:56:34 +01:00
0b69a74cff
Formatting and LOC update.
2018-12-18 12:06:27 +01:00
89816ae2d7
Implement day 18.
...
Curiously, it reminds me of some other day involving plants.
2018-12-18 12:03:05 +01:00
33f32fc1ac
Update LOC count
2018-12-17 12:31:29 +01:00
f23624c456
Fix all clippy warnings.
2018-12-17 12:26:31 +01:00
851868bed4
Even more clean up.
...
Removed duplicated code in the descend stage and moved it to different
functions. Also, range finders are no longer technically infinite, but
are assumed to be.
2018-12-17 11:45:23 +01:00
a632bdff10
Clean up.
2018-12-17 08:33:16 +01:00
f175584ccf
Update LOC graph.
2018-12-17 08:19:37 +01:00
45a8b38ad4
Implement day 17.
...
Today was a nice exercise, and I got to be somewhat fast too. Number 328/314.
2018-12-17 08:18:25 +01:00
eaa868017d
Elaborate on tests.
2018-12-16 16:31:17 +01:00
fbac0fb7f7
Update README.
...
README now includes a small graphic with the lines of code per day.
2018-12-16 16:27:29 +01:00
718fd72cef
Implement day 16 part 2.
2018-12-16 16:19:37 +01:00
4fa6998369
Implement day 16 part 1.
2018-12-16 11:12:32 +01:00
5b87c12b5f
Remove numpy dependency.
2018-12-16 00:20:08 +01:00
ed77e30cbf
Add a plotting script for how terrible simulations are.
2018-12-15 23:24:36 +01:00
7369fd2290
Small improvement to day 15.
2018-12-15 22:25:59 +01:00
14a766f6f2
Implement day 15 part 2.
2018-12-15 22:16:30 +01:00
10918a62ad
Fix day 15 part 1.
2018-12-15 21:12:58 +01:00
ae51e3c114
Clean up and simplify.
...
The idea is that this makes it easier to debug. I'm not sure it does
yet.
2018-12-15 19:12:33 +01:00
44e5c38268
Attempt to fix Ubuntu incompatibility.
2018-12-15 18:11:16 +01:00
baf07a7eaf
Reuse manhattan implementation from common.
2018-12-15 18:08:42 +01:00
069e381aeb
Partial solution for day 15 part 1.
...
Partial in the sense that it doesn't actually work for my input, only
for the samples.
2018-12-15 18:02:16 +01:00
bcccc85073
Reimplement day 14 with infinite streams.
2018-12-14 14:48:53 +01:00
ccdbea4a1c
Off-by-one bug fix
2018-12-14 12:02:27 +01:00
5c4646b323
Clean up.
2018-12-14 11:48:48 +01:00
f4a7b06d47
Reuse input helper.
2018-12-14 11:42:44 +01:00
98da0a9857
Implement day 14.
2018-12-14 11:37:30 +01:00
faf3ad90d9
Make day 12 even more rusty.
2018-12-13 14:55:30 +01:00
0de6e22a00
Deduplicate day 12.
2018-12-13 14:47:00 +01:00
91f0ec55f1
Slightly cleaned up by using structs.
2018-12-13 11:44:18 +01:00
e6c8c6b100
Implement a very ugly part 2.
2018-12-13 11:24:03 +01:00
973c9ed63b
Add a part1 implementation and wrong part2.
2018-12-13 10:52:32 +01:00
e22f934ea6
Remove code duplication.
2018-12-12 16:12:26 +01:00
8340f2c8fa
Preallocate correct state length.
2018-12-12 13:08:35 +01:00
247613555b
Implement day 12 part 2.
...
This in no way should work, but it does, at least for my input.
2018-12-12 12:44:27 +01:00
fd3e509841
Implement part 1 of day 12.
...
Part two is going to take 31 hours of computation, so I might need to
improve that.
2018-12-12 11:30:45 +01:00
b245e0911d
Implement the summed-area-table algorithm.
...
Which is somewhat awkward for the edge cases (that are not in my input!)
but is really fast anyway.
2018-12-11 18:14:15 +01:00
4b8255728c
Remove an invalid optimization.
2018-12-11 15:49:39 +01:00
59be8e9d7a
Implement day 11 part 2.
2018-12-11 11:06:20 +01:00