Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions docs/imgs/epsilon.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
41 changes: 41 additions & 0 deletions readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
Experimental project - work in progress

> ### TODOs
> - (algo.7) Exponential function
> - (algo.8) Logarithm to base $B^\prime$
> - (algo.9) Arctangent
> - (algo.10) Sine function
> - Math expression - lexer/tokenizer
> - Math expression - parser
> - Math expression - evaluation

---

![](./docs/imgs/epsilon.svg)

# epsilon

An arbitrary precision arithmetic library for **computable real numbers**.


## Highlights

- **Lazy evaluation**: Dynamically adjusts precision as needed, enabling efficient computations and on-demand accuracy.
- **Supported domains**:
- **Z**: Big integer numbers.
- **R**: Computable real numbers, supporting operations with dynamic precision.
- **Algorithmic foundation**: Based on algorithms by V. Menissier-Morain and Donald Knuth, ensuring mathematical rigor and reliability.
- **Modern C++**: Written in modern C++ (C++23), leveraging concepts, coroutines, and advanced type traits for performance and clarity.
- **Cross-platform**: The library can be compiled by clang, g++, and cl (MSVC).

## Features

- Efficient, on-demand computation of real numbers with adjustable precision.
- Operator overloading for natural arithmetic expressions.
- Conversion utilities for parsing and formatting numbers.
- Extensible design for custom digit and container types.

## References

- V. Menissier-Morain, "Arbitrary Precision Real Arithmetic: design and algorithms"
- Donald Knuth, "The Art of Computer Programming"