37 return exp(exp_term*
log(base));
40template<
typename T1,
typename T2,
typename TC = common_t<T1,T2>,
41 typename std::enable_if<!std::is_
integral<T2>::value>::type* =
nullptr>
47 return( base < T1(0) ? \
48 GCLIM<TC>::quiet_NaN() :
50 pow_dbl(
static_cast<TC
>(base),
static_cast<TC
>(exp_term)) );
53template<
typename T1,
typename T2,
typename TC = common_t<T1,T2>,
54 typename std::enable_if<std::is_
integral<T2>::value>::type* =
nullptr>
57pow_check(
const T1 base,
const T2 exp_term)
73template<
typename T1,
typename T2>
76pow(
const T1 base,
const T2 exp_term)
const Eigen::CwiseBinaryOp< Eigen::internal::scalar_pow_op< typename Derived::Scalar, typename ExponentDerived::Scalar >, const Derived, const ExponentDerived > pow(const Eigen::ArrayBase< Derived > &x, const Eigen::ArrayBase< ExponentDerived > &exponents)
Definition: GlobalFunctions.h:143
dimensionless::scalar_t log(const ScalarUnit x) noexcept
Compute natural logarithm.
Definition: math.h:349
Definition: Eigen_Colamd.h:50
constexpr T pow_dbl(const T base, const T exp_term) noexcept
Definition: pow.hpp:34
constexpr T1 pow_integral(const T1 base, const T2 exp_term) noexcept
Definition: pow_integral.hpp:120
constexpr TC pow_check(const T1 base, const T2 exp_term) noexcept
Definition: pow.hpp:44