1 /* $Id: petscmatlab.h,v 1.4 2001/08/06 21:19:20 bsmith Exp $ */ 2 3 /* 4 Defines an interface to the Matlab Engine from PETSc 5 */ 6 7 #if !defined(__PETSCMATLAB_H) 8 #define __PETSCMATLAB_H 9 PETSC_EXTERN_CXX_BEGIN 10 11 extern int MATLABENGINE_COOKIE; 12 13 /*S 14 PetscMatlabEngine - Object used to communicate with Matlab 15 16 Level: intermediate 17 18 .seealso: PetscMatlabEngineCreate(), PetscMatlabEngineDestroy(), PetscMatlabEngineEvaluate(), 19 PetscMatlabEngineGetOutput(), PetscMatlabEnginePut(), PetscMatlabEngineGet(), 20 PetscMatlabEnginePrintOutput(), PetscMatlabEnginePutArray(), PetscMatlabEngineGetArray(), 21 PETSC_MATLAB_ENGINE_(), PETSC_MATLAB_ENGINE_SELF, PETSC_MATLAB_ENGINE_WORLD 22 S*/ 23 typedef struct _p_PetscMatlabEngine* PetscMatlabEngine; 24 25 EXTERN int PetscMatlabEngineCreate(MPI_Comm,const char[],PetscMatlabEngine*); 26 EXTERN int PetscMatlabEngineDestroy(PetscMatlabEngine); 27 EXTERN int PetscMatlabEngineEvaluate(PetscMatlabEngine,const char[],...); 28 EXTERN int PetscMatlabEngineGetOutput(PetscMatlabEngine,char **); 29 EXTERN int PetscMatlabEnginePrintOutput(PetscMatlabEngine,FILE*); 30 EXTERN int PetscMatlabEnginePut(PetscMatlabEngine,PetscObject); 31 EXTERN int PetscMatlabEngineGet(PetscMatlabEngine,PetscObject); 32 EXTERN int PetscMatlabEnginePutArray(PetscMatlabEngine,int,int,PetscScalar*,const char[]); 33 EXTERN int PetscMatlabEngineGetArray(PetscMatlabEngine,int,int,PetscScalar*,const char[]); 34 35 EXTERN PetscMatlabEngine PETSC_MATLAB_ENGINE_(MPI_Comm); 36 37 /*MC 38 PETSC_MATLAB_ENGINE_WORLD - same as PETSC_MATLAB_ENGINE_(PETSC_COMM_WORLD) 39 40 Level: developer 41 M*/ 42 #define PETSC_MATLAB_ENGINE_WORLD PETSC_MATLAB_ENGINE_(PETSC_COMM_WORLD) 43 44 /*MC 45 PETSC_MATLAB_ENGINE_SELF - same as PETSC_MATLAB_ENGINE_(PETSC_COMM_SELF) 46 47 Level: developer 48 M*/ 49 #define PETSC_MATLAB_ENGINE_SELF PETSC_MATLAB_ENGINE_(PETSC_COMM_SELF) 50 51 PETSC_EXTERN_CXX_END 52 #endif 53