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_Rank.hpp>
346 template<
class Scalar,
class ArrayOutFields,
class ArrayInFieldsLeft,
class ArrayInFieldsRight>
348 const ArrayInFieldsLeft & leftFields,
349 const ArrayInFieldsRight & rightFields,
350 const ECompEngine compEngine,
351 const bool sumInto =
false);
375 template<
class Scalar,
class ArrayOutFields,
class ArrayInFieldsLeft,
class ArrayInFieldsRight>
377 const ArrayInFieldsLeft & leftFields,
378 const ArrayInFieldsRight & rightFields,
379 const ECompEngine compEngine,
380 const bool sumInto =
false);
405 template<
class Scalar,
class ArrayOutFields,
class ArrayInFieldsLeft,
class ArrayInFieldsRight>
407 const ArrayInFieldsLeft & leftFields,
408 const ArrayInFieldsRight & rightFields,
409 const ECompEngine compEngine,
410 const bool sumInto =
false);
431 template<
class Scalar,
class ArrayOutFields,
class ArrayInData,
class ArrayInFields>
433 const ArrayInData & inputData,
434 const ArrayInFields & inputFields,
435 const ECompEngine compEngine,
436 const bool sumInto =
false);
458 template<
class Scalar,
class ArrayOutFields,
class ArrayInData,
class ArrayInFields>
460 const ArrayInData & inputData,
461 const ArrayInFields & inputFields,
462 const ECompEngine compEngine,
463 const bool sumInto =
false);
486 template<
class Scalar,
class ArrayOutFields,
class ArrayInData,
class ArrayInFields>
488 const ArrayInData & inputData,
489 const ArrayInFields & inputFields,
490 const ECompEngine compEngine,
491 const bool sumInto =
false);
510 template<
class Scalar,
class ArrayOutData,
class ArrayInDataLeft,
class ArrayInDataRight>
512 const ArrayInDataLeft & inputDataLeft,
513 const ArrayInDataRight & inputDataRight,
514 const ECompEngine compEngine,
515 const bool sumInto =
false);
534 template<
class Scalar,
class ArrayOutData,
class ArrayInDataLeft,
class ArrayInDataRight>
536 const ArrayInDataLeft & inputDataLeft,
537 const ArrayInDataRight & inputDataRight,
538 const ECompEngine compEngine,
539 const bool sumInto =
false);
559 template<
class Scalar,
class ArrayOutData,
class ArrayInDataLeft,
class ArrayInDataRight>
561 const ArrayInDataLeft & inputDataLeft,
562 const ArrayInDataRight & inputDataRight,
563 const ECompEngine compEngine,
564 const bool sumInto =
false);
596 template<
class Scalar,
class ArrayOutFields,
class ArrayInData,
class ArrayInFields>
598 const ArrayInData & inputData,
599 const ArrayInFields & inputFields,
600 const bool reciprocal =
false);
602 template<
class ArrayOutFields,
class ArrayInData,
class ArrayInFields,
class Layout,
class MemorySpace,
int infieldRank,
int outfieldRank>
639 template<
class Scalar,
class ArrayOutData,
class ArrayInDataLeft,
class ArrayInDataRight>
641 const ArrayInDataLeft & inputDataLeft,
642 const ArrayInDataRight & inputDataRight,
643 const bool reciprocal =
false);
673 template<
class ArrayOutData,
class ArrayInDataLeft,
class ArrayInDataRight,
class Layout,
class MemorySpace,
int invalRank,
int outvalRank>
711 template<
class Scalar,
class ArrayOutFields,
class ArrayInData,
class ArrayInFields>
713 const ArrayInData & inputDataLeft,
714 const ArrayInFields & inputFields);
743 template<
class Scalar,
class ArrayOutData,
class ArrayInDataLeft,
class ArrayInDataRight>
745 const ArrayInDataLeft & inputDataLeft,
746 const ArrayInDataRight & inputDataRight);
770 template<
class Scalar,
class ArrayOutFields,
class ArrayInData,
class ArrayInFields>
772 const ArrayInData & inputData,
773 const ArrayInFields & inputFields);
796 template<
class Scalar,
class ArrayOutData,
class ArrayInDataLeft,
class ArrayInDataRight>
798 const ArrayInDataLeft & inputDataLeft,
799 const ArrayInDataRight & inputDataRight);
824 template<
class Scalar,
class ArrayOutFields,
class ArrayInData,
class ArrayInFields>
826 const ArrayInData & inputData,
827 const ArrayInFields & inputFields);
851 template<
class Scalar,
class ArrayOutData,
class ArrayInDataLeft,
class ArrayInDataRight>
853 const ArrayInDataLeft & inputDataLeft,
854 const ArrayInDataRight & inputDataRight);
892 template<
class Scalar,
class ArrayOutFields,
class ArrayInData,
class ArrayInFields>
894 const ArrayInData & inputData,
895 const ArrayInFields & inputFields,
896 const char transpose =
'N');
937 template<
class Scalar,
class ArrayOutData,
class ArrayInDataLeft,
class ArrayInDataRight>
939 const ArrayInDataLeft & inputDataLeft,
940 const ArrayInDataRight & inputDataRight,
941 const char transpose =
'N');
984 template<
class Scalar,
class ArrayOutFields,
class ArrayInData,
class ArrayInFields>
986 const ArrayInData & inputData,
987 const ArrayInFields & inputFields,
988 const char transpose =
'N');
1025 template<
class Scalar,
class ArrayOutData,
class ArrayInDataLeft,
class ArrayInDataRight>
1027 const ArrayInDataLeft & inputDataLeft,
1028 const ArrayInDataRight & inputDataRight,
1029 const char transpose =
'N');
1031 template<
class Scalar,
class ArrayOutData,
class ArrayInDataLeft,
class ArrayInDataRight,
int inleftrank,
int inrankright>
1034 template<
class Scalar,
class ArrayOutData,
class ArrayInDataLeft,
class ArrayInDataRight,
int inrightrank>
1058 template<
class Scalar,
class ArrayOutFields,
class ArrayInFields>
1059 static void cloneFields(ArrayOutFields & outputFields,
1060 const ArrayInFields & inputFields);
1063 template<
class ArrayOutFields,
class ArrayInFields,
class Layout,
class MemorySpace,
int invalRank,
int outvalRank>
1088 template<
class Scalar,
class ArrayOutFields,
class ArrayInFactors,
class ArrayInFields>
1090 const ArrayInFactors & inputFactors,
1091 const ArrayInFields & inputFields);
1109 template<
class Scalar,
class ArrayInOutFields,
class ArrayInFactors>
1110 static void scaleFields(ArrayInOutFields & inoutFields,
1111 const ArrayInFactors & inputFactors);
1126 #if defined(Intrepid_SHOW_DEPRECATED_WARNINGS)
1128 #warning "The Intrepid package is deprecated"
Contains definitions of custom data types in Intrepid.