# 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`, and `Log`. - 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: ```sh 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](LICENSE).