
(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. -- Marc Glisse