43#include "Epetra_Comm.h"
44#include "Epetra_BlockMap.h"
45#include "Epetra_Map.h"
46#include "Epetra_Vector.h"
47#include "Epetra_IntVector.h"
48#include "Epetra_IntSerialDenseVector.h"
49#include "Epetra_Import.h"
81 for (
int i=0; i<numRows; i++) allGids[i] = map.
GID(i);
84 int numChunks = numProc;
90 int numImportGids = 0;
92 importGidList.
Size(stripSize+1);
93 for (
int i=0; i<numChunks; i++) {
94 if (comm.
MyPID()==0) {
95 curStripSize = stripSize;
96 if (i<remainder) curStripSize++;
97 for (
int j=0; j<curStripSize; j++) importGidList[j] = j + curStart;
98 curStart += curStripSize;
104 if (importGids.
Import(allGids, gidImporter,
Insert))
return(-1);
128 if (comm.
MyPID()!=0) {
132 if (length!=A.
MyLength()) ierr = -1;
133 double* matlabAvalues = *matlabApr;
134 double* Aptr = A.
Values();
135 memcpy((
void *)matlabAvalues, (
void *)Aptr,
sizeof(*Aptr) * length * numVectors);
136 *matlabApr += length;
139 comm.
MinAll(&ierr, &ierrGlobal, 1);
const Epetra_Comm & Comm() const
int NumMyElements() const
virtual int NumProc() const=0
virtual int MinAll(double *PartialMins, double *GlobalMins, int Count) const=0
virtual int MyPID() const=0
const Epetra_BlockMap & Map() const
int Import(const Epetra_SrcDistObject &A, const Epetra_Import &Importer, Epetra_CombineMode CombineMode, const Epetra_OffsetIndex *Indexor=0)
double ** Pointers() const
int DoCopyMultiVector(double **matlabApr, const Epetra_MultiVector &A)
int CopyMultiVector(double **matlabApr, const Epetra_MultiVector &A)