11 #include "Xpetra_BlockedMultiVector.hpp"
16 #if defined(HAVE_XPETRA_EPETRA)
18 #if !defined(XPETRA_EPETRA_NO_32BIT_GLOBAL_INDICES)
24 RCP<MultiVector<double, int, int, EpetraNode>>
33 if (!bmap.is_null()) {
37 #ifdef HAVE_XPETRA_TPETRA
50 Teuchos::RCP<MultiVector<double, int, int, EpetraNode>>
53 const Teuchos::ArrayView<
const Teuchos::ArrayView<const double>>& ArrayOfPtrs,
57 #ifdef HAVE_XPETRA_TPETRA
70 Teuchos::RCP<MultiVector<double, int, int, EpetraNode>>
73 Teuchos::DataAccess copyOrView) {
76 #ifdef HAVE_XPETRA_TPETRA
77 if (source->getMap()->lib() ==
UseTpetra) {
82 if (source->getMap()->lib() ==
UseEpetra) {
93 RCP<MultiVector<int, int, int, EpetraNode>>
100 if (!bmap.is_null()) {
104 #ifdef HAVE_XPETRA_TPETRA
117 Teuchos::RCP<MultiVector<int, int, int, EpetraNode>>
120 const Teuchos::ArrayView<
const Teuchos::ArrayView<const int>>& ArrayOfPtrs,
124 #ifdef HAVE_XPETRA_TPETRA
137 Teuchos::RCP<MultiVector<int, int, int, EpetraNode>>
140 Teuchos::DataAccess copyOrView) {
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)
161 RCP<MultiVector<double, int, long long, EpetraNode>>
170 if (!bmap.is_null()) {
174 #ifdef HAVE_XPETRA_TPETRA
187 Teuchos::RCP<MultiVector<double, int, long long, EpetraNode>>
190 const Teuchos::ArrayView<
const Teuchos::ArrayView<const Scalar>>& ArrayOfPtrs,
194 #ifdef HAVE_XPETRA_TPETRA
207 Teuchos::RCP<MultiVector<double, int, long long, EpetraNode>>
210 Teuchos::DataAccess copyOrView) {
213 #ifdef HAVE_XPETRA_TPETRA
214 if (source->getMap()->lib() ==
UseTpetra) {
219 if (source->getMap()->lib() ==
UseEpetra) {
230 RCP<MultiVector<int, int, long long, EpetraNode>>
239 if (!bmap.is_null()) {
243 #ifdef HAVE_XPETRA_TPETRA
256 Teuchos::RCP<MultiVector<int, int, long long, EpetraNode>>
259 const Teuchos::ArrayView<
const Teuchos::ArrayView<const int>>& ArrayOfPtrs,
263 #ifdef HAVE_XPETRA_TPETRA
276 Teuchos::RCP<MultiVector<int, int, long long, EpetraNode>>
279 Teuchos::DataAccess copyOrView) {
282 #ifdef HAVE_XPETRA_TPETRA
283 if (source->getMap()->lib() ==
UseTpetra) {
288 if (source->getMap()->lib() ==
UseEpetra) {
295 #endif // END !defined(XPETRA_EPETRA_NO_64BIT_GLOBAL_INDICES)
297 #endif // END !defined(XPETRA_EPETRA_NO_32BIT_GLOBAL_INDICES)
299 #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)