
On Thu, May 31, 2012 at 12:58 AM, Marc Glisse <marc.glisse@inria.fr> wrote:
(sorry for the broken thread, I wasn't subscribed yet)
A few quick comments:
* gmpxx != mpfr_class
* the version of gmpxx in the repository hasn't used any temporary for the example given in the introduction for a while, it is only because of a slow release cycle that you haven't seen it yet (will be in 5.1).
* the example about using 0 vs 11 temporaries doesn't mention what happens to the boost package if we disable expression template. Does it use a single temporary (using rvalue-references) or plenty?
* having an implicit narrowing conversion from double to bigint is a bad idea, it should be explicit (it isn't completely obvious from the doc if that is the case).
* you could get good results with a backend that uses gmp's mpn_* functions but not the mpz_t type.
* what about infinite precision floats? By that I mean something like bigint*2^n, where operations + - * are computed exactly. It can be quite a bit faster than rationals, when it is sufficient.
* if I want reference-counting, I guess that should be done in a back-end.
Thanks for the pre-review comments, Marc; it's good to get such detailed exposure prior to the formal review! I'm doing my best to track your concerns. - Jeff