54 #include "../epetra_test_err.h"
64 int main(
int argc,
char *argv[]) {
68 if ((argv[1][0] ==
'-') && (argv[1][1] ==
'v')) {
78 MPI_Init(&argc,&argv);
87 int MyPID = Comm.
MyPID();
89 int verbose_int = verbose ? 1 : 0;
91 verbose = verbose_int==1 ? true :
false;
93 if (verbose && MyPID==0)
111 if (returnierr == 0) {
112 cout <<
"Epetra_Directory tests passed."<<endl;
115 cout <<
"Epetra_Directory tests failed."<<endl;
127 int myPID = Comm.
MyPID();
130 if (numProcs < 2)
return(0);
132 int myFirstID = (myPID+1)*(myPID+1);
133 int myNumIDs = 3+myPID;
135 long long* myIDs =
new long long[myNumIDs];
137 for(i=0; i<myNumIDs; ++i) {
138 myIDs[i] = myFirstID+i;
146 if (proc >= numProcs) proc = 0;
148 int procNumIDs = 3+proc;
149 long long procFirstID = (
long long)(proc+1)*(proc+1);
150 long long procLastID = procFirstID+procNumIDs - 1;
156 blkmap, 1, &procFirstID,
157 &queryProc1, NULL, NULL
160 blkmap, 1, &procLastID,
161 &queryProc2, NULL, NULL
166 if (queryProc1 != proc || queryProc2 != proc) {
181 int myPID = Comm.
MyPID();
184 if (numProcs < 2)
return(0);
186 int myFirstID = (numProcs-myPID)*(numProcs-myPID);
189 long long* myIDs =
new long long[myNumIDs];
191 for(i=0; i<myNumIDs; ++i) {
192 myIDs[i] = myFirstID+i;
200 if (proc >= numProcs) proc = 0;
203 long long procFirstID = (
long long)(numProcs-proc)*(numProcs-proc);
204 long long procLastID = procFirstID+procNumIDs - 1;
210 &queryProc1, NULL, NULL);
212 &queryProc2, NULL, NULL);
216 if (queryProc1 != proc || queryProc2 != proc) {
228 int myPID = Comm.
MyPID();
231 if (numProcs < 2)
return(0);
233 int myFirstID = (myPID+1)*(myPID+1);
236 long long* myIDs =
new long long[myNumIDs];
238 for(i=0; i<myNumIDs-1; ++i) {
239 myIDs[i] = myFirstID+i;
242 int nextProc = myPID+1;
243 if (nextProc >= numProcs) nextProc = 0;
245 int nextProcFirstID = (nextProc+1)*(nextProc+1);
246 myIDs[myNumIDs-1] = nextProcFirstID;
266 int myPID = Comm.
MyPID();
269 if (numProcs < 2)
return(0);
273 int numMyGIDs = 2*num;
274 int myFirstGID = myPID*num;
276 long long* myGIDs =
new long long[numMyGIDs];
278 for(
int i=0; i<numMyGIDs; ++i) {
279 myGIDs[i] = myFirstGID+i;
282 Epetra_Map overlappingmap((
long long)-1, numMyGIDs, myGIDs, 0, Comm);
288 #ifndef EPETRA_NO_32BIT_GLOBAL_INDICES // FIXME
292 bool use_high_sharing_proc =
true;
301 if (numGlobal1 != numGlobal2) {
307 if (numGlobal0 <= numGlobal1) {
316 if ((myPID==0 || myPID==numProcs-1) && numLocal1 == numLocal2) {
326 int myPID = Comm.
MyPID();
329 if (numProcs < 2)
return(0);
333 int numMyGIDs = 2*num;
334 int myFirstGID = myPID*num;
336 long long* myGIDs =
new long long[numMyGIDs];
337 int* sizes =
new int[numMyGIDs];
339 for(
int i=0; i<numMyGIDs; ++i) {
340 myGIDs[i] = myFirstGID+i;
341 sizes[i] = myFirstGID+i+1;
344 Epetra_BlockMap overlappingmap((
long long)-1, numMyGIDs, myGIDs, sizes, 0, Comm);
351 #ifndef EPETRA_NO_32BIT_GLOBAL_INDICES // FIXME
355 bool use_high_sharing_proc =
true;
364 if (numGlobal1 != numGlobal2) {
370 if (numGlobal0 <= numGlobal1) {
379 if ((myPID==0 || myPID==numProcs-1) && numLocal1 == numLocal2) {