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: