45 #ifndef AMESOS2_VECTORTRAITS_HPP 46 #define AMESOS2_VECTORTRAITS_HPP 50 #include <Tpetra_MultiVector.hpp> 53 #ifdef HAVE_TPETRA_INST_INT_INT 54 #ifdef HAVE_AMESOS2_EPETRA 55 # include <Tpetra_DefaultPlatform.hpp> 56 # include <Epetra_MultiVector.h> 64 template <
class Vector>
65 struct VectorTraits {};
71 template <
typename Scalar,
72 typename LocalOrdinal,
73 typename GlobalOrdinal,
76 Tpetra::MultiVector<Scalar,
80 typedef Scalar scalar_t;
81 typedef LocalOrdinal local_ordinal_t;
82 typedef GlobalOrdinal global_ordinal_t;
85 typedef Tpetra::MultiVector<Scalar, LocalOrdinal, GlobalOrdinal, Node> multivector_type;
86 typedef typename multivector_type::impl_scalar_type ptr_scalar_type;
89 #ifdef HAVE_TPETRA_INST_INT_INT 90 #ifdef HAVE_AMESOS2_EPETRA 93 struct VectorTraits<Epetra_MultiVector> {
94 typedef double scalar_t;
95 typedef int local_ordinal_t;
96 typedef int global_ordinal_t;
97 typedef Tpetra::DefaultPlatform::DefaultPlatformType::NodeType node_t;
99 typedef Epetra_MultiVector multivector_type;
100 typedef double ptr_scalar_type;
108 #endif // AMESOS2_VECTORTRAITS_HPP Definition: Amesos2_AbstractConcreteMatrixAdapter.hpp:48