170 Commits

Author SHA1 Message Date
6d622d4c22 Added tests section in the readme 2024-06-26 09:34:05 +02:00
72ce40d84a Updated readme headings and links 2024-06-26 09:32:52 +02:00
d79bd2e78a Removed unused unit includes, left from older changes 2024-06-25 22:23:58 +02:00
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
8eb76329c1 Moved common TPoint direction code into new unit 2024-06-10 20:48:07 +02:00
19509c6173 Fixed memory leak in TSnowverload 2024-06-10 20:46:54 +02:00
e81df9d558 Added test categories to all registered test cases 2024-06-10 20:24:05 +02:00
3f83f888f3 Updated solution for day 25, significantly speeding up the algorithm 2024-06-05 13:40:31 +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
3c2acf05e8 Fixed project uses 2024-06-03 20:50:56 +02:00
c2570fab3d Removed unused dividers factorization 2024-06-03 14:49:21 +02:00
33e7b64276 Added puzzle commentary for day 24 2024-05-27 03:10:14 +02:00
859a5db921 Merge branch 'day24-analytical' 2024-05-27 02:53:03 +02:00
b27b14a153 Fixed day 24 helper variable indices 2024-05-27 02:52:22 +02:00
3e3e1d45d3 Added solution "Day 24: Never Tell Me The Odds", part 2 2024-05-27 02:29:49 +02:00
44caf3e21c Fixed comments 2024-05-26 19:58:13 +02:00
1784e41c0f Fixed root isolation interval data types 2024-05-26 19:28:04 +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
748964c871 Fixed broken polynomial degree in bisection algorithm 2024-05-25 02:37:34 +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
aef4f28f46 Changed zero polynomial resulting from scaling to have one coefficient 2024-05-23 22:11:22 +02:00
37309d2817 Moved TBigIntPolynomial.IsEqualTo within the class 2024-05-23 22:07:58 +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
18f432bdfe Added parenthesis in TBigInt.ToString for negative values 2024-05-23 21:08:01 +02:00
cfb74da86b Added TBigInt.One 2024-05-23 21:07:11 +02:00
fad6e496c0 Removed unintentional WriteLn comments 2024-05-23 21:06:33 +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
7ac4a3519a Added TBigIntPolynomial.ToString 2024-05-20 01:04:18 +02:00
d503968cee Merge branch 'bigint' into day24-analytical 2024-05-20 01:01:20 +02:00
2ca960f19c Added TBigInt.ToString for debugging 2024-05-20 00:59:40 +02:00
9c951073d9 Removed irrelevant todo 2024-05-20 00:56:52 +02:00
18de900a38 Fixed BigInt subtraction for equal operands 2024-05-20 00:56:22 +02:00
c25317c0fc Merge branch 'bigint' into day24-analytical 2024-05-16 17:14:00 +02:00