11#include "Xpetra_BlockedMultiVector.hpp"
16#if defined(HAVE_XPETRA_EPETRA)
18#if !defined(XPETRA_EPETRA_NO_32BIT_GLOBAL_INDICES)
27 using BlockedMultiVector = Xpetra::BlockedMultiVector<double, int, int, EpetraNode>
34 return rcp(
new BlockedMultiVector(bmap, NumVectors, zeroOut));
37#ifdef HAVE_XPETRA_TPETRA
57#ifdef HAVE_XPETRA_TPETRA
76#ifdef HAVE_XPETRA_TPETRA
77 if (source->getMap()->lib() ==
UseTpetra) {
82 if (source->getMap()->lib() ==
UseEpetra) {
101 return rcp(
new BlockedMultiVector<int, int, int, EpetraNode>(bmap, NumVectors, zeroOut));
104#ifdef HAVE_XPETRA_TPETRA
124#ifdef HAVE_XPETRA_TPETRA
143#ifdef HAVE_XPETRA_TPETRA
144 if (source->getMap()->lib() ==
UseTpetra) {
149 if (source->getMap()->lib() ==
UseEpetra) {
157#if !defined(XPETRA_EPETRA_NO_64BIT_GLOBAL_INDICES)
161RCP<MultiVector<double, int, long long, EpetraNode>>
168 RCP<const BlockedMap<int, long long, EpetraNode>> bmap = Teuchos::rcp_dynamic_cast<const BlockedMap<int, long long, EpetraNode>>(map);
170 if (!bmap.is_null()) {
171 return rcp(
new BlockedMultiVector<double, int, long long, EpetraNode>(bmap, NumVectors, zeroOut));
174#ifdef HAVE_XPETRA_TPETRA
187Teuchos::RCP<MultiVector<double, int, long long, EpetraNode>>
190 const Teuchos::ArrayView<
const Teuchos::ArrayView<const Scalar>>& ArrayOfPtrs,
194#ifdef HAVE_XPETRA_TPETRA
207Teuchos::RCP<MultiVector<double, int, long long, EpetraNode>>
213#ifdef HAVE_XPETRA_TPETRA
214 if (source->getMap()->lib() ==
UseTpetra) {
219 if (source->getMap()->lib() ==
UseEpetra) {
239 if (!bmap.is_null()) {
240 return rcp(
new BlockedMultiVector<int, int, long long, EpetraNode>(bmap, NumVectors, zeroOut));
243#ifdef HAVE_XPETRA_TPETRA
256Teuchos::RCP<MultiVector<int, int, long long, EpetraNode>>
259 const Teuchos::ArrayView<
const Teuchos::ArrayView<const int>>& ArrayOfPtrs,
263#ifdef HAVE_XPETRA_TPETRA
276Teuchos::RCP<MultiVector<int, int, long long, EpetraNode>>
282#ifdef HAVE_XPETRA_TPETRA
283 if (source->getMap()->lib() ==
UseTpetra) {
288 if (source->getMap()->lib() ==
UseEpetra) {
#define XPETRA_MONITOR(funcName)
#define XPETRA_FACTORY_END
MultiVectorFactory()
Private constructor. This is a static class.
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.
TEUCHOS_DEPRECATED RCP< T > rcp(T *p, Dealloc_T dealloc, bool owns_mem)