[Math] acosh implementation

http://svn.boost.org/svn/boost/trunk/boost/math/special_functions/acosh.hpp goes like this: static T const taylor_2_bound = sqrt(tools::epsilon<T>()); // this is way smaller than 1 static T const taylor_n_bound = sqrt(taylor_2_bound); static T const upper_taylor_2_bound = one/taylor_2_bound; if(x < one) // right { return policies::raise_domain_error<T>( "boost::math::acosh<%1%>(%1%)", "acosh requires x >= 1, but got x = %1%.", x, pol); } else if (x >= taylor_n_bound) // what? { ... } else { // so when do we actually get here? ... }

Szymon Modzelewski wrote:
http://svn.boost.org/svn/boost/trunk/boost/math/special_functions/acosh.hpp
goes like this:
static T const taylor_2_bound = sqrt(tools::epsilon<T>());
// this is way smaller than 1 static T const taylor_n_bound = sqrt(taylor_2_bound);
static T const upper_taylor_2_bound = one/taylor_2_bound;
if(x < one) // right { return policies::raise_domain_error<T>( "boost::math::acosh<%1%>(%1%)", "acosh requires x >= 1, but got x = %1%.", x, pol); } else if (x >= taylor_n_bound) // what? { ... } else { // so when do we actually get here? ... }
That looks just plain wrong to me as well, Hubert you wrote that one, care to comment? John.
participants (2)
-
John Maddock
-
Szymon Modzelewski