16#ifndef dealii_differentiation_ad_sacado_math_h
17#define dealii_differentiation_ad_sacado_math_h
21#ifdef DEAL_II_TRILINOS_WITH_SACADO
36 typename ADNumberType,
37 typename = std::enable_if_t<
56 const double a1 = 0.254829592;
57 const double a2 = -0.284496736;
58 const double a3 = 1.421413741;
59 const double a4 = -1.453152027;
60 const double a5 = 1.061405429;
61 const double p = 0.3275911;
65 (x < ::internal::NumberType<ADNumberType>::value(0.0) ?
true : false);
69 const ADNumberType t = 1.0 / (1.0 + p * x);
70 const ADNumberType y =
72 (((((a5 * t + a4) * t) + a3) * t + a2) * t + a1) * t *
std::exp(-x * x);
84template <
typename ADNumberType,
85 typename = std::enable_if_t<
88erfc(
const ADNumberType &x)
90 return 1.0 - std::erf(x);
#define DEAL_II_NAMESPACE_OPEN
#define DEAL_II_NAMESPACE_CLOSE
Expression erfc(const Expression &x)
Expression erf(const Expression &x)
::VectorizedArray< Number, width > exp(const ::VectorizedArray< Number, width > &)