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
44c2c845e0
Added WIP analytical solution attempt
2024-02-21 21:05:34 +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
Stefan Müller
d582eb4d52
Added solution for "Day 15: Lens Library", part 2
2023-12-17 23:11:44 +01:00
Stefan Müller
3501f6f574
Added solution for "Day 15: Lens Library", part 1
2023-12-15 18:21:37 +01:00
Stefan Müller
22b9a24893
Added solution for "Day 14: Parabolic Reflector Dish", part 2
2023-12-14 21:23:07 +01:00
Stefan Müller
637e7aedad
Added missing test value for day 14, part 1
2023-12-14 20:47:46 +01:00
Stefan Müller
f9583e684d
Added solution for "Day 14: Parabolic Reflector Dish", part 1
2023-12-14 17:51:45 +01:00
Stefan Müller
307eb14b55
Added solution for "Day 13: Point of Incidence", part 2
2023-12-14 00:32:27 +01:00
Stefan Müller
6b888a3f68
Added solution for "Day 13: Point of Incidence", part 1
2023-12-13 18:46:38 +01:00
Stefan Müller
64eeb98e85
Added solution for "Day 12: Hot Springs", part 1
2023-12-12 15:47:58 +01:00
Stefan Müller
8b13ad992b
Added solution for "Day 11: Cosmic Expansion", part 2
2023-12-11 16:45:56 +01:00
Stefan Müller
5bd814a381
Added solution for "Day 11: Cosmic Expansion", part 1
2023-12-11 16:21:26 +01:00
Stefan Müller
344be871db
Added solution for "Day 10: Pipe Maze", part 2
2023-12-11 15:03:01 +01:00
Stefan Müller
ac81b20db5
Added solution for "Day 10: Pipe Maze", part 1
2023-12-10 12:23:20 +01:00
Stefan Müller
09baefc881
Added solution for "Day 9: Mirage Maintenance", part 2
2023-12-09 23:11:37 +01:00
Stefan Müller
f69d60e5db
Added solution for "Day 9: Mirage Maintenance", part 1
2023-12-09 23:10:27 +01:00