16 #ifndef dealii_differentiation_sd_symengine_math_h 17 #define dealii_differentiation_sd_symengine_math_h 21 #ifdef DEAL_II_WITH_SYMENGINE 25 # include <type_traits> 70 template <
typename NumberType,
71 typename =
typename std::enable_if<
89 template <
typename NumberType,
90 typename =
typename std::enable_if<
155 template <
typename NumberType,
156 typename =
typename std::enable_if<
174 template <
typename NumberType,
175 typename =
typename std::enable_if<
314 template <
typename NumberType,
315 typename =
typename std::enable_if<
334 template <
typename NumberType,
335 typename =
typename std::enable_if<
603 template <
typename NumberType,
604 typename =
typename std::enable_if<
622 template <
typename NumberType,
623 typename =
typename std::enable_if<
651 template <
typename NumberType,
652 typename =
typename std::enable_if<
670 template <
typename NumberType,
671 typename =
typename std::enable_if<
718 # define DEAL_II_EXPOSE_SYMENGINE_UNARY_MATH_FUNCTION(func) \ 719 using ::Differentiation::SD::func; 721 # define DEAL_II_EXPOSE_SYMENGINE_BINARY_MATH_FUNCTION(func) \ 722 using ::Differentiation::SD::func; 724 DEAL_II_EXPOSE_SYMENGINE_BINARY_MATH_FUNCTION(
pow)
725 DEAL_II_EXPOSE_SYMENGINE_BINARY_MATH_FUNCTION(
max)
726 DEAL_II_EXPOSE_SYMENGINE_BINARY_MATH_FUNCTION(
min)
727 DEAL_II_EXPOSE_SYMENGINE_BINARY_MATH_FUNCTION(
copysign)
729 DEAL_II_EXPOSE_SYMENGINE_UNARY_MATH_FUNCTION(
exp)
730 DEAL_II_EXPOSE_SYMENGINE_UNARY_MATH_FUNCTION(
log10)
731 DEAL_II_EXPOSE_SYMENGINE_UNARY_MATH_FUNCTION(
sqrt)
732 DEAL_II_EXPOSE_SYMENGINE_UNARY_MATH_FUNCTION(
cbrt)
733 DEAL_II_EXPOSE_SYMENGINE_UNARY_MATH_FUNCTION(
erf)
734 DEAL_II_EXPOSE_SYMENGINE_UNARY_MATH_FUNCTION(
erfc)
736 DEAL_II_EXPOSE_SYMENGINE_UNARY_MATH_FUNCTION(
log)
738 DEAL_II_EXPOSE_SYMENGINE_UNARY_MATH_FUNCTION(
abs)
739 DEAL_II_EXPOSE_SYMENGINE_UNARY_MATH_FUNCTION(
fabs)
740 DEAL_II_EXPOSE_SYMENGINE_UNARY_MATH_FUNCTION(
sign)
741 DEAL_II_EXPOSE_SYMENGINE_UNARY_MATH_FUNCTION(
floor)
742 DEAL_II_EXPOSE_SYMENGINE_UNARY_MATH_FUNCTION(
ceil)
744 DEAL_II_EXPOSE_SYMENGINE_UNARY_MATH_FUNCTION(
sin)
745 DEAL_II_EXPOSE_SYMENGINE_UNARY_MATH_FUNCTION(
cos)
746 DEAL_II_EXPOSE_SYMENGINE_UNARY_MATH_FUNCTION(
tan)
747 DEAL_II_EXPOSE_SYMENGINE_UNARY_MATH_FUNCTION(
csc)
748 DEAL_II_EXPOSE_SYMENGINE_UNARY_MATH_FUNCTION(
sec)
749 DEAL_II_EXPOSE_SYMENGINE_UNARY_MATH_FUNCTION(
cot)
751 DEAL_II_EXPOSE_SYMENGINE_UNARY_MATH_FUNCTION(
asin)
752 DEAL_II_EXPOSE_SYMENGINE_UNARY_MATH_FUNCTION(
acos)
753 DEAL_II_EXPOSE_SYMENGINE_UNARY_MATH_FUNCTION(
atan)
754 DEAL_II_EXPOSE_SYMENGINE_BINARY_MATH_FUNCTION(
atan2)
755 DEAL_II_EXPOSE_SYMENGINE_UNARY_MATH_FUNCTION(
acsc)
756 DEAL_II_EXPOSE_SYMENGINE_UNARY_MATH_FUNCTION(
asec)
757 DEAL_II_EXPOSE_SYMENGINE_UNARY_MATH_FUNCTION(
acot)
759 DEAL_II_EXPOSE_SYMENGINE_UNARY_MATH_FUNCTION(
sinh)
760 DEAL_II_EXPOSE_SYMENGINE_UNARY_MATH_FUNCTION(
cosh)
761 DEAL_II_EXPOSE_SYMENGINE_UNARY_MATH_FUNCTION(
tanh)
762 DEAL_II_EXPOSE_SYMENGINE_UNARY_MATH_FUNCTION(
csch)
763 DEAL_II_EXPOSE_SYMENGINE_UNARY_MATH_FUNCTION(
sech)
764 DEAL_II_EXPOSE_SYMENGINE_UNARY_MATH_FUNCTION(
coth)
766 DEAL_II_EXPOSE_SYMENGINE_UNARY_MATH_FUNCTION(
asinh)
767 DEAL_II_EXPOSE_SYMENGINE_UNARY_MATH_FUNCTION(
acosh)
768 DEAL_II_EXPOSE_SYMENGINE_UNARY_MATH_FUNCTION(
atanh)
769 DEAL_II_EXPOSE_SYMENGINE_UNARY_MATH_FUNCTION(
acsch)
770 DEAL_II_EXPOSE_SYMENGINE_UNARY_MATH_FUNCTION(
asech)
771 DEAL_II_EXPOSE_SYMENGINE_UNARY_MATH_FUNCTION(
acoth)
773 # undef DEAL_II_EXPOSE_SYMENGINE_BINARY_MATH_FUNCTION 774 # undef DEAL_II_EXPOSE_SYMENGINE_UNARY_MATH_FUNCTION 780 #endif // DEAL_II_WITH_SYMENGINE Expression copysign(const Expression &value, const Expression &sign)
Expression sign(const Expression &x)
Expression asinh(const Expression &x)
Expression cosh(const Expression &x)
Expression acoth(const Expression &x)
Expression pow(const Expression &base, const Expression &exponent)
Expression log10(const Expression &x)
Expression sinh(const Expression &x)
Expression asec(const Expression &x)
Expression atan2(const Expression &y, const Expression &x)
Expression cot(const Expression &x)
Expression max(const Expression &a, const Expression &b)
Expression csc(const Expression &x)
Expression atanh(const Expression &x)
Expression asech(const Expression &x)
Expression cbrt(const Expression &x)
Expression tanh(const Expression &x)
Expression ceil(const Expression &x)
Expression sqrt(const Expression &x)
Expression acos(const Expression &x)
Expression coth(const Expression &x)
#define DEAL_II_NAMESPACE_CLOSE
Expression exp(const Expression &exponent)
Expression sech(const Expression &x)
Expression log(const Expression &x)
Expression fabs(const Expression &x)
Expression cos(const Expression &x)
SymmetricTensor< 2, dim, Number > b(const Tensor< 2, dim, Number > &F)
Expression sin(const Expression &x)
Expression erfc(const Expression &x)
Expression asin(const Expression &x)
Expression tan(const Expression &x)
Expression erf(const Expression &x)
#define DEAL_II_NAMESPACE_OPEN
Expression abs(const Expression &x)
Expression acsc(const Expression &x)
Expression min(const Expression &a, const Expression &b)
Expression acsch(const Expression &x)
Expression acosh(const Expression &x)
Expression csch(const Expression &x)
Expression acot(const Expression &x)
Expression atan(const Expression &x)
Expression sec(const Expression &x)
Expression floor(const Expression &x)