42 #ifndef STOKHOS_SACADO_MATH_FUNCTIONS_HPP
43 #define STOKHOS_SACADO_MATH_FUNCTIONS_HPP
45 #define UNARYFUNC_MACRO(OP,FADOP) \
49 template <typename T, typename S> class OrthogPoly; \
50 template <typename T, typename S> \
51 OrthogPoly<T,S> OP (const OrthogPoly<T,S>&); \
55 template <typename T> class FADOP; \
56 template <typename T> class Expr; \
57 template <typename T> \
58 Expr< FADOP< Expr<T> > > OP (const Expr<T>&); \
64 using Sacado::PCE::OP; \
65 using Sacado::ETPCE::OP; \
88 #undef UNARYFUNC_MACRO
90 #define BINARYFUNC_MACRO(OP,FADOP) \
94 template <typename T, typename S> class OrthogPoly; \
95 template <typename T, typename S> \
96 OrthogPoly<T,S> OP (const OrthogPoly<T,S>&, \
97 const OrthogPoly<T,S>&); \
98 template <typename T, typename S> \
99 OrthogPoly<T,S> OP (const T&, \
100 const OrthogPoly<T,S>&); \
101 template <typename T, typename S> \
102 OrthogPoly<T,S> OP (const OrthogPoly<T,S>&, \
107 template <typename T1, typename T2> class FADOP; \
108 template <typename T> class Expr; \
109 template <typename T> class ConstExpr; \
110 template <typename T1, typename T2> \
111 Expr< FADOP< Expr<T1>, Expr<T2> > > \
112 OP (const Expr<T1>&, const Expr<T2>&); \
114 template <typename T> \
115 Expr< FADOP< Expr<T>, Expr<T> > > \
116 OP (const Expr<T>&, const Expr<T>&); \
118 template <typename T> \
119 Expr< FADOP< typename Expr<T>::value_type, Expr<T> > > \
120 OP (const typename Expr<T>::value_type&, const Expr<T>&); \
122 template <typename T> \
123 Expr< FADOP< Expr<T>, typename Expr<T>::value_type > > \
124 OP (const Expr<T>&, const typename Expr<T>::value_type&); \
130 using Sacado::PCE::OP; \
131 using Sacado::ETPCE::OP; \
139 #undef BINARYFUNC_MACRO
141 #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)