#include "Didasko_ConfigDefs.h"
#if defined(HAVE_DIDASKO_EPETRA)
#include "Epetra_ConfigDefs.h"
#ifdef HAVE_MPI
#include "mpi.h"
#include "Epetra_MpiComm.h"
#else
#include "Epetra_SerialComm.h"
#endif
#include "Epetra_Map.h"
#include "Epetra_Vector.h"
#include "Epetra_Export.h"
int main(int argc, char *argv[]) {
#ifdef HAVE_MPI
MPI_Init(&argc, &argv);
#else
#endif
int NumGlobalElements = 4;
int NumMyElements;
if( Comm.
MyPID() == 0 ) {
NumMyElements = 3;
MyGlobalElements.
Size(NumMyElements);
MyGlobalElements[0] = 0;
MyGlobalElements[1] = 1;
MyGlobalElements[2] = 2;
} else {
NumMyElements = 3;
MyGlobalElements.
Size(NumMyElements);
MyGlobalElements[0] = 1;
MyGlobalElements[1] = 2;
MyGlobalElements[2] = 3;
}
MyGlobalElements.
Values(),0, Comm);
for( int i=0 ; i<NumMyElements ; ++i )
x[i] = 10*( Comm.
MyPID()+1 );
cout << x;
int NumMyElements_target;
NumMyElements_target = NumGlobalElements;
else
NumMyElements_target = 0;
Epetra_Map TargetMap(-1,NumMyElements_target,0,Comm);
y.Export(x,Exporter,Add);
cout << y;
#ifdef HAVE_MPI
MPI_Finalize();
#endif
return(EXIT_SUCCESS);
}
#else
#include <stdlib.h>
#include <stdio.h>
int main(int argc, char *argv[])
{
puts("Please configure Didasko with:\n"
"--enable-epetra");
return 0;
}
#endif