xref: /petsc/include/petscmatlab.h (revision 2fc52814d27bf1f4e71021c1c3ebb532b583ed60)
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