49 #ifndef __INTREPID2_CUBATURE_TENSOR_HPP__
50 #define __INTREPID2_CUBATURE_TENSOR_HPP__
52 #include "Intrepid2_ConfigDefs.hpp"
61 template<
typename ExecSpaceType = void,
62 typename pointValueType = double,
63 typename weightValueType =
double>
65 :
public Cubature<ExecSpaceType,pointValueType,weightValueType> {
80 template<
typename cubPointValueType,
class ...cubPointProperties,
81 typename cubWeightValueType,
class ...cubWeightProperties>
83 getCubatureImpl( Kokkos::DynRankView<cubPointValueType, cubPointProperties...> cubPoints,
84 Kokkos::DynRankView<cubWeightValueType,cubWeightProperties...> cubWeights )
const;
86 typedef typename Cubature<ExecSpaceType,pointValueType,weightValueType>::pointViewType pointViewType;
87 typedef typename Cubature<ExecSpaceType,pointValueType,weightValueType>::weightViewType weightViewType;
94 weightViewType cubWeights )
const {
95 getCubatureImpl( cubPoints,
104 ordinal_type numCubPoints = 1;
123 return "CubatureTensor";
129 ordinal_type r_val = 0;
152 CubatureTensor(
const CubatureTensor &b)
156 cubatures_[i] = b.cubatures_[i];
164 template<
typename CubatureType0,
165 typename CubatureType1>
167 const CubatureType1 cubature1 )
170 cubatures_[0] = cubature0;
171 cubatures_[1] = cubature1;
180 template<
typename CubatureType0,
181 typename CubatureType1,
182 typename CubatureType2>
184 const CubatureType1 cubature1,
185 const CubatureType2 cubature2 )
188 cubatures_[0] = cubature0;
189 cubatures_[1] = cubature1;
190 cubatures_[2] = cubature2;