50 #ifndef ZOLTAN2_INPUTTRAITS_HPP 51 #define ZOLTAN2_INPUTTRAITS_HPP 55 #include <Tpetra_CrsMatrix.hpp> 56 #include <Tpetra_RowMatrix.hpp> 57 #include <Tpetra_CrsGraph.hpp> 59 #ifdef HAVE_ZOLTAN2_EPETRA 60 #include <Epetra_CrsMatrix.h> 61 #include <Epetra_CrsGraph.h> 64 #include <Xpetra_CrsMatrix.hpp> 65 #include <Xpetra_RowMatrix.hpp> 66 #include <Xpetra_TpetraRowMatrix.hpp> 67 #include <Xpetra_CrsGraph.hpp> 68 #include <Kokkos_DefaultNode.hpp> 133 template <
typename scalar=
double,
typename lno=
int,
typename gno=
int>
171 template <
typename User>
199 static inline std::string
name() {
return "InputAdapter";}
202 #ifndef DOXYGEN_SHOULD_SKIP_THIS 204 template <
typename Scalar,
207 struct InputTraits<BasicUserTypes<Scalar, LNO, GNO> >
214 static inline std::string name() {
return "BasicUserTypes";}
217 template <
typename Scalar,
218 typename LocalOrdinal,
219 typename GlobalOrdinal,
221 struct InputTraits<Xpetra::CrsMatrix<Scalar,LocalOrdinal,GlobalOrdinal,Node> >
224 typedef LocalOrdinal
lno_t;
225 typedef GlobalOrdinal
gno_t;
228 static inline std::string name() {
return "Xpetra::CrsMatrix";}
231 template <
typename Scalar,
232 typename LocalOrdinal,
233 typename GlobalOrdinal,
235 struct InputTraits<Tpetra::CrsMatrix<Scalar,LocalOrdinal,GlobalOrdinal,Node> >
238 typedef LocalOrdinal
lno_t;
239 typedef GlobalOrdinal
gno_t;
242 static inline std::string name() {
return "Tpetra::CrsMatrix";}
245 #ifdef HAVE_ZOLTAN2_EPETRA 254 static inline std::string name() {
return "Epetra_CrsMatrix";}
258 template <
typename Scalar,
259 typename LocalOrdinal,
260 typename GlobalOrdinal,
262 struct InputTraits<Xpetra::RowMatrix<Scalar,LocalOrdinal,GlobalOrdinal,Node> >
265 typedef LocalOrdinal
lno_t;
266 typedef GlobalOrdinal
gno_t;
269 static inline std::string name() {
return "Xpetra::RowMatrix";}
272 template <
typename Scalar,
273 typename LocalOrdinal,
274 typename GlobalOrdinal,
276 struct InputTraits<Tpetra::RowMatrix<Scalar,LocalOrdinal,GlobalOrdinal,Node> >
279 typedef LocalOrdinal
lno_t;
280 typedef GlobalOrdinal
gno_t;
283 static inline std::string name() {
return "Tpetra::RowMatrix";}
286 template <
typename LocalOrdinal,
287 typename GlobalOrdinal,
289 struct InputTraits<Xpetra::CrsGraph<LocalOrdinal,GlobalOrdinal,Node> >
292 typedef LocalOrdinal
lno_t;
293 typedef GlobalOrdinal
gno_t;
296 static inline std::string name() {
return "Xpetra::CrsGraph";}
299 template <
typename LocalOrdinal,
300 typename GlobalOrdinal,
302 struct InputTraits<Tpetra::CrsGraph<LocalOrdinal,GlobalOrdinal,Node> >
305 typedef LocalOrdinal
lno_t;
306 typedef GlobalOrdinal
gno_t;
309 static inline std::string name() {
return "Tpetra::CrsGraph";}
312 #ifdef HAVE_ZOLTAN2_EPETRA 321 static inline std::string name() {
return "Epetra_CrsGraph";}
325 template <
typename Scalar,
326 typename LocalOrdinal,
327 typename GlobalOrdinal,
332 typedef LocalOrdinal
lno_t;
333 typedef GlobalOrdinal
gno_t;
336 static inline std::string name() {
return "Xpetra::Vector";}
342 template <
typename Scalar,
343 typename LocalOrdinal,
344 typename GlobalOrdinal,
349 typedef LocalOrdinal
lno_t;
350 typedef GlobalOrdinal
gno_t;
353 static inline std::string name() {
return "Tpetra::Vector";}
356 #ifdef HAVE_ZOLTAN2_EPETRA 365 static inline std::string name() {
return "Epetra_Vector";}
369 template <
typename Scalar,
370 typename LocalOrdinal,
371 typename GlobalOrdinal,
373 struct InputTraits<Xpetra::MultiVector<Scalar,LocalOrdinal,GlobalOrdinal,Node> >
376 typedef LocalOrdinal
lno_t;
377 typedef GlobalOrdinal
gno_t;
380 static inline std::string name() {
return "Xpetra::MultiVector";}
383 template <
typename Scalar,
384 typename LocalOrdinal,
385 typename GlobalOrdinal,
387 struct InputTraits<Tpetra::MultiVector<Scalar,LocalOrdinal,GlobalOrdinal,Node> >
390 typedef LocalOrdinal
lno_t;
391 typedef GlobalOrdinal
gno_t;
394 static inline std::string name() {
return "Tpetra::MultiVector";}
397 #ifdef HAVE_ZOLTAN2_EPETRA 406 static inline std::string name() {
return "Epetra_MultiVector";}
410 #endif // DOXYGEN_SHOULD_SKIP_THIS 414 #endif // ZOLTAN2_INPUTTRAITS_HPP
Tpetra::Map::node_type default_node_t
A simple class that can be the User template argument for an InputAdapter.
Tpetra::Vector< z2TestScalar, z2TestLO, z2TestGO > Vector
Gathering definitions used in software development.