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)