Repository navigation
Expose coefficient polynomials in TSL with completion and reference - #314
Draft
PawelTroka wants to merge 1 commit into
Draft
PawelTroka wants to merge 1 commit into
PawelTroka wants to merge 1 commit into
Conversation
This was referenced Oct 30, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Problem
Addresses #111.
Math.NET's general polynomial implementation is already shipped, but it has no short TSL type name, completion entries or authored function reference. The named orthogonal polynomials do not provide the requested coefficient-based arithmetic, evaluation and general root workflow. Fully qualified calls to the dependency were possible before this change; this PR makes that existing capability part of the discoverable application API.
Change
Polynomial = MathNet.Numerics.Polynomialto the shared TSL preamble used by portable execution and both the legacy and precompiled desktop/web evaluators.Polynomial.Zeroand all callable static methods in scripting completion; numeric evaluation overloads also appear in expression completion. Exclude CLR operator/accessor names that cannot be called as methods, and show a readable quotient/remainder tuple caption.ToCodeimplementation.The help explains ascending coefficient order, mutable/shared coefficient arrays, the single-integer constructor convention, zero/constant root arrays, coefficientwise versus polynomial arithmetic, and numerical conditioning. General roots use the dependency's companion-matrix eigenvalue routine; a new GSL backend and symbolic algebra are not included. General member completion after an arbitrary variable remains the separate #54 workstream.
Validation
Polynomialtype/namegit diff --checkExecution tests cover independent analytic real/complex values, arithmetic and input preservation, quotient/remainder reconstruction, real and nonreal roots, repeated roots, trailing zero coefficients, zero/constant conventions, fitting, calculus and custom definitions. Twelve native Core evaluator/completion cases are also committed for Windows CI.
Validated the exact uploaded tree
3c36aad333b0031b06f8510a05d566b5d2310f76(identical to the reviewed local commit), using .NET SDK 10.0.403 on Linux x64:Reference generation uses the authenticated successful master
Reference-Validateinventory and the actual new production reflection/source output. The local reflection harness replaces the WinForms item/settings shell; native full-catalog validation remains a CI gate. Native Windows tests and remaining platform CI were not executed here and are not claimed by the Linux cross-build.Existing-work review
Reviewed all 78 open issues, all 14 existing open PRs, closed PR titles and targeted all-state searches before implementation. No existing PR owns #111's polynomial integration. The open Euclid integration (#309), parser (#304), secant (#305), Debye (#307), trapezoidal overflow (#308) and chart/platform work cover different capabilities.
Independently based on master
fe1aba49b5f9538355ffaaa3d1683f69a23d2d9c. The shared alias/provider/reference files can also be edited by other catalog additions; preserve all additions when integrating. Draft for owner review and native CI; no merge performed.Combined compatibility check — 2026-10-30
Also tested the final contributions in #311, #313, #314 and #315 together with the seven existing maintenance PRs (#304–#310), using the existing #312 candidate
189d28c0ec7acbf77d380f14f95ef450e7bfbd84as the local integration base.Eight shared paths required composition resolutions. These preserved all Euclid/ODE/polynomial aliases, completion and authoring registrations; Debye/unitary documentation; and Find/Replace/printing methods, test-source links and documentation entries. No feature behavior or numerical algorithm needed changing to combine the contributions. The independently published PRs remain based on master.
Combined local tree:
63225a973ea2883974a91ab26afcdc83d866e77b, SDK 10.0.403, Linux x64. The reference check used the authenticated master inventory plus current production reflection for changed entries through a portable UI shell. Native Windows tests, full native catalog execution and printer acceptance remain pending. The existing #312 PR was not changed by this local verification.