50 #ifndef INTREPID_ARRAYTOOLS_HPP 51 #define INTREPID_ARRAYTOOLS_HPP 53 #include "Intrepid_ConfigDefs.hpp" 55 #include "Teuchos_BLAS.hpp" 56 #include "Teuchos_Assert.hpp" 57 #include <Intrepid_KokkosRank.hpp> 58 #ifdef INTREPID_OLD_KOKKOS_CODE 59 #include "Kokkos_Core.hpp" 60 #include <impl/Kokkos_Timer.hpp> 350 template<
class Scalar,
class ArrayOutFields,
class ArrayInFieldsLeft,
class ArrayInFieldsRight>
352 const ArrayInFieldsLeft & leftFields,
353 const ArrayInFieldsRight & rightFields,
355 const bool sumInto =
false);
379 template<
class Scalar,
class ArrayOutFields,
class ArrayInFieldsLeft,
class ArrayInFieldsRight>
381 const ArrayInFieldsLeft & leftFields,
382 const ArrayInFieldsRight & rightFields,
384 const bool sumInto =
false);
409 template<
class Scalar,
class ArrayOutFields,
class ArrayInFieldsLeft,
class ArrayInFieldsRight>
411 const ArrayInFieldsLeft & leftFields,
412 const ArrayInFieldsRight & rightFields,
414 const bool sumInto =
false);
435 template<
class Scalar,
class ArrayOutFields,
class ArrayInData,
class ArrayInFields>
437 const ArrayInData & inputData,
438 const ArrayInFields & inputFields,
440 const bool sumInto =
false);
462 template<
class Scalar,
class ArrayOutFields,
class ArrayInData,
class ArrayInFields>
464 const ArrayInData & inputData,
465 const ArrayInFields & inputFields,
467 const bool sumInto =
false);
490 template<
class Scalar,
class ArrayOutFields,
class ArrayInData,
class ArrayInFields>
492 const ArrayInData & inputData,
493 const ArrayInFields & inputFields,
495 const bool sumInto =
false);
514 template<
class Scalar,
class ArrayOutData,
class ArrayInDataLeft,
class ArrayInDataRight>
516 const ArrayInDataLeft & inputDataLeft,
517 const ArrayInDataRight & inputDataRight,
519 const bool sumInto =
false);
538 template<
class Scalar,
class ArrayOutData,
class ArrayInDataLeft,
class ArrayInDataRight>
540 const ArrayInDataLeft & inputDataLeft,
541 const ArrayInDataRight & inputDataRight,
543 const bool sumInto =
false);
563 template<
class Scalar,
class ArrayOutData,
class ArrayInDataLeft,
class ArrayInDataRight>
565 const ArrayInDataLeft & inputDataLeft,
566 const ArrayInDataRight & inputDataRight,
568 const bool sumInto =
false);
600 template<
class Scalar,
class ArrayOutFields,
class ArrayInData,
class ArrayInFields>
602 const ArrayInData & inputData,
603 const ArrayInFields & inputFields,
604 const bool reciprocal =
false);
606 template<
class ArrayOutFields,
class ArrayInData,
class ArrayInFields,
class Layout,
class MemorySpace,
int infieldRank,
int outfieldRank>
643 template<
class Scalar,
class ArrayOutData,
class ArrayInDataLeft,
class ArrayInDataRight>
645 const ArrayInDataLeft & inputDataLeft,
646 const ArrayInDataRight & inputDataRight,
647 const bool reciprocal =
false);
677 template<
class ArrayOutData,
class ArrayInDataLeft,
class ArrayInDataRight,
class Layout,
class MemorySpace,
int invalRank,
int outvalRank>
685 #ifdef INTREPID_OLD_KOKKOS_CODE 693 template<
class ArrayOutData,
class ArrayInDataLeft,
class ArrayInDataRight,
class Layout,
class MemorySpace,
int invalRank,
int outvalRank>
694 struct scalarMultiplyDataData2Kokkos;
727 template<
class Scalar,
class ArrayOutFields,
class ArrayInData,
class ArrayInFields>
729 const ArrayInData & inputDataLeft,
730 const ArrayInFields & inputFields);
759 template<
class Scalar,
class ArrayOutData,
class ArrayInDataLeft,
class ArrayInDataRight>
761 const ArrayInDataLeft & inputDataLeft,
762 const ArrayInDataRight & inputDataRight);
786 template<
class Scalar,
class ArrayOutFields,
class ArrayInData,
class ArrayInFields>
788 const ArrayInData & inputData,
789 const ArrayInFields & inputFields);
812 template<
class Scalar,
class ArrayOutData,
class ArrayInDataLeft,
class ArrayInDataRight>
814 const ArrayInDataLeft & inputDataLeft,
815 const ArrayInDataRight & inputDataRight);
840 template<
class Scalar,
class ArrayOutFields,
class ArrayInData,
class ArrayInFields>
842 const ArrayInData & inputData,
843 const ArrayInFields & inputFields);
867 template<
class Scalar,
class ArrayOutData,
class ArrayInDataLeft,
class ArrayInDataRight>
869 const ArrayInDataLeft & inputDataLeft,
870 const ArrayInDataRight & inputDataRight);
908 template<
class Scalar,
class ArrayOutFields,
class ArrayInData,
class ArrayInFields>
910 const ArrayInData & inputData,
911 const ArrayInFields & inputFields,
912 const char transpose =
'N');
953 template<
class Scalar,
class ArrayOutData,
class ArrayInDataLeft,
class ArrayInDataRight>
955 const ArrayInDataLeft & inputDataLeft,
956 const ArrayInDataRight & inputDataRight,
957 const char transpose =
'N');
1000 template<
class Scalar,
class ArrayOutFields,
class ArrayInData,
class ArrayInFields>
1002 const ArrayInData & inputData,
1003 const ArrayInFields & inputFields,
1004 const char transpose =
'N');
1041 template<
class Scalar,
class ArrayOutData,
class ArrayInDataLeft,
class ArrayInDataRight>
1043 const ArrayInDataLeft & inputDataLeft,
1044 const ArrayInDataRight & inputDataRight,
1045 const char transpose =
'N');
1047 template<
class Scalar,
class ArrayOutData,
class ArrayInDataLeft,
class ArrayInDataRight,
int inleftrank,
int inrankright>
1050 template<
class Scalar,
class ArrayOutData,
class ArrayInDataLeft,
class ArrayInDataRight,
int inrightrank>
1074 template<
class Scalar,
class ArrayOutFields,
class ArrayInFields>
1075 static void cloneFields(ArrayOutFields & outputFields,
1076 const ArrayInFields & inputFields);
1079 template<
class ArrayOutFields,
class ArrayInFields,
class Layout,
class MemorySpace,
int invalRank,
int outvalRank>
1104 template<
class Scalar,
class ArrayOutFields,
class ArrayInFactors,
class ArrayInFields>
1106 const ArrayInFactors & inputFactors,
1107 const ArrayInFields & inputFields);
1125 template<
class Scalar,
class ArrayInOutFields,
class ArrayInFactors>
1126 static void scaleFields(ArrayInOutFields & inoutFields,
1127 const ArrayInFactors & inputFactors);
Contains definitions of custom data types in Intrepid.
ECompEngine
Specifies how operators and functionals are computed internally (COMP_MANUAL = native C++ implementat...