30#ifndef SACADO_CMATH_HPP
31#define SACADO_CMATH_HPP
37#if !( (defined(_GLIBCXX_USE_C99_MATH_TR1) && defined(__GXX_EXPERIMENTAL_CXX0X__)) || defined(HAVE_SACADO_CXX11) || defined(HAS_C99_TR1_CMATH) || defined(USER_DISABLE_SACADO_TR1_CMATH) )
40 return std::log(
x + std::sqrt(
x*
x -
float(1.0))); }
42 return std::log(
x + std::sqrt(
x*
x +
float(1.0))); }
44 return float(0.5)*std::log((
float(1.0)+
x)/(
float(1.0)-
x)); }
47 return std::log(
x + std::sqrt(
x*
x -
double(1.0))); }
49 return std::log(
x + std::sqrt(
x*
x +
double(1.0))); }
51 return double(0.5)*std::log((
double(1.0)+
x)/(
double(1.0)-
x)); }
61 template <
typename Cond,
typename T>
#define SACADO_INLINE_FUNCTION
SACADO_INLINE_FUNCTION T if_then_else(const Cond cond, const T &a, const T &b)
SACADO_INLINE_FUNCTION T safe_sqrt(const T &x)