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> 58 #include <Epetra_CrsMatrix.h> 59 #include <Epetra_CrsGraph.h> 60 #include <Xpetra_CrsMatrix.hpp> 61 #include <Xpetra_RowMatrix.hpp> 62 #include <Xpetra_TpetraRowMatrix.hpp> 63 #include <Xpetra_CrsGraph.hpp> 64 #include <Kokkos_DefaultNode.hpp> 128 template <
typename scalar=
double,
typename lno=
int,
typename gno=
int>
166 template <
typename User>
194 static inline std::string
name() {
return "InputAdapter";}
197 #ifndef DOXYGEN_SHOULD_SKIP_THIS 199 template <
typename Scalar,
202 struct InputTraits<BasicUserTypes<Scalar, LNO, GNO> >
209 static inline std::string name() {
return "BasicUserTypes";}
212 template <
typename Scalar,
213 typename LocalOrdinal,
214 typename GlobalOrdinal,
216 struct InputTraits<Xpetra::CrsMatrix<Scalar,LocalOrdinal,GlobalOrdinal,Node> >
219 typedef LocalOrdinal
lno_t;
220 typedef GlobalOrdinal
gno_t;
223 static inline std::string name() {
return "Xpetra::CrsMatrix";}
226 template <
typename Scalar,
227 typename LocalOrdinal,
228 typename GlobalOrdinal,
230 struct InputTraits<Tpetra::CrsMatrix<Scalar,LocalOrdinal,GlobalOrdinal,Node> >
233 typedef LocalOrdinal
lno_t;
234 typedef GlobalOrdinal
gno_t;
237 static inline std::string name() {
return "Tpetra::CrsMatrix";}
248 static inline std::string name() {
return "Epetra_CrsMatrix";}
251 template <
typename Scalar,
252 typename LocalOrdinal,
253 typename GlobalOrdinal,
255 struct InputTraits<Xpetra::RowMatrix<Scalar,LocalOrdinal,GlobalOrdinal,Node> >
258 typedef LocalOrdinal
lno_t;
259 typedef GlobalOrdinal
gno_t;
262 static inline std::string name() {
return "Xpetra::RowMatrix";}
265 template <
typename Scalar,
266 typename LocalOrdinal,
267 typename GlobalOrdinal,
269 struct InputTraits<Tpetra::RowMatrix<Scalar,LocalOrdinal,GlobalOrdinal,Node> >
272 typedef LocalOrdinal
lno_t;
273 typedef GlobalOrdinal
gno_t;
276 static inline std::string name() {
return "Tpetra::RowMatrix";}
279 template <
typename LocalOrdinal,
280 typename GlobalOrdinal,
282 struct InputTraits<Xpetra::CrsGraph<LocalOrdinal,GlobalOrdinal,Node> >
285 typedef LocalOrdinal
lno_t;
286 typedef GlobalOrdinal
gno_t;
289 static inline std::string name() {
return "Xpetra::CrsGraph";}
292 template <
typename LocalOrdinal,
293 typename GlobalOrdinal,
295 struct InputTraits<Tpetra::CrsGraph<LocalOrdinal,GlobalOrdinal,Node> >
298 typedef LocalOrdinal
lno_t;
299 typedef GlobalOrdinal
gno_t;
302 static inline std::string name() {
return "Tpetra::CrsGraph";}
313 static inline std::string name() {
return "Epetra_CrsGraph";}
316 template <
typename Scalar,
317 typename LocalOrdinal,
318 typename GlobalOrdinal,
323 typedef LocalOrdinal
lno_t;
324 typedef GlobalOrdinal
gno_t;
327 static inline std::string name() {
return "Xpetra::Vector";}
333 template <
typename Scalar,
334 typename LocalOrdinal,
335 typename GlobalOrdinal,
340 typedef LocalOrdinal
lno_t;
341 typedef GlobalOrdinal
gno_t;
344 static inline std::string name() {
return "Tpetra::Vector";}
355 static inline std::string name() {
return "Epetra_Vector";}
358 template <
typename Scalar,
359 typename LocalOrdinal,
360 typename GlobalOrdinal,
362 struct InputTraits<Xpetra::MultiVector<Scalar,LocalOrdinal,GlobalOrdinal,Node> >
365 typedef LocalOrdinal
lno_t;
366 typedef GlobalOrdinal
gno_t;
369 static inline std::string name() {
return "Xpetra::MultiVector";}
372 template <
typename Scalar,
373 typename LocalOrdinal,
374 typename GlobalOrdinal,
376 struct InputTraits<Tpetra::MultiVector<Scalar,LocalOrdinal,GlobalOrdinal,Node> >
379 typedef LocalOrdinal
lno_t;
380 typedef GlobalOrdinal
gno_t;
383 static inline std::string name() {
return "Tpetra::MultiVector";}
394 static inline std::string name() {
return "Epetra_MultiVector";}
397 #endif // DOXYGEN_SHOULD_SKIP_THIS 401 #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.