Ice Sheet System Model  4.18
Code documentation
CoordTransform.h
Go to the documentation of this file.
1 /*
2  CoordTransform.h
3 */
4 
5 #ifndef _COORDTRANSFORM_H
6 #define _COORDTRANSFORM_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 #ifdef _HAVE_JAVASCRIPT_MODULES_
20 #undef _DO_NOT_LOAD_GLOBALS_ /*only module where this needs to be undefined, so as to
21  not include IssmComm several times in the javascript Modle construct.*/
22 #endif
23 
24 /*Header files: */
25 #include "../bindings.h"
26 #include "../../c/shared/shared.h"
27 #include "../../c/shared/io/io.h"
28 
29 #undef __FUNCT__
30 #define __FUNCT__ "CoordTransform"
31 
32 #ifdef _HAVE_MATLAB_MODULES_
33 /* serial input macros: */
34 #define XIN prhs[0]
35 #define YIN prhs[1]
36 #define PROJIN prhs[2]
37 #define PROJOUT prhs[3]
38 /* serial output macros: */
39 #define XOUT (mxArray**)&plhs[0]
40 #define YOUT (mxArray**)&plhs[1]
41 #endif
42 
43 #ifdef _HAVE_PYTHON_MODULES_
44 /* serial input macros: */
45 #define XIN PyTuple_GetItem(args,0)
46 #define YIN PyTuple_GetItem(args,1)
47 #define PROJIN PyTuple_GetItem(args,2)
48 #define PROJOUT PyTuple_GetItem(args,3)
49 /* serial output macros: */
50 #define XOUT output,0
51 #define YOUT output,1
52 #endif
53 
54 #ifdef _HAVE_JAVASCRIPT_MODULES_
55 /* serial input macros: */
56 #define XIN xin
57 #define YIN yin
58 #define PROJIN projin
59 #define PROJOUT projout
60 /* serial output macros: */
61 /*NOT IMPLEMENTED YET*/
62 #endif
63 
64 
65 /* serial arg counts: */
66 #undef NLHS
67 #define NLHS 2
68 #undef NRHS
69 #define NRHS 4
70 
71 #endif