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