Overview
Examples
Screenshots
Comparisons
Applications
Download
Documentation
Tutorials
Bazaar
Status & Roadmap
FAQ
Authors & License
Forums
Funding Ultimate++
Search on this site











SourceForge.net Logo

Rational. An arbitrary precision rational number

We use computers for doing floating point calculations. However even using 64 bit types, lack of precision in calculations produce inaccuracies that go accumulating over time, thus increasing the error.

 

For example, lets compute y = 2/1 * 3/2 * 4/3 * ... If done n times, result has to be n.

 

However, the code implementing this will fail:

 

double val = 1;

for (double d = 1; d < 100; ++d)

    val *= (d+1)/d;

Cout() << "double == 100: " << ((dval == 100) ? "true" : "false") << "\n";    // It returns false!?!?

 

Rational class solves this drawback implementing an arbitrary precision integer rational number.

Last edit by koldo on 02/25/2020. Do you want to contribute?. T++