Ice Sheet System Model  4.18
Code documentation
pythonio.h
Go to the documentation of this file.
1 /*\file pythonio.h
2  *\brief: I/O for ISSM in python mode
3  */
4 
5 #ifndef _PYTHON_IO_H_
6 #define _PYTHON_IO_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 #include "../include/pythonincludes.h"
15 #include "../../c/bamg/bamgobjects.h"
16 #include "../../c/classes/classes.h"
17 #include "../../c/shared/shared.h"
18 
19 void WriteData(PyObject* py_tuple,int index, double* matrix, int M,int N);
20 void WriteData(PyObject* py_tuple,int index, int* matrix, int M,int N);
21 void WriteData(PyObject* py_tuple,int index, bool* matrix, int M,int N);
22 void WriteData(PyObject* py_tuple,int index, int integer);
23 void WriteData(PyObject* py_tuple,int index, double* vector, int M);
24 void WriteData(PyObject* py_tuple,int index, short* vector, int M);
25 void WriteData(PyObject* py_tuple,int index, int* vector, int M);
26 void WriteData(PyObject* py_tuple,int index, char* string);
27 void WriteData(PyObject* py_tuple,int index);
28 void WriteData(PyObject* py_tuple,int index, IssmDenseMat<double>* matrix);
29 void WriteData(PyObject* py_tuple,int index, IssmSeqVec<double>* vector);
30 void WriteData(PyObject* py_tuple,int index, BamgGeom* bamggeom);
31 void WriteData(PyObject* py_tuple,int index, BamgMesh* bamgmesh);
32 void WriteData(PyObject* py_tuple,int index, RiftStruct* riftstruct);
33 
34 void FetchData(double** pmatrix,int* pM,int *pN,PyObject* py_array);
35 void FetchData(int** pmatrix,int* pM,int *pN,PyObject* py_matrix);
36 void FetchData(bool** pmatrix,int* pM,int *pN,PyObject* py_matrix);
37 void FetchData(double** pvector,int* pM,PyObject* py_ref);
38 void FetchData(float** pvector,int* pM,PyObject* dataref);
39 void FetchData(int** pvector,int* pM,PyObject* py_ref);
40 void FetchData(bool** pvector,int* pM,PyObject* py_ref);
41 void FetchData(char** pstring,PyObject* py_unicode);
42 void FetchData(double* pscalar,PyObject* py_float);
43 void FetchData(short* pscalar,PyObject* py_float);
44 void FetchData(int* pscalar,PyObject* py_long);
45 void FetchData(bool* pbool,PyObject* py_boolean);
46 void FetchData(BamgGeom** bamggeom,PyObject* py_dict);
47 void FetchData(BamgMesh** bamgmesh,PyObject* py_dict);
48 void FetchData(BamgOpts** bamgopts,PyObject* py_dict);
49 void FetchData(Options** poptions,int istart, int nrhs,PyObject* py_tuple);
50 void FetchData(Contours** pcontours,PyObject* py_list);
51 void FetchChacoData(int* pnvtxs,int** padjacency,int** pstart,float** pewgts,PyObject* A_IN,PyObject* EWGTS_IN);
52 
53 void pyGetJc(double* a, int nvtxs, int* Jc);
54 void pyGetIr(double* a, int nvtxs, int nzmax, int* Ir);
55 
56 int CheckNumPythonArguments(PyObject* inputs,int NRHS, void (*function)( void ));
57 
58 /*Utils*/
59 PyObject* PyArrayFromCopiedData(int dims[2],double* data);
60 PyObject* PyArrayFromCopiedData(int dimi,int dimj,double* data);
61 PyObject* PyArrayFromCopiedData(int dimi,int dimj,int* data);
62 PyObject* PyArrayFromCopiedData(int dimi,int dimj,bool* data);
63 
64 /*Print*/
65 void ApiPrintf(const char* string);
66 
67 #endif /* _IO_H_ */
Options
Definition: Options.h:9
FetchData
void FetchData(double **pmatrix, int *pM, int *pN, PyObject *py_array)
Definition: FetchPythonData.cpp:178
NRHS
#define NRHS
Definition: BamgConvertMesh.h:52
IssmDenseMat
Definition: IssmDenseMat.h:39
CheckNumPythonArguments
int CheckNumPythonArguments(PyObject *inputs, int NRHS, void(*function)(void))
Definition: CheckNumPythonArguments.cpp:11
Contours
Declaration of Contours class.
Definition: Contours.h:10
IssmSeqVec
Definition: IssmSeqVec.h:31
BamgMesh
Definition: BamgMesh.h:7
pyGetJc
void pyGetJc(double *a, int nvtxs, int *Jc)
Definition: FetchPythonData.cpp:1232
PyArrayFromCopiedData
PyObject * PyArrayFromCopiedData(int dims[2], double *data)
Definition: WritePythonData.cpp:260
BamgOpts
Definition: BamgOpts.h:8
pyGetIr
void pyGetIr(double *a, int nvtxs, int nzmax, int *Ir)
Definition: FetchPythonData.cpp:1254
ApiPrintf
void ApiPrintf(const char *string)
Definition: ApiPrintf.cpp:13
BamgGeom
Definition: BamgGeom.h:7
FetchChacoData
void FetchChacoData(int *pnvtxs, int **padjacency, int **pstart, float **pewgts, PyObject *A_IN, PyObject *EWGTS_IN)
Definition: FetchPythonData.cpp:1191
WriteData
void WriteData(PyObject *py_tuple, int index, double *matrix, int M, int N)
Definition: WritePythonData.cpp:35
RiftStruct
Definition: RiftStruct.h:8