Ice Sheet System Model  4.18
Code documentation
IssmConfig.h
Go to the documentation of this file.
1 
5 #ifndef _ISSMCONFIG_H
6 #define _ISSMCONFIG_H
7 
8 #ifdef HAVE_CONFIG_H
9  #include <config.h>
10 #else
11  #error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
12 #endif
13 
14 /*For python modules: needs to come before header files inclusion*/
15 #ifdef _HAVE_PYTHON_
16 #define PY_ARRAY_UNIQUE_SYMBOL PythonIOSymbol
17 #endif
18 
19 /*Header files: */
20 #include "../bindings.h"
21 #include "../../c/main/globals.h"
22 #include "../../c/shared/shared.h"
23 
24 #undef __FUNCT__
25 #define __FUNCT__ "IssmConfig"
26 
27 #ifdef _HAVE_MATLAB_MODULES_
28 /* serial input macros: */
29 #define NAME (mxArray*)prhs[0]
30 /* serial output macros: */
31 #define VALUE (mxArray**)&plhs[0]
32 #define SVALUE (mxArray**)&plhs[0]
33 #endif
34 
35 #ifdef _HAVE_PYTHON_MODULES_
36 /* serial input macros: */
37 #define NAME PyTuple_GetItem(args,0)
38 /* serial output macros: */
39 #define VALUE output,0
40 #define SVALUE output,0
41 #endif
42 
43 
44 #ifdef _HAVE_JAVASCRIPT_MODULES_
45 /* serial input macros: */
46 #define NAME string
47 /* serial output macros: */
48 #define VALUE pvalue
49 #define SVALUE psvalue
50 #define WRAPPER(modulename) extern "C" { int IssmConfigModule(double* pvalue, char** psvalue, char* string)
51 #endif
52 
53 /* serial arg counts: */
54 #undef NLHS
55 #define NLHS 1
56 #undef NRHS
57 #define NRHS 1
58 
59 #endif /* _TEST_H */