
27 Jan
2009
27 Jan
'09
4:15 p.m.
The comparison between mpz_class and double works fine with +inf and -inf, while the comparison between mpq_class and double gives a floating point exception, due to inappropriate mpq_set_d call in eval specialization.
I see two way to fix this:
1) add support for comparison between mpq and double in C interface and use that in gmpxx.h
2) add infinity (and nan) check in comparison eval specializations in gmpxx.h
IMHO 1) gives a more complete solution. If you want we're willing to write the (trivial) patch.
--
Abramo Bagnara
Opera Unica Phone: +39.0546.656023
Via Borghesi, 16
48014 Castel Bolognese (RA) - Italy