Repository navigation
Expose Euclid integer utilities in expressions, scripts and autocomplete - #309
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
Fixes #125.
Math.NET's integer utilities are already shipped, but the useful
Euclid.*API is unavailable by that name in TSL and absent from the application's completion/reference catalog. Reimplementing the algorithms would duplicate the pinned dependency.Change
MathNet.Numerics.Euclidclass through the shared TSL preamble used by desktop, web API and portable execution.out/ref/inargument insertion and typed captions. Extended GCD completion now insertsout x,out y; the same fix repairs four existingread<T>/readln<T>signatures.Examples:
Existing
gcd/nwd/lcm/nwwbehavior remains intact. No new dependency or numerical wrapper implementation.Validation
Euclid(CS0103); the final expanded fixture passes 34/34.outCS1620errors.git diff --checkpassed.Local execution was Linux x64 with SDK 10.0.402. Native Windows evaluator/completion execution and full runtime-catalog validation remain CI gates; cross-building is not native Windows acceptance.
The uploaded tree
361a4cc2935f75ed8bb3627ef72afe9249d82b08exactly matches the tested local commit44f87104843d3ff1e9f0459b3a3eeece74c40960.Reference and compatibility
The existing pinned Math.NET 5.0.0 Euclid implementation defines arithmetic and error behavior. The documentation explicitly describes inherited edge cases, including fixed-width overflow and collection GCD with a leading zero.
Runtime inventory was extended using the actual compiled production reflection source, starting from the authenticated successful master reference artifact. Native
Reference-Validateindependently verifies the full catalog in CI.Existing work
Reviewed the 78 open issues, seven original open PRs, all closed PR titles and relevant recent bodies; refreshed the open list immediately before publication. None covers #125. This is separate from the Mono autocomplete window/layout work in #299 and from the new secant-root/translation PRs.
Independently based on master
fe1aba49b5f9538355ffaaa3d1683f69a23d2d9c. Draft pending native CI; no merge performed.Combined integration verification
Applied #304, #307, #308, #309 and #310 together in a separate local checkout; all five patches applied cleanly. The combined portable Engine suite passed 1,565/1,565 tests, with no failures or skips, and the combined Windows Desktop.Tests cross-build completed with zero errors (seven existing package/compiler warnings). Native Windows execution remains a CI gate. Each PR still targets
masterindependently.