93 Commits

Author SHA1 Message Date
warrence 3008efc4ae Added tests for BinomialCoefficients global var 2024-11-20 00:05:44 +01:00
warrence f61abcb9c3 Merged solution for "Day 12: Hot Springs", part 2 2024-11-19 23:54:48 +01:00
warrence a55cae955a Fixed day 12 tests 2024-11-19 22:58:51 +01:00
warrence be0357befd Added binomial coefficient calculation 2024-11-09 17:59:56 +01:00
warrence 2517c4b8cf Added solution for "Day 21: Step Counter", part 2 2024-09-25 19:43:32 +02:00
warrence e7285e88b5 Added solution for "Day 23: A Long Walk", part 2 2024-09-22 23:54:45 +02:00
warrence c0ee7894ae Added initial attempt for "Day 12: Hot Springs", part 2 including test cases 2024-07-03 20:48:50 +02:00
warrence ba4195af82 Added solution for "Day 18: Lavaduct Lagoon", part 2 2024-07-03 20:41:19 +02:00
warrence b086038aa5 Added solution for "Day 18: Lavaduct Lagoon", part 1 2024-06-29 01:03:16 +02:00
warrence 7b33e8b406 Added solution for "Day 17: Clumsy Crucible", part 2 2024-06-25 22:22:52 +02:00
warrence ba1cefc371 Added solution for "Day 17: Clumsy Crucible", part 1 2024-06-19 22:38:24 +02:00
warrence 0ccb047312 Fixed test project unit order 2024-06-17 14:01:53 +02:00
warrence 3e7943056a Added new alternative data path ..\..\data 2024-06-17 14:01:23 +02:00
warrence 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
warrence e81df9d558 Added test categories to all registered test cases 2024-06-10 20:24:05 +02:00
warrence c5ea70ed21 Added solution for "Day 25: Snowverload", part 1 2024-06-04 17:14:24 +02:00
warrence 216839c98b Fixed copyright date 2024-06-03 20:52:42 +02:00
warrence 859a5db921 Merge branch 'day24-analytical' 2024-05-27 02:53:03 +02:00
warrence 3e3e1d45d3 Added solution "Day 24: Never Tell Me The Odds", part 2 2024-05-27 02:29:49 +02:00
warrence 5f93ad7869 Added bisection variant for integers instead of intervals 2024-05-26 18:59:47 +02:00
warrence 7db8f948c5 Changed TPolynomialRoots.BisectIsolation return type to array 2024-05-26 17:34:18 +02:00
warrence 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
warrence 04e1702a2e Added TBigIntPolynomial.ScaleVariableByPowerOfTwo 2024-05-26 16:59:16 +02:00
warrence ab453b347d Renamed root finding class and methods, now class methods 2024-05-26 14:23:31 +02:00
warrence ae30889bbb Fixed calculation of root-isolating intervals and tests 2024-05-25 02:51:00 +02:00
warrence fa5616f3cc Fixed initializer of zero polynomial 2024-05-25 02:35:55 +02:00
warrence baa1f8f31f Added bisection root finding algorithm with custom upper bound 2024-05-24 20:47:52 +02:00
warrence 53e3922654 Updated bisection root finding algorithm and test case 2024-05-24 20:22:06 +02:00
warrence cbaffbf55e Added TBigIntPolynomial methods needed for bisection algorithm 2024-05-24 12:03:25 +02:00
warrence 6802da1743 Merge branch 'bigint' into day24-analytical 2024-05-23 22:03:41 +02:00
warrence 2df8266d42 Added some improvements for TBigInt shift left operator 2024-05-23 22:01:25 +02:00
warrence 4329041353 Added TBigInt shift right operator and tests 2024-05-23 22:00:45 +02:00
warrence 9d444272e0 Merge branch 'bigint' into day24-analytical 2024-05-20 15:04:32 +02:00
warrence 52cee73123 Added TBigInt.GetMostSignificantBitIndex and tests 2024-05-20 15:03:54 +02:00
warrence afefbf46e3 Removed main project unit refs from FPCUnit project 2024-05-20 01:05:16 +02:00
warrence c25317c0fc Merge branch 'bigint' into day24-analytical 2024-05-16 17:14:00 +02:00
warrence 62887ad1d7 Fixed BigInt multiplication test cases 2024-05-16 17:08:44 +02:00
warrence df8b5c32fd Fixed BigInt test cases 2024-05-14 16:52:32 +02:00
warrence eee05a9646 Added BigInt test cases (many broken) 2024-05-13 18:20:23 +02:00
warrence 53827acf9b Added new unit for polynomial root finding algorithm 2024-05-13 15:22:18 +02:00
warrence 0bbae0a83e Added polynomial degree and coefficients as public properties 2024-05-13 15:22:18 +02:00
warrence 5808ec24f2 Added polynomials 2024-05-13 15:21:58 +02:00
warrence 5b0a7996c5 Changed some of the expected input file names to stay closer to the day titles 2024-02-22 22:54:45 +01:00
warrence 801f8aa643 Added support for multiple data root paths 2024-02-22 22:26:31 +01:00
warrence 44c2c845e0 Added WIP analytical solution attempt 2024-02-21 21:05:34 +01:00
warrence 824ec0e29b Added error handling for missing data files 2024-02-21 20:59:21 +01:00
warrence fb3f41a6af Added solution for "Day 24: Never Tell Me The Odds", part 1 2023-12-26 19:46:35 +01:00
warrence 5495b32692 Added solution for "Day 23: A Long Walk", part 1 2023-12-25 00:44:13 +01:00
warrence c3ecaf59fa Added custom constructors for TCosmicExpansion and TStepCounter to simplify test case setup 2023-12-23 20:16:18 +01:00
warrence 2bb89c952b Added solution for "Day 22: Sand Slabs", part 2 2023-12-23 20:08:10 +01:00