Files
Just.PreciseMath/README.md
T
just ec609b26f7
.NET Test / .NET tests (push) Successful in 55s
agent instructions setup
2026-09-13 19:22:58 +04:00

49 lines
1.8 KiB
Markdown

# 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).