|
| 1 | +Experimental project - work in progress |
| 2 | + |
| 3 | +> ### TODOs |
| 4 | +> - (algo.7) Exponential function |
| 5 | +> - (algo.8) Logarithm to base $B^\prime$ |
| 6 | +> - (algo.9) Arctangent |
| 7 | +> - (algo.10) Sine function |
| 8 | +> - Math expression - lexer/tokenizer |
| 9 | +> - Math expression - parser |
| 10 | +> - Math expression - evaluation |
| 11 | +
|
| 12 | +--- |
| 13 | + |
| 14 | + |
| 15 | + |
| 16 | +# epsilon |
| 17 | + |
| 18 | +An arbitrary precision arithmetic library for **computable real numbers**. |
| 19 | + |
| 20 | + |
| 21 | +## Highlights |
| 22 | + |
| 23 | +- **Lazy evaluation**: Dynamically adjusts precision as needed, enabling efficient computations and on-demand accuracy. |
| 24 | +- **Supported domains**: |
| 25 | + - **Z**: Big integer numbers. |
| 26 | + - **R**: Computable real numbers, supporting operations with dynamic precision. |
| 27 | +- **Algorithmic foundation**: Based on algorithms by V. Menissier-Morain and Donald Knuth, ensuring mathematical rigor and reliability. |
| 28 | +- **Modern C++**: Written in modern C++ (C++23), leveraging concepts, coroutines, and advanced type traits for performance and clarity. |
| 29 | +- **Cross-platform**: The library can be compiled by clang, g++, and cl (MSVC). |
| 30 | + |
| 31 | +## Features |
| 32 | + |
| 33 | +- Efficient, on-demand computation of real numbers with adjustable precision. |
| 34 | +- Operator overloading for natural arithmetic expressions. |
| 35 | +- Conversion utilities for parsing and formatting numbers. |
| 36 | +- Extensible design for custom digit and container types. |
| 37 | + |
| 38 | +## References |
| 39 | + |
| 40 | +- V. Menissier-Morain, "Arbitrary Precision Real Arithmetic: design and algorithms" |
| 41 | +- Donald Knuth, "The Art of Computer Programming" |
0 commit comments