iRRAM – Exact Arithmetic in C++

The iRRAM is a C++ package for error-free real arithmetic based on the concept of a Real-RAM. Its capabilities range from ordinary arithmetic over trigonometric functions to linear algebra and even differential equations.

A program for the iRRAM is coded in ordinary C++, but may use a special class REAL, that behaves like real numbers without any error. A quite small set of operations is allowed to be used directly with variables of this type: usual arithmetic operations, tests and conversion to/from integer or other types. The programmer may use (almost) all programming methods from C++, like defining own data types (like real matrices or complex numbers, which are already implemented in this way).

The ability of computing limits of (special) sequences seems to be a unique feature of the iRRAM. The limited scope of algebraic or symbolic computations on real numbers is left as soon as these operators are used. From this point on, Type 2 Theory of Effectivity (TTE) (see CCA Net) is the best fitting theoretical model.

Additionally, the iRRAM uses the concept of multi-valued functions (again, see CCA Net).