All,

Thanks for the update.  This all sounds very good to me.

Vincent, I haven't experimented much with low-level libraries for rounding and controlling the FPU on Windows. But I'd say if there are issues with the trigonometric functions then just don't include them in the first release. Once more people can get their hands on this it could be you get the solution for free :-)

I was looking into smath some time ago but I think this is not much portable (and probably not maintained anymore). And the subject is so tricky that I think it is not a good idea to start some new implementation. I think it's better to have a configuration option to include any library available and supported by Boost.Interval, and as a consequence enabling/disabling some constraints implementations in Gecode based on the capabilities. The point is, some people (like me) may not need Trigonometric and Transcendental functions at all... But this is also for Christian to decide whether this approach is acceptable (sometimes having a constraint available and sometimes not).

Best Regards,
Filip

Hi Vincent,

2011/11/4 Vincent Barichard <[email protected] <mailto:[email protected]>>

    e about the rounding for trigonometric and transcendental
    functions. Indeed, boost doesn't provide full rounding functions
    for trigonometric and transcendental functions. To achieve correct
    rounding, it relies on other libraries like MPFR. If I can't rely
    on standard C maths functions to get a correct rounding, I have to
    investigate on other alternatives. MPFR is not a good choice for
    Windows users, so maybe another library (CRLibm ? others ?).


I think that if you have something like cygwin or mingw you can install MPFR in an easy way. The nice think about that library is that is very well tested and brings support for different architectures. GCC uses it and this is a good sign (?). I don't know if the library can be distributed with gecode or at least statically linked in the future libgecodefloat. I don't know too much about windows, tough.

    I'd appreciate any advice on this. Does someone known a good
    "light" maths library which gives exact rounding ?

    If you have any questions or remarks, don't hesitate to contact me!


It will be nice if you can get some ideas from smathlib:
http://interval.sourceforge.net/interval/C/smathlib/README.html

this library was developed by Timothy Hickey but is pure C and I am not very sure about its portability. It provides its own rounding methods without relying in something else.

Another good library that perform constraint programming on continuous domains is:

http://sourceforge.net/projects/elisa/

But I think you already had a look at that one. It provides nice interval arithmetic constraint that make use of the Newton method to offer better pruning.

Regards,
--
Gustavo Gutierrez

_______________________________________________
Gecode users mailing list
[email protected]
https://www.gecode.org/mailman/listinfo/gecode-users

Reply via email to