15#ifndef __INTREPID2_ORIENTATION_OPERATOR_HPP__
16#define __INTREPID2_ORIENTATION_OPERATOR_HPP__
18#include "Intrepid2_ConfigDefs.hpp"
22#include "Shards_CellTopology.hpp"
37 template<
class DeviceType>
40 template<
class ValueType>
45 KOKKOS_INLINE_FUNCTION
47 : ptr(
nullptr), extent0(0)
50 KOKKOS_INLINE_FUNCTION
51 RawView1D(ValueType* ptr_,
const size_type extent0_)
52 : ptr(ptr_), extent0(extent0_)
55 KOKKOS_INLINE_FUNCTION
56 ValueType& operator()(
const ordinal_type i)
const {
60 KOKKOS_INLINE_FUNCTION
61 ValueType& operator[](
const ordinal_type i)
const {
65 KOKKOS_INLINE_FUNCTION
66 ordinal_type extent_int(
const ordinal_type i)
const {
67 return (i == 0) ?
static_cast<ordinal_type
>(extent0) : 1;
70 KOKKOS_INLINE_FUNCTION
71 size_type extent(
const ordinal_type i)
const {
72 return (i == 0) ? extent0 : 1;
75 KOKKOS_INLINE_FUNCTION
76 ValueType* data()
const {
92 bool isWeightedPermutation;
95 KOKKOS_INLINE_FUNCTION
102 KOKKOS_INLINE_FUNCTION
107 KOKKOS_INLINE_FUNCTION
Definition file for the Intrepid2::OrientationOperator class.
Contains definitions of custom data types in Intrepid2.
Header function for Intrepid2::Util class and other utility functions.
KOKKOS_INLINE_FUNCTION OrientationOperator(UnmanagedOrdinalView rowIndices_, UnmanagedOrdinalView packedColumnIndices_, UnmanagedDoubleView packedWeights_)
weighted-permutation constructor. Sets isWeightedPermutation to true.
KOKKOS_INLINE_FUNCTION OrientationOperator(UnmanagedOrdinalView rowIndices_, UnmanagedOrdinalView offsetsForRowOrdinal_, UnmanagedOrdinalView packedColumnIndices_, UnmanagedDoubleView packedWeights_)
general constructor. Sets isWeightedPermutation to false.