Stefan Müller
ba1cefc371
Added solution for "Day 17: Clumsy Crucible", part 1
2024-06-19 22:38:24 +02:00
Stefan Müller
0ccb047312
Fixed test project unit order
2024-06-17 14:01:53 +02:00
Stefan Müller
3e7943056a
Added new alternative data path `..\..\data`
2024-06-17 14:01:23 +02:00
Stefan Müller
f66e3fc2d8
Removed full data test cases
...
Providing full access to the solver code is the purpose of this project
repository. However, I think there should be some work in getting to
the actual solutions to not open the doors to abuse.
2024-06-17 14:00:22 +02:00
Stefan Müller
e81df9d558
Added test categories to all registered test cases
2024-06-10 20:24:05 +02:00
Stefan Müller
c5ea70ed21
Added solution for "Day 25: Snowverload", part 1
2024-06-04 17:14:24 +02:00
Stefan Müller
216839c98b
Fixed copyright date
2024-06-03 20:52:42 +02:00
Stefan Müller
859a5db921
Merge branch 'day24-analytical'
2024-05-27 02:53:03 +02:00
Stefan Müller
3e3e1d45d3
Added solution "Day 24: Never Tell Me The Odds", part 2
2024-05-27 02:29:49 +02:00
Stefan Müller
5f93ad7869
Added bisection variant for integers instead of intervals
2024-05-26 18:59:47 +02:00
Stefan Müller
7db8f948c5
Changed TPolynomialRoots.BisectIsolation return type to array
2024-05-26 17:34:18 +02:00
Stefan Müller
8d4a5c2ed8
Changed root finder to use base-2 exponent of bound
...
Since the root isolation algorithm uses a power of two as bound anyway,
it makes sense to use it's exponent in method interfaces and throughout
the algorithm. This simplifies multiplications to cheap shifts and will
make it easier to detect when the isolating interval size is 1.
Also added some method documentation.
2024-05-26 17:31:37 +02:00
Stefan Müller
04e1702a2e
Added TBigIntPolynomial.ScaleVariableByPowerOfTwo
2024-05-26 16:59:16 +02:00
Stefan Müller
ab453b347d
Renamed root finding class and methods, now class methods
2024-05-26 14:23:31 +02:00
Stefan Müller
ae30889bbb
Fixed calculation of root-isolating intervals and tests
2024-05-25 02:51:00 +02:00
Stefan Müller
fa5616f3cc
Fixed initializer of zero polynomial
2024-05-25 02:35:55 +02:00
Stefan Müller
baa1f8f31f
Added bisection root finding algorithm with custom upper bound
2024-05-24 20:47:52 +02:00
Stefan Müller
53e3922654
Updated bisection root finding algorithm and test case
2024-05-24 20:22:06 +02:00
Stefan Müller
cbaffbf55e
Added TBigIntPolynomial methods needed for bisection algorithm
2024-05-24 12:03:25 +02:00
Stefan Müller
6802da1743
Merge branch 'bigint' into day24-analytical
2024-05-23 22:03:41 +02:00
Stefan Müller
2df8266d42
Added some improvements for TBigInt shift left operator
2024-05-23 22:01:25 +02:00
Stefan Müller
4329041353
Added TBigInt shift right operator and tests
2024-05-23 22:00:45 +02:00
Stefan Müller
9d444272e0
Merge branch 'bigint' into day24-analytical
2024-05-20 15:04:32 +02:00
Stefan Müller
52cee73123
Added TBigInt.GetMostSignificantBitIndex and tests
2024-05-20 15:03:54 +02:00
Stefan Müller
afefbf46e3
Removed main project unit refs from FPCUnit project
2024-05-20 01:05:16 +02:00
Stefan Müller
c25317c0fc
Merge branch 'bigint' into day24-analytical
2024-05-16 17:14:00 +02:00
Stefan Müller
62887ad1d7
Fixed BigInt multiplication test cases
2024-05-16 17:08:44 +02:00
Stefan Müller
df8b5c32fd
Fixed BigInt test cases
2024-05-14 16:52:32 +02:00
Stefan Müller
eee05a9646
Added BigInt test cases (many broken)
2024-05-13 18:20:23 +02:00
Stefan Müller
53827acf9b
Added new unit for polynomial root finding algorithm
2024-05-13 15:22:18 +02:00
Stefan Müller
0bbae0a83e
Added polynomial degree and coefficients as public properties
2024-05-13 15:22:18 +02:00
Stefan Müller
5808ec24f2
Added polynomials
2024-05-13 15:21:58 +02:00
Stefan Müller
5b0a7996c5
Changed some of the expected input file names to stay closer to the day titles
2024-02-22 22:54:45 +01:00
Stefan Müller
801f8aa643
Added support for multiple data root paths
2024-02-22 22:26:31 +01:00
Stefan Müller
44c2c845e0
Added WIP analytical solution attempt
2024-02-21 21:05:34 +01:00
Stefan Müller
824ec0e29b
Added error handling for missing data files
2024-02-21 20:59:21 +01:00
Stefan Müller
fb3f41a6af
Added solution for "Day 24: Never Tell Me The Odds", part 1
2023-12-26 19:46:35 +01:00
Stefan Müller
5495b32692
Added solution for "Day 23: A Long Walk", part 1
2023-12-25 00:44:13 +01:00
Stefan Müller
c3ecaf59fa
Added custom constructors for TCosmicExpansion and TStepCounter to simplify test case setup
2023-12-23 20:16:18 +01:00
Stefan Müller
2bb89c952b
Added solution for "Day 22: Sand Slabs", part 2
2023-12-23 20:08:10 +01:00
Stefan Müller
7b77846abc
Added solution for "Day 22: Sand Slabs", part 1
2023-12-23 01:30:41 +01:00
Stefan Müller
4e28a7a4c2
Removed or unregistered tests for incomplete solutions
2023-12-21 21:14:50 +01:00
Stefan Müller
9855a38e50
Fixed missing visibility modifier on TFactor10CosmicExpansion test class
2023-12-21 21:12:18 +01:00
Stefan Müller
bc2568756b
Added solution for "Day 21: Step Counter", part 1
2023-12-21 21:11:31 +01:00
Stefan Müller
55f8f3d674
Added solution for "Day 20: Pulse Propagation", part 1
2023-12-21 16:14:00 +01:00
Stefan Müller
b2bfbf1993
Added solution for "Day 19: Aplenty", part 2
2023-12-20 19:25:21 +01:00
Stefan Müller
c3019613bd
Added solution for "Day 19: Aplenty", part 1
2023-12-20 11:41:17 +01:00
Stefan Müller
58da932860
Added empty skeleton implementations and tests for days 17, 18, and 19
2023-12-19 17:57:58 +01:00
Stefan Müller
01ec0be32c
Added solution for "Day 16: The Floor Will Be Lava", part 2
2023-12-19 17:26:18 +01:00
Stefan Müller
58c677f409
Added solution for "Day 16: The Floor Will Be Lava", part 1
2023-12-19 13:11:39 +01:00