Actual source code: ex16.c
2: /*
3: Demonstrates PetscMatlabEngineXXX()
4: */
6: #include petscsys.h
10: int main(int argc,char **argv)
11: {
13: PetscMPIInt rank;
14: char buffer[256],*output,user[256];
15: PetscTruth userhappy = PETSC_FALSE;
17: PetscInitialize(&argc,&argv,(char *)0,0);
18: MPI_Comm_rank(PETSC_COMM_WORLD,&rank);
20: PetscMatlabEngineGetOutput(PETSC_MATLAB_ENGINE_(PETSC_COMM_WORLD),&output);
22: PetscMatlabEngineEvaluate(PETSC_MATLAB_ENGINE_(PETSC_COMM_WORLD),"MPI_Comm_rank");
23: PetscSynchronizedPrintf(PETSC_COMM_WORLD,"[%d]Processor rank is %s",rank,output);
24: PetscSynchronizedFlush(PETSC_COMM_WORLD);
25: PetscPrintf(PETSC_COMM_WORLD,">>");
26: PetscSynchronizedFGets(PETSC_COMM_WORLD,stdin,256,user);
27: PetscStrncmp(user,"exit",4,&userhappy);
28: while (!userhappy) {
29: PetscMatlabEngineEvaluate(PETSC_MATLAB_ENGINE_(PETSC_COMM_WORLD),user);
30: PetscSynchronizedPrintf(PETSC_COMM_WORLD,"[%d]The result is %s",rank,output);
31: PetscSynchronizedFlush(PETSC_COMM_WORLD);
32: PetscPrintf(PETSC_COMM_WORLD,">>");
33: PetscSynchronizedFGets(PETSC_COMM_WORLD,stdin,256,user);
34: PetscStrncmp(user,"exit",4,&userhappy);
35: }
36: PetscFinalize();
37: return 0;
38: }
39: