Hello, I have written a program in boost which simply calculates the exponent in an interval, but for some interval inputs it is giving the wrong output such as for [1,3] or [-1,3]...but for some values it is giving correct o/p such as [1,9]. Please help in solving this query. The program is appended below.... ********************************************************************************************************************************************************* #include </boost/numeric/interval.hpp> #include <vector> #include <algorithm> #include <utility> #include <iostream> #include <iomanip> #include <math.h> using namespace boost; using namespace numeric; using namespace interval_lib; template<class T, class Policies> std::ostream &operator<<(std::ostream &os, const boost::numeric::interval<T, Policies> &x) { os << "[" << x.lower() << ", " << x.upper() << "]"; return os; } int main() { typedef interval<double,policies<save_state<rounded_transc_opp<double>
,checking_base<double> > > I; //typedef interval<double> I; I a(1,3.2); std::cout << exp(a) << std::endl;
} ********************************************************************************************************************************************************** Thanks in Advance. Regards, PV
participants (1)
-
Pranjal vyas