
Hi, I was trying to use the boost interval class using g++ under cygwin and ubuntu, but unfortunately, I have trouble to use the exp function. The following code: #include <iostream> #include <cmath> #include <boost/numeric/interval.hpp> #define DOUBLE boost::numeric::interval<double> int main(int argc, char** argv) { DOUBLE x(4,5); std::cout.precision(19); DOUBLE res = exp(x); std::cout<<'['<<res.lower()<<", "<<res.upper()<<']'<<std::endl; return 0; } generates the following compile error: /usr/include/boost/numeric/interval/transc.hpp: In function `boost::numeric::interval<T, Policies> boost::numeric::exp(const boost::numeric::interval<T, Policies>&) [with T = double, Policies = boost::numeric::interval_lib::policies<boost::numeric::interval_lib::rounded_math<double>, boost::numeric::interval_lib::checking_strict<double> >]': itest.cpp:14: instantiated from here /usr/include/boost/numeric/interval/transc.hpp:34: error: 'struct boost::numeric::interval_lib::rounded_math<double>' has no member named 'exp_down' itest.cpp:14: instantiated from here /usr/include/boost/numeric/interval/transc.hpp:34: error: 'struct boost::numeric::interval_lib::rounded_math<double>' has no member named 'exp_up' I use boost version 1.34.1. Any idea why this doesn't work? Regards, Mark