two questions on GMP & C float
Torbjorn Granlund
tg at gmplib.org
Fri May 15 19:22:16 CEST 2009
Vojtěch Bubník <bubnikv at seznam.cz> writes:
We are using GMP extensively for our geometric calculations like
intersection lines between two 3d meshes etc. I am combining boost
interval arithmetics with GMP to speed up predicates. That works
really well. The interval arithmetics library is switching FPU
rounding mode down. Does GMP use FPU or may I leave rounding mode set
to "down" for the interval arithmetics library to work even during
calls to GMP?
GMP hardly uses the FPU at all. Except for some processors, like
UltraSPARC. But I believe the FPU dependent code in GMP is rounding
mode resilient.
Another question. If I know beforehand that the floats I am converting
to mpq have some right mantissa bits cleared, will the mpq numbers be
faster? Will the mpq representation use less bits? Will it help, if I
write my own conversion function from float with limited mantissa to
mpq?
GMP conversion routines will find the smallest fraction the accurately
represents your float. I.e., it will find a n/d fraction were (n,d)=1.
--
Torbjörn
More information about the gmp-discuss
mailing list