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