1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/os/ossrv/ossrv_pub/boost_apis/boost/math/complex/asinh.hpp Fri Jun 15 03:10:57 2012 +0200
1.3 @@ -0,0 +1,32 @@
1.4 +// (C) Copyright John Maddock 2005.
1.5 +// Use, modification and distribution are subject to the
1.6 +// Boost Software License, Version 1.0. (See accompanying file
1.7 +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
1.8 +
1.9 +#ifndef BOOST_MATH_COMPLEX_ASINH_INCLUDED
1.10 +#define BOOST_MATH_COMPLEX_ASINH_INCLUDED
1.11 +
1.12 +#ifndef BOOST_MATH_COMPLEX_DETAILS_INCLUDED
1.13 +# include <boost/math/complex/details.hpp>
1.14 +#endif
1.15 +#ifndef BOOST_MATH_COMPLEX_ASINH_INCLUDED
1.16 +# include <boost/math/complex/asinh.hpp>
1.17 +#endif
1.18 +
1.19 +namespace boost{ namespace math{
1.20 +
1.21 +template<class T>
1.22 +inline std::complex<T> asinh(const std::complex<T>& x)
1.23 +{
1.24 + //
1.25 + // We use asinh(z) = i asin(-i z);
1.26 + // Note that C99 defines this the other way around (which is
1.27 + // to say asin is specified in terms of asinh), this is consistent
1.28 + // with C99 though:
1.29 + //
1.30 + return ::boost::math::detail::mult_i(::boost::math::asin(::boost::math::detail::mult_minus_i(x)));
1.31 +}
1.32 +
1.33 +} } // namespaces
1.34 +
1.35 +#endif // BOOST_MATH_COMPLEX_ASINH_INCLUDED