Is GMP working properly if it compiles gmp functions w/o errors?

Brian Gladman brg at nowhere.org
Fri Feb 8 18:20:50 CET 2008


Andre Biere wrote:
> Hi everyone,
> 
> I am new to the mailing list, so I hope that someone can read my message and eventually help me. 
> 
> I am currently working on a multiprecision implementation of different algorithms to invert laplace transforms (Whynn Rho, Gaver Stehfest,...). 
> 
> Actually I am quite new to C/C++ and its environments. I chose Windows and Windows Visual Studio, since I am used to work at home with Windows. With the help of installation manuals, i think, i succeeded to build the gmp library. At least, I can include gmp.h and use functions like mpf_add, mpf_sub, etc. w/o errors.
> 
> My question is basicly, if this necessarily means that these function work properly? So far, I have only implemented (+, -, *, /) in the algorithms, but the results seem to be not good enough. E.g. switching from mpf_set_default_prec(50) to mpf_set_default_prec(1000) does not change a lot - and thereafter it stays constant for a precision >1000. Theres a lot of exp, log, factorials and binomial coefficients involved too, that is still computed in double precision. Do you think that the gmp library is working and the main round off problems are in these parts, which could be a reason why the basic arithmetic in gmp does not change too much!?!
> If this is the case, could s.o. please give me a hint how to implement exp, log? I couldnt find sth. about this in the documentation.

You really need two other packages in addition to GMP if you want to 
make your task much easier.  The first, mpfr, is available at:

http://www.mpfr.org/

This provides arithmetic and the common maths functions in multiple 
precision floating point.

And then you need mpfrcpp, which is available at:

http://beshenov.ru/mpfrcpp/

This provides a convenient C++ interface for mpfr that allows you to 
treat multiple precision numbers in almost the same way as you would 
treat doubles.

All of these packages (GMP, MPFR and MPFRCPP) can be built and used with 
Microsoft Visual Studio Professional (its possible with Express but a 
bit harder and Express can't build x64 versions).

I use exactly this set of packages to build high precision Chebyshev 
polynomial approximations for special maths functions to hundreds of digits.

Let me know off list if you need any help in getting these packages working.

   best regards,

      Brian Gladman



More information about the gmp-discuss mailing list