Contributor
Laouen Belloli

Boost.Real project


Mentors
Damian Vicino
Organization
Boost C++ Libraries

In the history of Computer Science, real numbers representation and data structures do not have a simple solution, numerical errors can be carried from one operation to the next and after several steps, the error may significantly increase. Also, irrational numbers representation as the number π or e^π are not handled by the native number data types and causing limitations when calculations are based on those numbers. The problem can be summarized as: there are an infinite amount of different numbers and a finite representation system. Even if there are some existing solutions, there is not a modern C++ open source library to attack the problem and Boost C++ could be the appropriated place.

Following the Real number representation introduced in chapter 2 of Oliver Aberth. Computable Calculus. Academic Press, 2001. I propose to implement a data type to represent Real numbers and to define the operators (+, -, *, /, !=, <, >, =). This data type attacks the introduced problem and allows to represent some calculable real numbers as π