cMHN 1.2
C++ library for learning MHNs with pRC
Loading...
Searching...
No Matches
acosh.hpp
Go to the documentation of this file.
1// SPDX-License-Identifier: BSD-2-Clause
2
3#ifndef pRC_CORE_COMPLEX_FUNCTIONS_ACOSH_H
4#define pRC_CORE_COMPLEX_FUNCTIONS_ACOSH_H
5
7
8namespace pRC
9{
10 template<IsComplex T>
11 static inline constexpr auto acosh(T const &a)
12 {
13 using R = typename T::Type;
14
15 return identity<R>(2) *
16 log(sqrt(identity<R>(0.5) * (a + unit<R>())) +
17 sqrt(identity<R>(0.5) * (a - unit<R>())));
18 }
19}
20#endif // pRC_CORE_COMPLEX_FUNCTIONS_ACOSH_H
Definition value.hpp:12
Definition cholesky.hpp:10
static constexpr auto unit()
Definition unit.hpp:13
static constexpr auto sqrt(T const &a)
Definition sqrt.hpp:11
static constexpr auto identity()
Definition identity.hpp:13
static constexpr auto log(T const &a)
Definition log.hpp:11
static constexpr auto acosh(T const &a)
Definition acosh.hpp:11