7b33e8b406
Added solution for "Day 17: Clumsy Crucible", part 2
2024-06-25 22:22:52 +02:00
ba1cefc371
Added solution for "Day 17: Clumsy Crucible", part 1
2024-06-19 22:38:24 +02:00
0ccb047312
Fixed test project unit order
2024-06-17 14:01:53 +02:00
3e7943056a
Added new alternative data path ..\..\data
2024-06-17 14:01:23 +02:00
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
e81df9d558
Added test categories to all registered test cases
2024-06-10 20:24:05 +02:00
c5ea70ed21
Added solution for "Day 25: Snowverload", part 1
2024-06-04 17:14:24 +02:00
216839c98b
Fixed copyright date
2024-06-03 20:52:42 +02:00
859a5db921
Merge branch 'day24-analytical'
2024-05-27 02:53:03 +02:00
3e3e1d45d3
Added solution "Day 24: Never Tell Me The Odds", part 2
2024-05-27 02:29:49 +02:00
5f93ad7869
Added bisection variant for integers instead of intervals
2024-05-26 18:59:47 +02:00
7db8f948c5
Changed TPolynomialRoots.BisectIsolation return type to array
2024-05-26 17:34:18 +02:00
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
04e1702a2e
Added TBigIntPolynomial.ScaleVariableByPowerOfTwo
2024-05-26 16:59:16 +02:00
ab453b347d
Renamed root finding class and methods, now class methods
2024-05-26 14:23:31 +02:00
ae30889bbb
Fixed calculation of root-isolating intervals and tests
2024-05-25 02:51:00 +02:00
fa5616f3cc
Fixed initializer of zero polynomial
2024-05-25 02:35:55 +02:00
baa1f8f31f
Added bisection root finding algorithm with custom upper bound
2024-05-24 20:47:52 +02:00
53e3922654
Updated bisection root finding algorithm and test case
2024-05-24 20:22:06 +02:00
cbaffbf55e
Added TBigIntPolynomial methods needed for bisection algorithm
2024-05-24 12:03:25 +02:00
6802da1743
Merge branch 'bigint' into day24-analytical
2024-05-23 22:03:41 +02:00
2df8266d42
Added some improvements for TBigInt shift left operator
2024-05-23 22:01:25 +02:00
4329041353
Added TBigInt shift right operator and tests
2024-05-23 22:00:45 +02:00
9d444272e0
Merge branch 'bigint' into day24-analytical
2024-05-20 15:04:32 +02:00
52cee73123
Added TBigInt.GetMostSignificantBitIndex and tests
2024-05-20 15:03:54 +02:00
afefbf46e3
Removed main project unit refs from FPCUnit project
2024-05-20 01:05:16 +02:00
c25317c0fc
Merge branch 'bigint' into day24-analytical
2024-05-16 17:14:00 +02:00
62887ad1d7
Fixed BigInt multiplication test cases
2024-05-16 17:08:44 +02:00
df8b5c32fd
Fixed BigInt test cases
2024-05-14 16:52:32 +02:00
eee05a9646
Added BigInt test cases (many broken)
2024-05-13 18:20:23 +02:00
53827acf9b
Added new unit for polynomial root finding algorithm
2024-05-13 15:22:18 +02:00
0bbae0a83e
Added polynomial degree and coefficients as public properties
2024-05-13 15:22:18 +02:00
5808ec24f2
Added polynomials
2024-05-13 15:21:58 +02:00
5b0a7996c5
Changed some of the expected input file names to stay closer to the day titles
2024-02-22 22:54:45 +01:00
801f8aa643
Added support for multiple data root paths
2024-02-22 22:26:31 +01:00
44c2c845e0
Added WIP analytical solution attempt
2024-02-21 21:05:34 +01:00
824ec0e29b
Added error handling for missing data files
2024-02-21 20:59:21 +01:00
fb3f41a6af
Added solution for "Day 24: Never Tell Me The Odds", part 1
2023-12-26 19:46:35 +01:00
5495b32692
Added solution for "Day 23: A Long Walk", part 1
2023-12-25 00:44:13 +01:00
c3ecaf59fa
Added custom constructors for TCosmicExpansion and TStepCounter to simplify test case setup
2023-12-23 20:16:18 +01:00
2bb89c952b
Added solution for "Day 22: Sand Slabs", part 2
2023-12-23 20:08:10 +01:00
7b77846abc
Added solution for "Day 22: Sand Slabs", part 1
2023-12-23 01:30:41 +01:00
4e28a7a4c2
Removed or unregistered tests for incomplete solutions
2023-12-21 21:14:50 +01:00
9855a38e50
Fixed missing visibility modifier on TFactor10CosmicExpansion test class
2023-12-21 21:12:18 +01:00
bc2568756b
Added solution for "Day 21: Step Counter", part 1
2023-12-21 21:11:31 +01:00
55f8f3d674
Added solution for "Day 20: Pulse Propagation", part 1
2023-12-21 16:14:00 +01:00
b2bfbf1993
Added solution for "Day 19: Aplenty", part 2
2023-12-20 19:25:21 +01:00
c3019613bd
Added solution for "Day 19: Aplenty", part 1
2023-12-20 11:41:17 +01:00
58da932860
Added empty skeleton implementations and tests for days 17, 18, and 19
2023-12-19 17:57:58 +01:00
01ec0be32c
Added solution for "Day 16: The Floor Will Be Lava", part 2
2023-12-19 17:26:18 +01:00