Ice Sheet System Model  4.18
Code documentation
ProcessRifts.h
Go to the documentation of this file.
1 /*
2  * ProcessRifts.h
3  */
4 
5 #ifndef _PROCESSRIFTS_H_
6 #define _PROCESSRIFTS_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__ "ProcessRifts"
26 
27 #ifdef _HAVE_MATLAB_MODULES_
28 /* serial input macros: */
29 #define INDEXIN prhs[0]
30 #define XIN prhs[1]
31 #define YIN prhs[2]
32 #define SEGMENTSIN prhs[3]
33 #define SEGMENTMARKERSIN prhs[4]
34 /* serial output macros: */
35 #define INDEXOUT (mxArray**)&plhs[0]
36 #define XOUT (mxArray**)&plhs[1]
37 #define YOUT (mxArray**)&plhs[2]
38 #define SEGMENTSOUT (mxArray**)&plhs[3]
39 #define SEGMENTMARKERSOUT (mxArray**)&plhs[4]
40 #define RIFTSTRUCT (mxArray**)&plhs[5]
41 #endif
42 
43 #ifdef _HAVE_PYTHON_MODULES_
44 /* serial input macros: */
45 #define INDEXIN PyTuple_GetItem(args,0)
46 #define XIN PyTuple_GetItem(args,1)
47 #define YIN PyTuple_GetItem(args,2)
48 #define SEGMENTSIN PyTuple_GetItem(args,3)
49 #define SEGMENTMARKERSIN PyTuple_GetItem(args,4)
50 /* serial output macros: */
51 #define INDEXOUT output,0
52 #define XOUT output,1
53 #define YOUT output,2
54 #define SEGMENTSOUT output,3
55 #define SEGMENTMARKERSOUT output,4
56 #define RIFTSTRUCT output,5
57 #endif
58 
59 /* serial arg counts: */
60 #undef NLHS
61 #define NLHS 6
62 #undef NRHS
63 #define NRHS 5
64 
65 #endif