15#ifndef dealii_differentiation_ad_sacado_math_h
16#define dealii_differentiation_ad_sacado_math_h
20#ifdef DEAL_II_TRILINOS_WITH_SACADO
35 typename ADNumberType,
36 typename = std::enable_if_t<
55 const double a1 = 0.254829592;
56 const double a2 = -0.284496736;
57 const double a3 = 1.421413741;
58 const double a4 = -1.453152027;
59 const double a5 = 1.061405429;
60 const double p = 0.3275911;
64 (x < ::internal::NumberType<ADNumberType>::value(0.0) ?
true : false);
68 const ADNumberType t = 1.0 / (1.0 + p * x);
69 const ADNumberType y =
71 (((((a5 * t + a4) * t) + a3) * t + a2) * t + a1) * t *
std::exp(-x * x);
83template <
typename ADNumberType,
84 typename = std::enable_if_t<
87erfc(
const ADNumberType &x)
89 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 > &)