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
44c2c845e0
Added WIP analytical solution attempt
2024-02-21 21:05:34 +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
warrence
7b77846abc
Added solution for "Day 22: Sand Slabs", part 1
2023-12-23 01:30:41 +01:00
warrence
4e28a7a4c2
Removed or unregistered tests for incomplete solutions
2023-12-21 21:14:50 +01:00
warrence
9855a38e50
Fixed missing visibility modifier on TFactor10CosmicExpansion test class
2023-12-21 21:12:18 +01:00
warrence
bc2568756b
Added solution for "Day 21: Step Counter", part 1
2023-12-21 21:11:31 +01:00
warrence
55f8f3d674
Added solution for "Day 20: Pulse Propagation", part 1
2023-12-21 16:14:00 +01:00
warrence
b2bfbf1993
Added solution for "Day 19: Aplenty", part 2
2023-12-20 19:25:21 +01:00
warrence
c3019613bd
Added solution for "Day 19: Aplenty", part 1
2023-12-20 11:41:17 +01:00
warrence
58da932860
Added empty skeleton implementations and tests for days 17, 18, and 19
2023-12-19 17:57:58 +01:00
warrence
01ec0be32c
Added solution for "Day 16: The Floor Will Be Lava", part 2
2023-12-19 17:26:18 +01:00
warrence
58c677f409
Added solution for "Day 16: The Floor Will Be Lava", part 1
2023-12-19 13:11:39 +01:00
warrence
d582eb4d52
Added solution for "Day 15: Lens Library", part 2
2023-12-17 23:11:44 +01:00
warrence
3501f6f574
Added solution for "Day 15: Lens Library", part 1
2023-12-15 18:21:37 +01:00
warrence
22b9a24893
Added solution for "Day 14: Parabolic Reflector Dish", part 2
2023-12-14 21:23:07 +01:00
warrence
637e7aedad
Added missing test value for day 14, part 1
2023-12-14 20:47:46 +01:00
warrence
f9583e684d
Added solution for "Day 14: Parabolic Reflector Dish", part 1
2023-12-14 17:51:45 +01:00
warrence
307eb14b55
Added solution for "Day 13: Point of Incidence", part 2
2023-12-14 00:32:27 +01:00
warrence
6b888a3f68
Added solution for "Day 13: Point of Incidence", part 1
2023-12-13 18:46:38 +01:00
warrence
64eeb98e85
Added solution for "Day 12: Hot Springs", part 1
2023-12-12 15:47:58 +01:00
warrence
8b13ad992b
Added solution for "Day 11: Cosmic Expansion", part 2
2023-12-11 16:45:56 +01:00
warrence
5bd814a381
Added solution for "Day 11: Cosmic Expansion", part 1
2023-12-11 16:21:26 +01:00
warrence
344be871db
Added solution for "Day 10: Pipe Maze", part 2
2023-12-11 15:03:01 +01:00
warrence
ac81b20db5
Added solution for "Day 10: Pipe Maze", part 1
2023-12-10 12:23:20 +01:00
warrence
09baefc881
Added solution for "Day 9: Mirage Maintenance", part 2
2023-12-09 23:11:37 +01:00
warrence
f69d60e5db
Added solution for "Day 9: Mirage Maintenance", part 1
2023-12-09 23:10:27 +01:00