42 #ifndef KOKKOS_PCE_SPECIALIZATIONS_HPP 43 #define KOKKOS_PCE_SPECIALIZATIONS_HPP 46 #include "Kokkos_MultiVectorKernelOps.hpp" 52 template <
typename ScalarType,
typename StorageType>
53 struct WeightNormOp<
Sacado::PCE::OrthogPoly<ScalarType,StorageType> > {
55 typedef Teuchos::ScalarTraits<Scalar>
SCT;
56 typedef typename SCT::innerProductType
ipType;
60 return Teuchos::ScalarTraits<ipType>::zero();
67 return SCT::innerProduct(tmp,tmp);
71 template <
typename ScalarType,
typename StorageType>
72 struct DotOp1<
Sacado::PCE::OrthogPoly<ScalarType,StorageType> > {
74 typedef Teuchos::ScalarTraits<Scalar>
SCT;
75 typedef typename SCT::innerProductType
ipType;
79 return Teuchos::ScalarTraits<ipType>::zero();
86 return SCT::innerProduct(xi,xi);
90 template <
typename ScalarType,
typename StorageType>
91 struct DotOp2<
Sacado::PCE::OrthogPoly<ScalarType,StorageType> > {
93 typedef Teuchos::ScalarTraits<Scalar>
SCT;
94 typedef typename SCT::innerProductType
ipType;
98 return Teuchos::ScalarTraits<ipType>::zero();
105 return SCT::innerProduct(xi, yi);
SCT::innerProductType ipType
Sacado::PCE::OrthogPoly< ScalarType, StorageType > Scalar
static ipType KERNEL_PREFIX identity()
static ipType KERNEL_PREFIX reduce(ipType x, ipType y)
const IndexType const IndexType const IndexType const IndexType const ValueType const ValueType * x
static ipType KERNEL_PREFIX identity()
SCT::innerProductType ipType
Teuchos::ScalarTraits< Scalar > SCT
Sacado::PCE::OrthogPoly< ScalarType, StorageType > Scalar
Teuchos::ScalarTraits< Scalar > SCT
static ipType KERNEL_PREFIX identity()
static ipType KERNEL_PREFIX reduce(ipType x, ipType y)
static ipType KERNEL_PREFIX reduce(ipType x, ipType y)
Sacado::PCE::OrthogPoly< ScalarType, StorageType > Scalar
ipType KERNEL_PREFIX generate(int i)
ipType KERNEL_PREFIX generate(int i)
Teuchos::ScalarTraits< Scalar > SCT
ipType KERNEL_PREFIX generate(int i)
SCT::innerProductType ipType
const IndexType const IndexType const IndexType const IndexType const ValueType const ValueType ValueType * y