Ice Sheet System Model  4.18
Code documentation
Chaco.h
Go to the documentation of this file.
1 
5 #ifndef _CHACO_H
6 #define _CHACO_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 /*headers*/
20 #include "../bindings.h" /*Should always come first to avoid python's warnings*/
21 #include <stdio.h>
22 #include <string.h> /* strcasecmp */
23 #include <time.h> /* clock,time,difftime */
24 #include "../../c/main/globals.h"
25 #include "../../c/modules/modules.h"
26 #include "../../c/shared/shared.h"
27 
28 #undef __FUNCT__
29 #define __FUNCT__ "Chaco"
30 
31 #ifdef _HAVE_MATLAB_MODULES_
32 /* serial input macros: */
33 #define A_IN prhs[0]
34 #define VWGTS_IN prhs[1]
35 #define EWGTS_IN prhs[2]
36 #define X_IN prhs[3]
37 #define Y_IN prhs[4]
38 #define Z_IN prhs[5]
39 #define OPTNS_IN prhs[6]
40 #define NPARTS_IN prhs[7]
41 #define GOAL_IN prhs[8]
42 /* serial output macros: */
43 #define ASSGN_OUT (mxArray**)&plhs[0]
44 #endif
45 
46 #ifdef _HAVE_PYTHON_MODULES_
47 /* serial input macros: */
48 #define A_IN PyTuple_GetItem(args,0)
49 #define VWGTS_IN PyTuple_GetItem(args,1)
50 #define EWGTS_IN PyTuple_GetItem(args,2)
51 #define X_IN PyTuple_GetItem(args,3)
52 #define Y_IN PyTuple_GetItem(args,4)
53 #define Z_IN PyTuple_GetItem(args,5)
54 #define OPTNS_IN PyTuple_GetItem(args,6)
55 #define NPARTS_IN PyTuple_GetItem(args,7)
56 #define GOAL_IN PyTuple_GetItem(args,8)
57 /* serial output macros: */
58 #define ASSGN_OUT output,0
59 #endif
60 
61 /* serial arg counts: */
62 #undef NLHS
63 #define NLHS 1
64 #undef NRHS
65 #define NRHS 9
66 
67 #endif /* _CHACO_H */