Ice Sheet System Model  4.18
Code documentation
Kriging.h
Go to the documentation of this file.
1 /*
2  Kriging.h
3 */
4 
5 #ifndef _KRIGING_H_
6 #define _KRIGING_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__ "Kriging"
26 
27 #ifdef _HAVE_MATLAB_MODULES_
28 /* serial input macros: */
29 #define X prhs[0]
30 #define Y prhs[1]
31 #define OBSERVATIONS prhs[2]
32 #define XINTERP prhs[3]
33 #define YINTERP prhs[4]
34 
35 /* serial output macros: */
36 #define PREDICTIONS (mxArray**)&plhs[0]
37 #define ERROR (mxArray**)&plhs[1]
38 #endif
39 
40 #ifdef _HAVE_PYTHON_MODULES_
41 /* serial input macros: */
42 #define X PyTuple_GetItem(args,0)
43 #define Y PyTuple_GetItem(args,1)
44 #define OBSERVATIONS PyTuple_GetItem(args,2)
45 #define XINTERP PyTuple_GetItem(args,3)
46 #define YINTERP PyTuple_GetItem(args,4)
47 
48 /* serial output macros: */
49 #define PREDICTIONS output,0
50 #define ERROR output,1
51 #endif
52 
53 /* serial arg counts: */
54 #undef NLHS
55 #define NLHS 2
56 #undef NRHS
57 #define NRHS 5
58 
59 #endif /* _KRIGING_H_ */