49 #ifndef __INTREPID2_REALSPACETOOLS_HPP__ 
   50 #define __INTREPID2_REALSPACETOOLS_HPP__ 
   52 #include "Intrepid2_ConfigDefs.hpp" 
   57 #include "Kokkos_Core.hpp" 
   78   template<
typename ExecSpaceType = 
void>
 
   92       template<
typename inVecValueType, 
class ...inVecProperties>
 
   93       KOKKOS_INLINE_FUNCTION
 
   95       vectorNorm( 
const Kokkos::DynRankView<inVecValueType,inVecProperties...> inVec, 
 
   96                   const ENorm normType );
 
  107       template<
typename inMatValueType, 
class ...inMatProperties>
 
  108       KOKKOS_INLINE_FUNCTION
 
  109       static inMatValueType
 
  110       det( 
const Kokkos::DynRankView<inMatValueType,inMatProperties...> inMat );
 
  122       template<
typename inVec1ValueType, 
class ...inVec1Properties,
 
  123                typename inVec2ValueType, 
class ...inVec2Properties>
 
  124       KOKKOS_INLINE_FUNCTION
 
  125       static inVec1ValueType
 
  126       dot( 
const Kokkos::DynRankView<inVec1ValueType,inVec1Properties...> inVec1, 
 
  127            const Kokkos::DynRankView<inVec2ValueType,inVec2Properties...> inVec2 );
 
  137     template<
typename outputValueType, 
class ...outputProperties,
 
  138              typename inputValueType,  
class ...inputProperties>
 
  141                          const Kokkos::DynRankView<inputValueType, inputProperties...>   input );
 
  153     template<
typename outputValueType, 
class ...outputProperties,
 
  154              typename inputValueType,  
class ...inputProperties>
 
  156     clone(       Kokkos::DynRankView<outputValueType,outputProperties...> output,
 
  157            const Kokkos::DynRankView<inputValueType,inputProperties...>   input );
 
  168     template<
typename absArrayValueType, 
class ...absArrayProperties, 
 
  169              typename inArrayValueType,  
class ...inArrayProperties>
 
  171     absval(       Kokkos::DynRankView<absArrayValueType,absArrayProperties...> absArray, 
 
  172             const Kokkos::DynRankView<inArrayValueType, inArrayProperties...>   inArray );
 
  179     template<
typename inoutArrayValueType, 
class ...inoutArrayProperties>
 
  181     absval( Kokkos::DynRankView<inoutArrayValueType,inoutArrayProperties...> inoutArray );
 
  197     template<
typename normArrayValueType, 
class ...normArrayProperties,
 
  198              typename inVecValueType,     
class ...inVecProperties> 
 
  200     vectorNorm(       Kokkos::DynRankView<normArrayValueType,normArrayProperties...> normArray, 
 
  201                 const Kokkos::DynRankView<inVecValueType,    inVecProperties...>     inVecs, 
 
  202                 const ENorm normType );
 
  218     template<
typename transposeMatValueType, 
class ...transposeMatProperties,
 
  219              typename inMatValueType,        
class ...inMatProperties> 
 
  221     transpose(       Kokkos::DynRankView<transposeMatValueType,transposeMatProperties...> transposeMats, 
 
  222                const Kokkos::DynRankView<inMatValueType,       inMatProperties...>        inMats );
 
  239     template<
typename inverseMatValueType, 
class ...inverseMatProperties, 
 
  240              typename inMatValueType,      
class ...inMatProperties>
 
  242     inverse(       Kokkos::DynRankView<inverseMatValueType,inverseMatProperties...> inverseMats, 
 
  243              const Kokkos::DynRankView<inMatValueType,     inMatProperties...>      inMats );
 
  260     template<
typename detArrayValueType, 
class ...detArrayProperties,
 
  261              typename inMatValueType,    
class ...inMatProperties>
 
  263     det(       Kokkos::DynRankView<detArrayValueType,detArrayProperties...> detArray, 
 
  264          const Kokkos::DynRankView<inMatValueType,   inMatProperties...>    inMats );
 
  277     template<
typename sumArrayValueType, 
class ...sumArrayProperties,
 
  278              typename inArray1ValueType, 
class ...inArray1Properties,
 
  279              typename inArray2ValueType, 
class ...inArray2Properties>
 
  281     add(       Kokkos::DynRankView<sumArrayValueType,sumArrayProperties...> sumArray, 
 
  282          const Kokkos::DynRankView<inArray1ValueType,inArray1Properties...> inArray1, 
 
  283          const Kokkos::DynRankView<inArray2ValueType,inArray2Properties...> inArray2 );
 
  295     template<
typename inoutSumArrayValueType, 
class ...inoutSumArrayProperties,
 
  296              typename inArrayValueType,       
class ...inArrayProperties>
 
  298     add(       Kokkos::DynRankView<inoutSumArrayValueType,inoutSumArrayProperties...> inoutSumArray, 
 
  299          const Kokkos::DynRankView<inArrayValueType,      inArrayProperties...>       inArray );
 
  312     template<
typename diffArrayValueType, 
class ...diffArrayProperties,
 
  313              typename inArray1ValueType,  
class ...inArray1Properties,
 
  314              typename inArray2ValueType,  
class ...inArray2Properties>
 
  316     subtract(       Kokkos::DynRankView<diffArrayValueType,diffArrayProperties...> diffArray, 
 
  317               const Kokkos::DynRankView<inArray1ValueType, inArray1Properties...>  inArray1, 
 
  318               const Kokkos::DynRankView<inArray2ValueType, inArray2Properties...>  inArray2 );
 
  330     template<
typename inoutDiffArrayValueType, 
class ...inoutDiffArrayProperties,
 
  331              typename inArrayValueType,        
class ...inArrayProperties>
 
  333     subtract(       Kokkos::DynRankView<inoutDiffArrayValueType,inoutDiffArrayProperties...> diffArray,
 
  334               const Kokkos::DynRankView<inArrayValueType,       inArrayProperties...>        inArray );
 
  347     template<
typename ValueType,
 
  348              typename scaledArrayValueType, 
class ...scaledArrayProperties,
 
  349              typename inArrayValueType,     
class ...inArrayProperties>
 
  351     scale(       Kokkos::DynRankView<scaledArrayValueType,scaledArrayProperties...> scaledArray,
 
  352            const Kokkos::DynRankView<inArrayValueType,    inArrayProperties...>     inArray,
 
  353            const ValueType alpha );
 
  361     template<
typename ValueType,
 
  362              typename inoutScaledArrayValueType, 
class ...inoutScaledArrayProperties>
 
  364     scale(       Kokkos::DynRankView<inoutScaledArrayValueType,inoutScaledArrayProperties...> inoutScaledArray,
 
  365            const ValueType alpha );
 
  381     template<
typename dotArrayValueType, 
class ...dotArrayProperties,
 
  382              typename inVec1ValueType,   
class ...inVec1Properties,
 
  383              typename inVec2ValueType,   
class ...inVec2Properties>
 
  385     dot(       Kokkos::DynRankView<dotArrayValueType,dotArrayProperties...> dotArray, 
 
  386          const Kokkos::DynRankView<inVec1ValueType,  inVec1Properties...>   inVecs1, 
 
  387          const Kokkos::DynRankView<inVec2ValueType,  inVec2Properties...>   inVecs2 );
 
  407     template<
typename matVecValueType, 
class ...matVecProperties,
 
  408              typename inMatValueType,  
class ...inMatProperties,
 
  409              typename inVecValueType,  
class ...inVecProperties>
 
  411     matvec(       Kokkos::DynRankView<matVecValueType,matVecProperties...> matVecs,
 
  412             const Kokkos::DynRankView<inMatValueType, inMatProperties...>  inMats,
 
  413             const Kokkos::DynRankView<inVecValueType, inVecProperties...>  inVecs );
 
  428     template<
typename vecProdValueType, 
class ...vecProdProperties,
 
  429              typename inLeftValueType,  
class ...inLeftProperties,
 
  430              typename inRightValueType, 
class ...inRightProperties>
 
  432     vecprod(       Kokkos::DynRankView<vecProdValueType,vecProdProperties...> vecProd,
 
  433              const Kokkos::DynRankView<inLeftValueType, inLeftProperties...>  inLeft,
 
  434              const Kokkos::DynRankView<inRightValueType,inRightProperties...> inRight );
 
Header function for Intrepid2::Util class and other utility functions. 
 
Contains definitions of custom data types in Intrepid2.