42 #ifndef STOKHOS_SACADO_KOKKOS_MATHFUNCTIONS_HPP 43 #define STOKHOS_SACADO_KOKKOS_MATHFUNCTIONS_HPP 49 #include "Kokkos_Macros.hpp" 51 #ifdef HAVE_STOKHOS_ENSEMBLE_SCALAR_TYPE 53 #define UNARYFUNC_MACRO(OP,FADOP) \ 57 template <typename T> class FADOP; \ 58 template <typename T> class Expr; \ 60 template <typename T> \ 61 KOKKOS_INLINE_FUNCTION \ 63 OP (const Expr<T>&); \ 69 using Sacado::MP::OP; \ 92 #undef UNARYFUNC_MACRO 94 #define BINARYFUNC_MACRO(OP,FADOP) \ 98 template <typename T1, typename T2> class FADOP; \ 99 template <typename T> class Expr; \ 101 template <typename T1, typename T2> \ 102 KOKKOS_INLINE_FUNCTION \ 104 OP (const Expr<T1>&, \ 107 template <typename T> \ 108 KOKKOS_INLINE_FUNCTION \ 109 FADOP< typename T::value_type, T > \ 110 OP (const typename T::value_type&, \ 113 template <typename T> \ 114 KOKKOS_INLINE_FUNCTION \ 115 FADOP< T, typename T::value_type > \ 116 OP (const Expr<T>&, \ 117 const typename T::value_type&); \ 122 using Sacado::MP::OP; \ 130 #undef BINARYFUNC_MACRO 134 #ifdef HAVE_STOKHOS_PCE_SCALAR_TYPE 136 #define UNARYFUNC_MACRO(OP,FADOP) \ 140 template <typename S> class PCE; \ 141 template <typename S> \ 142 KOKKOS_INLINE_FUNCTION \ 143 PCE<S> OP (const PCE<S>&); \ 148 using Sacado::UQ::OP; \ 171 #undef UNARYFUNC_MACRO 173 #define BINARYFUNC_MACRO(OP) \ 177 template <typename S> class PCE; \ 178 template <typename S> \ 179 KOKKOS_INLINE_FUNCTION \ 180 PCE<S> OP (const PCE<S>&, const PCE<S>&); \ 181 template <typename S> \ 182 KOKKOS_INLINE_FUNCTION \ 183 PCE<S> OP (const typename PCE<S>::value_type&, const PCE<S>&); \ 184 template <typename S> \ 185 KOKKOS_INLINE_FUNCTION \ 186 PCE<S> OP (const PCE<S>&, const typename PCE<S>::value_type&); \ 191 using Sacado::UQ::OP; \ 197 #undef BINARYFUNC_MACRO 199 #define BINARYFUNC_MACRO(OP) \ 203 template <typename S> class PCE; \ 204 template <typename S> \ 205 KOKKOS_INLINE_FUNCTION \ 206 PCE<S> OP (const typename S::value_type&, const PCE<S>&); \ 207 template <typename S> \ 208 KOKKOS_INLINE_FUNCTION \ 209 PCE<S> OP (const PCE<S>&, const typename S::value_type&); \ 214 using Sacado::UQ::OP; \ 220 #undef BINARYFUNC_MACRO 224 #endif // STOKHOS_SACADO_KOKKOS_MATHFUNCTIONS_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)
OrthogPoly< T, Storage > atanh(const OrthogPoly< T, Storage > &a)
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)
KOKKOS_INLINE_FUNCTION PCE< Storage > min(const typename PCE< Storage >::value_type &a, const PCE< Storage > &b)
OrthogPoly< T, Storage > acosh(const OrthogPoly< T, Storage > &a)
expr expr expr expr ExpOp
expr expr expr expr j Log10Op
#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)
OrthogPoly< T, Storage > asinh(const OrthogPoly< T, Storage > &a)
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)