10 #ifndef STOKHOS_SACADO_MATH_FUNCTIONS_HPP
11 #define STOKHOS_SACADO_MATH_FUNCTIONS_HPP
13 #define UNARYFUNC_MACRO(OP,FADOP) \
17 template <typename T, typename S> class OrthogPoly; \
18 template <typename T, typename S> \
19 OrthogPoly<T,S> OP (const OrthogPoly<T,S>&); \
23 template <typename T> class FADOP; \
24 template <typename T> class Expr; \
25 template <typename T> \
26 Expr< FADOP< Expr<T> > > OP (const Expr<T>&); \
32 using Sacado::PCE::OP; \
33 using Sacado::ETPCE::OP; \
56 #undef UNARYFUNC_MACRO
58 #define BINARYFUNC_MACRO(OP,FADOP) \
62 template <typename T, typename S> class OrthogPoly; \
63 template <typename T, typename S> \
64 OrthogPoly<T,S> OP (const OrthogPoly<T,S>&, \
65 const OrthogPoly<T,S>&); \
66 template <typename T, typename S> \
67 OrthogPoly<T,S> OP (const T&, \
68 const OrthogPoly<T,S>&); \
69 template <typename T, typename S> \
70 OrthogPoly<T,S> OP (const OrthogPoly<T,S>&, \
75 template <typename T1, typename T2> class FADOP; \
76 template <typename T> class Expr; \
77 template <typename T> class ConstExpr; \
78 template <typename T1, typename T2> \
79 Expr< FADOP< Expr<T1>, Expr<T2> > > \
80 OP (const Expr<T1>&, const Expr<T2>&); \
82 template <typename T> \
83 Expr< FADOP< Expr<T>, Expr<T> > > \
84 OP (const Expr<T>&, const Expr<T>&); \
86 template <typename T> \
87 Expr< FADOP< typename Expr<T>::value_type, Expr<T> > > \
88 OP (const typename Expr<T>::value_type&, const Expr<T>&); \
90 template <typename T> \
91 Expr< FADOP< Expr<T>, typename Expr<T>::value_type > > \
92 OP (const Expr<T>&, const typename Expr<T>::value_type&); \
98 using Sacado::PCE::OP; \
99 using Sacado::ETPCE::OP; \
107 #undef BINARYFUNC_MACRO
109 #endif // STOKHOS_SACADO_MATH_FUNCTIONS_HPP
KOKKOS_INLINE_FUNCTION PCE< Storage > sqrt(const PCE< Storage > &a)
KOKKOS_INLINE_FUNCTION PCE< Storage > fabs(const PCE< Storage > &a)
KOKKOS_INLINE_FUNCTION PCE< Storage > tan(const PCE< Storage > &a)
KOKKOS_INLINE_FUNCTION PCE< Storage > sinh(const PCE< Storage > &a)
KOKKOS_INLINE_FUNCTION PCE< Storage > pow(const PCE< Storage > &a, const PCE< Storage > &b)
KOKKOS_INLINE_FUNCTION PCE< Storage > tanh(const PCE< Storage > &a)
KOKKOS_INLINE_FUNCTION PCE< Storage > cbrt(const PCE< Storage > &a)
#define UNARYFUNC_MACRO(OP, FADOP)
KOKKOS_INLINE_FUNCTION PCE< Storage > acos(const PCE< Storage > &a)
atan2(expr1.val(), expr2.val())
KOKKOS_INLINE_FUNCTION PCE< Storage > min(const typename PCE< Storage >::value_type &a, const PCE< Storage > &b)
expr2 j expr1 expr1 expr2 expr2 j expr1 c c c c MaxOp
expr1 expr1 expr1 expr2 expr1 expr1 c expr2 expr1 c expr1 expr2 expr1 expr2 expr1 expr1 expr1 expr1 j expr1 expr1 expr1 expr1 j expr1 c *expr2 expr1 c expr1 c expr1 c expr1 expr1 expr1 expr1 j *expr1 expr2 expr1 expr1 j *expr1 c expr2 expr1 c expr1 expr2 expr1 expr2 expr1 Atan2Op
#define BINARYFUNC_MACRO(OP, FADOP)
KOKKOS_INLINE_FUNCTION PCE< Storage > max(const typename PCE< Storage >::value_type &a, const PCE< Storage > &b)
KOKKOS_INLINE_FUNCTION PCE< Storage > cosh(const PCE< Storage > &a)
KOKKOS_INLINE_FUNCTION PCE< Storage > abs(const PCE< Storage > &a)
KOKKOS_INLINE_FUNCTION PCE< Storage > atan(const PCE< Storage > &a)
KOKKOS_INLINE_FUNCTION PCE< Storage > exp(const PCE< Storage > &a)
expr2 j expr1 expr1 expr2 expr2 j expr1 c c c c MinOp
expr expr expr expr ExpOp
KOKKOS_INLINE_FUNCTION PCE< Storage > sin(const PCE< Storage > &a)
KOKKOS_INLINE_FUNCTION PCE< Storage > log(const PCE< Storage > &a)
KOKKOS_INLINE_FUNCTION PCE< Storage > log10(const PCE< Storage > &a)
KOKKOS_INLINE_FUNCTION PCE< Storage > asin(const PCE< Storage > &a)
KOKKOS_INLINE_FUNCTION PCE< Storage > cos(const PCE< Storage > &a)