47 #include "Xpetra_BlockedMultiVector.hpp" 55 #if defined(HAVE_XPETRA_EPETRA) 57 #if !defined(XPETRA_EPETRA_NO_32BIT_GLOBAL_INDICES) 66 RCP<MultiVector<double, int, int, EpetraNode>>
81 #ifdef HAVE_XPETRA_TPETRA 97 Teuchos::RCP<MultiVector<double, int, int, EpetraNode>>
100 const Teuchos::ArrayView<
const Teuchos::ArrayView<const double>>& ArrayOfPtrs,
105 #ifdef HAVE_XPETRA_TPETRA 121 Teuchos::RCP<MultiVector<double, int, int, EpetraNode>>
124 Teuchos::DataAccess copyOrView)
128 #ifdef HAVE_XPETRA_TPETRA 150 RCP<MultiVector<int, int, int, EpetraNode>>
163 #ifdef HAVE_XPETRA_TPETRA 179 Teuchos::RCP<MultiVector<int, int, int, EpetraNode>>
182 const Teuchos::ArrayView<
const Teuchos::ArrayView<const int>>& ArrayOfPtrs,
187 #ifdef HAVE_XPETRA_TPETRA 203 Teuchos::RCP<MultiVector<int, int, int, EpetraNode>>
206 Teuchos::DataAccess copyOrView)
210 #ifdef HAVE_XPETRA_TPETRA 227 #if !defined(XPETRA_EPETRA_NO_64BIT_GLOBAL_INDICES) 234 RCP<MultiVector<double, int, long long, EpetraNode>>
249 #ifdef HAVE_XPETRA_TPETRA 252 return rcp(
new TpetraMultiVector<double, int, long long, EpetraNode>(map, NumVectors, zeroOut));
258 return rcp(
new EpetraMultiVectorT<long long, EpetraNode>(map, NumVectors, zeroOut));
265 Teuchos::RCP<MultiVector<double, int, long long, EpetraNode>>
267 Build(
const Teuchos::RCP<
const Map<int, long long, EpetraNode>>& map,
268 const Teuchos::ArrayView<
const Teuchos::ArrayView<const Scalar>>& ArrayOfPtrs,
273 #ifdef HAVE_XPETRA_TPETRA 276 return rcp(
new TpetraMultiVector<double, int, long long, EpetraNode>(map, ArrayOfPtrs, NumVectors));
282 return rcp(
new EpetraMultiVectorT<long long, EpetraNode>(map, ArrayOfPtrs, NumVectors));
289 Teuchos::RCP<MultiVector<double, int, long long, EpetraNode>>
292 Teuchos::DataAccess copyOrView)
296 #ifdef HAVE_XPETRA_TPETRA 318 RCP<MultiVector<int, int, long long, EpetraNode>>
333 #ifdef HAVE_XPETRA_TPETRA 336 return rcp(
new TpetraMultiVector<int, int, long long, EpetraNode>(map, NumVectors, zeroOut));
342 return rcp(
new EpetraIntMultiVectorT<long long, EpetraNode>(map, NumVectors, zeroOut));
349 Teuchos::RCP<MultiVector<int, int, long long, EpetraNode>>
351 Build(
const Teuchos::RCP<
const Map<int, long long, Node>>& map,
352 const Teuchos::ArrayView<
const Teuchos::ArrayView<const int>>& ArrayOfPtrs,
357 #ifdef HAVE_XPETRA_TPETRA 360 return rcp(
new TpetraMultiVector<int, int, long long, EpetraNode>(map, ArrayOfPtrs, NumVectors));
366 return rcp(
new EpetraIntMultiVectorT<long long, EpetraNode>(map, ArrayOfPtrs, NumVectors));
373 Teuchos::RCP<MultiVector<int, int, long long, EpetraNode>>
376 Teuchos::DataAccess copyOrView)
380 #ifdef HAVE_XPETRA_TPETRA 396 #endif // END !defined(XPETRA_EPETRA_NO_64BIT_GLOBAL_INDICES) 398 #endif // END !defined(XPETRA_EPETRA_NO_32BIT_GLOBAL_INDICES) 400 #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)