1.8 KiB
Just.PreciseMath
Extended-precision floating-point arithmetic for .NET using double-double
representations: a high/low pair of double values. The goal is to retain more
precision than a single double while using a fixed-size representation,
rather than arbitrary-precision arithmetic.
Work in progress. The public API is incomplete and may change. Numerical accuracy has not been validated, and the library is not ready for production use.
Planned scope
- Double-double arithmetic, constants, comparisons, conversions, and formatting.
- Common functions including
Abs,Sqrt,Pow,Exp, andLog. - Correctness tests against higher-precision references and performance benchmarks.
These are development goals, not a list of currently supported features.
Build and test
Requires the .NET 10 SDK in the 10.0.1xx feature band, as selected by global.json.
Run from the repository root:
dotnet restore Just.PreciseMath.slnx --locked-mode
dotnet build Just.PreciseMath.slnx -c Release --no-restore
dotnet test --solution Just.PreciseMath.slnx -c Release --no-build --minimum-expected-tests 1
dotnet format Just.PreciseMath.slnx --verify-no-changes --no-restore
Test results and coverage reports are available in the test-results artifact
on CI workflow runs.
Project structure
0-source/Just.PreciseMath/: library implementation.1-tests/Just.PreciseMath.Tests/: unit tests.2-benchmarks/Just.PreciseMath.Benchmarks/: reserved for performance benchmarks.
Contributing
Follow .editorconfig and include regression tests with numerical changes.
Explain the algorithm's assumptions, the source of reference values, and any
error tolerances. Include updated packages.lock.json files with dependency changes.
License
Licensed under the MIT License.