1
0
mirror of https://github.com/PurpleI2P/Boost-for-Android-Prebuilt synced 2025-01-25 14:04:30 +00:00
r4sas 93de5720b8
add boost 1.72.0
Signed-off-by: r4sas <r4sas@i2pmail.org>
2020-02-29 22:43:48 +00:00

35 lines
1.0 KiB
C++

// (C) Copyright John Maddock 2005.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
#ifndef BOOST_MATH_COMPLEX_ACOSH_INCLUDED
#define BOOST_MATH_COMPLEX_ACOSH_INCLUDED
#ifndef BOOST_MATH_COMPLEX_DETAILS_INCLUDED
# include <boost/math/complex/details.hpp>
#endif
#ifndef BOOST_MATH_COMPLEX_ATANH_INCLUDED
# include <boost/math/complex/acos.hpp>
#endif
namespace boost{ namespace math{
template<class T>
inline std::complex<T> acosh(const std::complex<T>& z)
{
//
// We use the relation acosh(z) = +-i acos(z)
// Choosing the sign of multiplier to give real(acosh(z)) >= 0
// as well as compatibility with C99.
//
std::complex<T> result = boost::math::acos(z);
if(!(boost::math::isnan)(result.imag()) && signbit(result.imag()))
return detail::mult_i(result);
return detail::mult_minus_i(result);
}
} } // namespaces
#endif // BOOST_MATH_COMPLEX_ACOSH_INCLUDED