On Tue, 25 Mar 2014, John Maddock wrote:
Thanks for the explanation, it's interesting, and almost the same as "exact floating point" types which are represented as a/b x 2^n and have exact (arbitrary precision) operations for everything except division (which is unsupported).
I think you mean a*2^n. There are LGPL implementations in CGAL: Gmpzf, MP_Float and most recently Mpzf. With a/b*2^n (I wanted to try it as well, but I didn't have time to implement it), I don't see any reason not to support division. It still seems quite a bit different from what Damian was suggesting. Performance is the main driver for those weird types ("usual" rationals would work), and a different performance profile will fit completely different applications. -- Marc Glisse