53 template<
class GlobalOrdinal,
class Node>
56 return *tX.getEpetra_Vector();
59 template<
class GlobalOrdinal,
class Node>
62 return *tX.getEpetra_Vector();
66 #ifndef XPETRA_EPETRA_NO_32BIT_GLOBAL_INDICES 67 #ifdef HAVE_XPETRA_TPETRA 68 #include "TpetraCore_config.h" 69 #if ((defined(EPETRA_HAVE_OMP) && !defined(HAVE_TPETRA_INST_OPENMP)) || \ 70 (!defined(EPETRA_HAVE_OMP) && !defined(HAVE_TPETRA_INST_SERIAL))) 71 template class EpetraVectorT<int, Xpetra::EpetraNode >;
72 template Epetra_Vector & toEpetra<int,Xpetra::EpetraNode >(Vector<double, int, int, Xpetra::EpetraNode> &);
73 template const Epetra_Vector & toEpetra<int, Xpetra::EpetraNode >(
const Vector<double, int, int, Xpetra::EpetraNode> &);
76 #ifdef HAVE_TPETRA_INST_SERIAL 77 template class EpetraVectorT<int, Kokkos::Compat::KokkosSerialWrapperNode >;
78 template Epetra_Vector & toEpetra<int,Kokkos::Compat::KokkosSerialWrapperNode >(Vector<double, int, int, Kokkos::Compat::KokkosSerialWrapperNode> &);
79 template const Epetra_Vector & toEpetra<int, Kokkos::Compat::KokkosSerialWrapperNode >(
const Vector<double, int, int, Kokkos::Compat::KokkosSerialWrapperNode> &);
81 #ifdef HAVE_TPETRA_INST_PTHREAD 82 template class EpetraVectorT<int, Kokkos::Compat::KokkosThreadsWrapperNode>;
83 template Epetra_Vector & toEpetra<int,Kokkos::Compat::KokkosThreadsWrapperNode >(Vector<double, int, int, Kokkos::Compat::KokkosThreadsWrapperNode> &);
84 template const Epetra_Vector & toEpetra<int, Kokkos::Compat::KokkosThreadsWrapperNode >(
const Vector<double, int, int, Kokkos::Compat::KokkosThreadsWrapperNode> &);
86 #ifdef HAVE_TPETRA_INST_OPENMP 87 template class EpetraVectorT<int, Kokkos::Compat::KokkosOpenMPWrapperNode >;
88 template Epetra_Vector & toEpetra<int,Kokkos::Compat::KokkosOpenMPWrapperNode >(Vector<double, int, int, Kokkos::Compat::KokkosOpenMPWrapperNode> &);
89 template const Epetra_Vector & toEpetra<int, Kokkos::Compat::KokkosOpenMPWrapperNode>(
const Vector<double, int, int, Kokkos::Compat::KokkosOpenMPWrapperNode> &);
91 #ifdef HAVE_TPETRA_INST_CUDA 92 typedef Kokkos::Compat::KokkosCudaWrapperNode default_node_type;
93 template class EpetraVectorT<int, default_node_type >;
94 template Epetra_Vector & toEpetra<int,default_node_type >(Vector<double, int, int, default_node_type> &);
95 template const Epetra_Vector & toEpetra<int, default_node_type >(
const Vector<double, int, int, default_node_type> &);
100 template class EpetraVectorT<int, default_node_type >;
101 template Epetra_Vector & toEpetra<int,default_node_type >(Vector<double, int, int, default_node_type> &);
102 template const Epetra_Vector & toEpetra<int, default_node_type >(
const Vector<double, int, int, default_node_type> &);
103 #endif // HAVE_XPETRA_TPETRA 106 #ifndef XPETRA_EPETRA_NO_64BIT_GLOBAL_INDICES 107 #ifdef HAVE_XPETRA_TPETRA 108 #include "TpetraCore_config.h" 109 #if ((defined(EPETRA_HAVE_OMP) && !defined(HAVE_TPETRA_INST_OPENMP)) || \ 110 (!defined(EPETRA_HAVE_OMP) && !defined(HAVE_TPETRA_INST_SERIAL))) 111 template class EpetraVectorT<long long, Xpetra::EpetraNode >;
112 template Epetra_Vector & toEpetra<long long,Xpetra::EpetraNode >(Vector<double, int, long long, Xpetra::EpetraNode> &);
113 template const Epetra_Vector & toEpetra<long long, Xpetra::EpetraNode >(
const Vector<double, int, long long, Xpetra::EpetraNode> &);
116 #ifdef HAVE_TPETRA_INST_SERIAL 117 template class EpetraVectorT<long long, Kokkos::Compat::KokkosSerialWrapperNode >;
118 template Epetra_Vector & toEpetra<long long,Kokkos::Compat::KokkosSerialWrapperNode>(Vector<double, int, long long, Kokkos::Compat::KokkosSerialWrapperNode> &);
119 template const Epetra_Vector & toEpetra<long long, Kokkos::Compat::KokkosSerialWrapperNode>(
const Vector<double, int, long long, Kokkos::Compat::KokkosSerialWrapperNode> &);
121 #ifdef HAVE_TPETRA_INST_PTHREAD 122 template class EpetraVectorT<long long, Kokkos::Compat::KokkosThreadsWrapperNode>;
123 template Epetra_Vector & toEpetra<long long,Kokkos::Compat::KokkosThreadsWrapperNode>(Vector<double, int, long long, Kokkos::Compat::KokkosThreadsWrapperNode> &);
124 template const Epetra_Vector & toEpetra<long long,Kokkos::Compat::KokkosThreadsWrapperNode>(
const Vector<double, int, long long, Kokkos::Compat::KokkosThreadsWrapperNode> &);
126 #ifdef HAVE_TPETRA_INST_OPENMP 127 template class EpetraVectorT<long long, Kokkos::Compat::KokkosOpenMPWrapperNode >;
128 template Epetra_Vector & toEpetra<long long,Kokkos::Compat::KokkosOpenMPWrapperNode>(Vector<double, int, long long, Kokkos::Compat::KokkosOpenMPWrapperNode> &);
129 template const Epetra_Vector & toEpetra<long long,Kokkos::Compat::KokkosOpenMPWrapperNode>(
const Vector<double, int, long long, Kokkos::Compat::KokkosOpenMPWrapperNode> &);
131 #ifdef HAVE_TPETRA_INST_CUDA 132 typedef Kokkos::Compat::KokkosCudaWrapperNode default_node_type;
133 template class EpetraVectorT<long long, default_node_type >;
134 template Epetra_Vector & toEpetra<long long,default_node_type >(Vector<double, int, long long, default_node_type> &);
135 template const Epetra_Vector & toEpetra<long long, default_node_type >(
const Vector<double, int, long long, default_node_type> &);
140 template class EpetraVectorT<long long, default_node_type >;
141 template Epetra_Vector & toEpetra<long long,default_node_type >(Vector<double, int, long long, default_node_type> &);
142 template const Epetra_Vector & toEpetra<long long, default_node_type >(
const Vector<double, int, long long, default_node_type> &);
143 #endif // HAVE_XPETRA_TPETRA
const Epetra_CrsGraph & toEpetra(const RCP< const CrsGraph< int, GlobalOrdinal, Node > > &graph)
#define XPETRA_DYNAMIC_CAST(type, obj, newObj, exceptionMsg)