47 #include "Xpetra_BlockedMultiVector.hpp"
52 #if defined(HAVE_XPETRA_EPETRA)
54 #if !defined(XPETRA_EPETRA_NO_32BIT_GLOBAL_INDICES)
60 RCP<MultiVector<double, int, int, EpetraNode>>
69 if (!bmap.is_null()) {
73 #ifdef HAVE_XPETRA_TPETRA
86 Teuchos::RCP<MultiVector<double, int, int, EpetraNode>>
89 const Teuchos::ArrayView<
const Teuchos::ArrayView<const double>>& ArrayOfPtrs,
93 #ifdef HAVE_XPETRA_TPETRA
106 Teuchos::RCP<MultiVector<double, int, int, EpetraNode>>
109 Teuchos::DataAccess copyOrView) {
112 #ifdef HAVE_XPETRA_TPETRA
113 if (source->getMap()->lib() ==
UseTpetra) {
118 if (source->getMap()->lib() ==
UseEpetra) {
129 RCP<MultiVector<int, int, int, EpetraNode>>
136 if (!bmap.is_null()) {
140 #ifdef HAVE_XPETRA_TPETRA
153 Teuchos::RCP<MultiVector<int, int, int, EpetraNode>>
156 const Teuchos::ArrayView<
const Teuchos::ArrayView<const int>>& ArrayOfPtrs,
160 #ifdef HAVE_XPETRA_TPETRA
173 Teuchos::RCP<MultiVector<int, int, int, EpetraNode>>
176 Teuchos::DataAccess copyOrView) {
179 #ifdef HAVE_XPETRA_TPETRA
180 if (source->getMap()->lib() ==
UseTpetra) {
185 if (source->getMap()->lib() ==
UseEpetra) {
193 #if !defined(XPETRA_EPETRA_NO_64BIT_GLOBAL_INDICES)
197 RCP<MultiVector<double, int, long long, EpetraNode>>
206 if (!bmap.is_null()) {
210 #ifdef HAVE_XPETRA_TPETRA
223 Teuchos::RCP<MultiVector<double, int, long long, EpetraNode>>
226 const Teuchos::ArrayView<
const Teuchos::ArrayView<const Scalar>>& ArrayOfPtrs,
230 #ifdef HAVE_XPETRA_TPETRA
243 Teuchos::RCP<MultiVector<double, int, long long, EpetraNode>>
246 Teuchos::DataAccess copyOrView) {
249 #ifdef HAVE_XPETRA_TPETRA
250 if (source->getMap()->lib() ==
UseTpetra) {
255 if (source->getMap()->lib() ==
UseEpetra) {
266 RCP<MultiVector<int, int, long long, EpetraNode>>
275 if (!bmap.is_null()) {
279 #ifdef HAVE_XPETRA_TPETRA
292 Teuchos::RCP<MultiVector<int, int, long long, EpetraNode>>
295 const Teuchos::ArrayView<
const Teuchos::ArrayView<const int>>& ArrayOfPtrs,
299 #ifdef HAVE_XPETRA_TPETRA
312 Teuchos::RCP<MultiVector<int, int, long long, EpetraNode>>
315 Teuchos::DataAccess copyOrView) {
318 #ifdef HAVE_XPETRA_TPETRA
319 if (source->getMap()->lib() ==
UseTpetra) {
324 if (source->getMap()->lib() ==
UseEpetra) {
331 #endif // END !defined(XPETRA_EPETRA_NO_64BIT_GLOBAL_INDICES)
333 #endif // END !defined(XPETRA_EPETRA_NO_32BIT_GLOBAL_INDICES)
335 #endif // END HAVE_XPETRA_EPETRA
static Teuchos::RCP< MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > Build(const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node >> &map, size_t NumVectors, bool zeroOut=true)
Constructor specifying the number of non-zeros for all rows.
MultiVectorFactory()
Private constructor. This is a static class.
#define XPETRA_FACTORY_END
#define XPETRA_MONITOR(funcName)