Ice Sheet System Model  4.18
Code documentation
InterpFromGridToMesh.h
Go to the documentation of this file.
1 
5 #ifndef _InterpFromGridToMesh_H
6 #define _InterpFromGridToMesh_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 #include "../bindings.h"
20 #include "../../c/main/globals.h"
21 #include "../../c/modules/modules.h"
22 #include "../../c/shared/shared.h"
23 
24 #undef __FUNCT__
25 #define __FUNCT__ "InterpFromGridToMesh"
26 
27 #ifdef _HAVE_MATLAB_MODULES_
28 /* serial input macros: */
29 #define XHANDLE prhs[0]
30 #define YHANDLE prhs[1]
31 #define DATAHANDLE prhs[2]
32 #define XMESHHANDLE prhs[3]
33 #define YMESHHANDLE prhs[4]
34 #define DEFAULTHANDLE prhs[5]
35 #define INTERPENUM prhs[6]
36 /* serial output macros: */
37 #define DATAMESH (mxArray**)&plhs[0]
38 #endif
39 
40 #ifdef _HAVE_PYTHON_MODULES_
41 /* serial input macros: */
42 #define XHANDLE PyTuple_GetItem(args,0)
43 #define YHANDLE PyTuple_GetItem(args,1)
44 #define DATAHANDLE PyTuple_GetItem(args,2)
45 #define XMESHHANDLE PyTuple_GetItem(args,3)
46 #define YMESHHANDLE PyTuple_GetItem(args,4)
47 #define DEFAULTHANDLE PyTuple_GetItem(args,5)
48 #define INTERPENUM PyTuple_GetItem(args,6)
49 /* serial output macros: */
50 #define DATAMESH output,0
51 #endif
52 
53 #ifdef _HAVE_JAVASCRIPT_MODULES_
54 /* serial input macros: */
55 #define XHANDLE xIn,dataNumColsIn,1
56 #define YHANDLE yIn,dataNumRowsIn,1
57 #define DATAHANDLE dataIn,dataNumRowsIn,dataNumColsIn
58 #define XMESHHANDLE xMeshIn,meshNumRowsIn,1
59 #define YMESHHANDLE yMeshIn,meshNumRowsIn,1
60 #define DEFAULTHANDLE defaultValue
61 #define INTERPENUM interpType
62 /* serial output macros: */
63 #define DATAMESH pdataMesh
64 #define WRAPPER(modulename) extern "C" { int InterpFromGridToMeshModule(double** pdataMesh, double* xIn, double* yIn, double* dataIn, double* xMeshIn, double* yMeshIn, double defaultValue, int nodsIn, int dataNumRowsIn, int dataNumColsIn, int meshNumRowsIn, char* interpType)
65 #define nrhs 6
66 #endif
67 
68 /* serial arg counts: */
69 #undef NLHS
70 #define NLHS 1
71 #undef NRHS
72 #define NRHS 6
73 
74 #endif /* _INTERPFROMGRIDTOMESH_H */