Stefan Müller
4cd9392bbc
Added puzzle commentaries for days 17, 19, and 22
2024-06-26 21:25:49 +02:00
Stefan Müller
c0a6145019
Added favorites in readme
2024-06-26 21:23:04 +02:00
Stefan Müller
dfa6f6a09c
Fixed more typos in the readme
2024-06-26 21:20:21 +02:00
Stefan Müller
00f90a1da9
Fixed nested if block in USandSlabs.pas
2024-06-26 21:16:02 +02:00
Stefan Müller
5441700572
Updated several of the solution infos in the readme
2024-06-26 09:36:56 +02:00
Stefan Müller
6d622d4c22
Added tests section in the readme
2024-06-26 09:34:05 +02:00
Stefan Müller
72ce40d84a
Updated readme headings and links
2024-06-26 09:32:52 +02:00
Stefan Müller
d79bd2e78a
Removed unused unit includes, left from older changes
2024-06-25 22:23:58 +02:00
Stefan Müller
7b33e8b406
Added solution for "Day 17: Clumsy Crucible", part 2
2024-06-25 22:22:52 +02:00
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
8eb76329c1
Moved common TPoint direction code into new unit
2024-06-10 20:48:07 +02:00
Stefan Müller
19509c6173
Fixed memory leak in TSnowverload
2024-06-10 20:46:54 +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
3f83f888f3
Updated solution for day 25, significantly speeding up the algorithm
2024-06-05 13:40:31 +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
3c2acf05e8
Fixed project uses
2024-06-03 20:50:56 +02:00
Stefan Müller
c2570fab3d
Removed unused dividers factorization
2024-06-03 14:49:21 +02:00
Stefan Müller
33e7b64276
Added puzzle commentary for day 24
2024-05-27 03:10:14 +02:00
Stefan Müller
859a5db921
Merge branch 'day24-analytical'
2024-05-27 02:53:03 +02:00
Stefan Müller
b27b14a153
Fixed day 24 helper variable indices
2024-05-27 02:52:22 +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
44caf3e21c
Fixed comments
2024-05-26 19:58:13 +02:00
Stefan Müller
1784e41c0f
Fixed root isolation interval data types
2024-05-26 19:28:04 +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
748964c871
Fixed broken polynomial degree in bisection algorithm
2024-05-25 02:37:34 +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
aef4f28f46
Changed zero polynomial resulting from scaling to have one coefficient
2024-05-23 22:11:22 +02:00
Stefan Müller
37309d2817
Moved TBigIntPolynomial.IsEqualTo within the class
2024-05-23 22:07:58 +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
18f432bdfe
Added parenthesis in TBigInt.ToString for negative values
2024-05-23 21:08:01 +02:00
Stefan Müller
cfb74da86b
Added TBigInt.One
2024-05-23 21:07:11 +02:00
Stefan Müller
fad6e496c0
Removed unintentional WriteLn comments
2024-05-23 21:06:33 +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
7ac4a3519a
Added TBigIntPolynomial.ToString
2024-05-20 01:04:18 +02:00