42 #ifndef TPETRA_CONFIGDEFS_HPP
43 #define TPETRA_CONFIGDEFS_HPP
45 #include "Tpetra_Details_DefaultTypes.hpp"
46 #include "Teuchos_ConfigDefs.hpp"
57 #ifdef HAVE_TPETRA_THROW_EFFICIENCY_WARNINGS
58 #define TPETRA_THROWS_EFFICIENCY_WARNINGS 1
60 #define TPETRA_THROWS_EFFICIENCY_WARNINGS 0
63 #ifdef HAVE_TPETRA_PRINT_EFFICIENCY_WARNINGS
64 #define TPETRA_PRINTS_EFFICIENCY_WARNINGS 1
66 #define TPETRA_PRINTS_EFFICIENCY_WARNINGS 0
69 #ifdef HAVE_TPETRA_THROW_ABUSE_WARNINGS
70 #define TPETRA_THROWS_ABUSE_WARNINGS 1
72 #define TPETRA_THROWS_ABUSE_WARNINGS 0
75 #ifdef HAVE_TPETRA_PRINT_ABUSE_WARNINGS
76 #define TPETRA_PRINTS_ABUSE_WARNINGS 1
78 #define TPETRA_PRINTS_ABUSE_WARNINGS 0
86 #include "Teuchos_Array.hpp"
87 #include "Teuchos_RCP.hpp"
88 #include "Teuchos_Tuple.hpp"
90 #include "Teuchos_OrdinalTraits.hpp"
91 #include "Teuchos_ScalarTraits.hpp"
92 #include "Teuchos_TypeNameTraits.hpp"
93 #include "Teuchos_NullIteratorTraits.hpp"
94 #include "Teuchos_SerializationTraits.hpp"
96 #include "Teuchos_CommHelpers.hpp"
98 #include "Teuchos_ParameterList.hpp"
141 enum EPrivateComputeViewConstructor {
142 COMPUTE_VIEW_CONSTRUCTOR
145 enum EPrivateHostViewConstructor {
146 HOST_VIEW_CONSTRUCTOR
165 template<
class Arg1,
class Arg2>
166 class project1st :
public std::binary_function<Arg1, Arg2, Arg1> {
168 typedef Arg1 first_argument_type;
169 typedef Arg2 second_argument_type;
170 typedef Arg1 result_type;
171 Arg1 operator () (
const Arg1& x,
const Arg2& )
const {
191 template<
class Arg1,
class Arg2>
192 class project2nd :
public std::binary_function<Arg1, Arg2, Arg2> {
194 typedef Arg1 first_argument_type;
195 typedef Arg2 second_argument_type;
196 typedef Arg2 result_type;
197 Arg2 operator () (
const Arg1& ,
const Arg2& y)
const {
231 namespace MatrixMatrix {
239 namespace TripleMatrixMultiply {
253 namespace KokkosClassic {
254 using ::Tpetra::ESweepDirection;
257 #if defined(HAVE_TPETRACORE_KOKKOSCORE) && defined(HAVE_TPETRACORE_TEUCHOSKOKKOSCOMPAT) && defined(TPETRA_ENABLE_KOKKOS_DISTOBJECT)
258 #define TPETRA_USE_KOKKOS_DISTOBJECT 1
260 #define TPETRA_USE_KOKKOS_DISTOBJECT 0
263 #include <Kokkos_Complex.hpp>
269 template<
typename Ordinal>
270 class SerializationTraits<Ordinal, ::Kokkos::complex<float> >
271 :
public DirectSerializationTraits<Ordinal, ::Kokkos::complex<float> >
274 template<
typename Ordinal>
275 class SerializationTraits<Ordinal, ::Kokkos::complex<double> >
276 :
public DirectSerializationTraits<Ordinal, ::Kokkos::complex<double> >
280 #endif // TPETRA_CONFIGDEFS_HPP