Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Submission Checklist 📝
cargo xtask fmt-packages
command to ensure that all changed code is formatted correctly.CHANGELOG.md
in the proper section.Extra:
Pull Request Details 📖
Description
The current implementation evaluates polynomials using the standard form:
[
P(x) = a_n x^n + a_{n-1} x^{n-1} + ... + a_1 x + a_0
]
This method requires multiple multiplications and additions, leading to overflow. Instead, we transition to Horner’s method, which restructures the polynomial to minimize operations:
[
P(x) = (...((a_n x + a_{n-1})x + a_{n-2})x + ...)x + a_0
]
This transformation significantly reduces the number of required operations from (O(n^2)) in some naive implementations to O(n), improving efficiency and numerical stability.
Solution
Tests
This is the generated output adc_comparison.log
resolve #3061