tmp
/
pip-install-ghxuqwgs
/numpy_78e94bf2b6094bf9a1f3d92042f9bf46
/numpy
/f2py
/src
/fortranobject.h
| extern "C" { | |
| /* | |
| * Python 3 support macros | |
| */ | |
| extern void f2py_start_clock(void); | |
| extern void f2py_stop_clock(void); | |
| extern void f2py_start_call_clock(void); | |
| extern void f2py_stop_call_clock(void); | |
| extern void f2py_cb_start_clock(void); | |
| extern void f2py_cb_stop_clock(void); | |
| extern void f2py_cb_start_call_clock(void); | |
| extern void f2py_cb_stop_call_clock(void); | |
| extern void f2py_report_on_exit(int,void*); | |
| /* Fortran object interface */ | |
| /* | |
| 123456789-123456789-123456789-123456789-123456789-123456789-123456789-12 | |
| PyFortranObject represents various Fortran objects: | |
| Fortran (module) routines, COMMON blocks, module data. | |
| Author: Pearu Peterson <pearu@cens.ioc.ee> | |
| */ | |
| typedef void (*f2py_set_data_func)(char*,npy_intp*); | |
| typedef void (*f2py_void_func)(void); | |
| typedef void (*f2py_init_func)(int*,npy_intp*,f2py_set_data_func,int*); | |
| /*typedef void* (*f2py_c_func)(void*,...);*/ | |
| typedef void *(*f2pycfunc)(void); | |
| typedef struct { | |
| char *name; /* attribute (array||routine) name */ | |
| int rank; /* array rank, 0 for scalar, max is F2PY_MAX_DIMS, | |
| || rank=-1 for Fortran routine */ | |
| struct {npy_intp d[F2PY_MAX_DIMS];} dims; /* dimensions of the array, || not used */ | |
| int type; /* PyArray_<type> || not used */ | |
| char *data; /* pointer to array || Fortran routine */ | |
| f2py_init_func func; /* initialization function for | |
| allocatable arrays: | |
| func(&rank,dims,set_ptr_func,name,len(name)) | |
| || C/API wrapper for Fortran routine */ | |
| char *doc; /* documentation string; only recommended | |
| for routines. */ | |
| } FortranDataDef; | |
| typedef struct { | |
| PyObject_HEAD | |
| int len; /* Number of attributes */ | |
| FortranDataDef *defs; /* An array of FortranDataDef's */ | |
| PyObject *dict; /* Fortran object attribute dictionary */ | |
| } PyFortranObject; | |
| extern PyTypeObject PyFortran_Type; | |
| extern int F2PyDict_SetItemString(PyObject* dict, char *name, PyObject *obj); | |
| extern PyObject * PyFortranObject_New(FortranDataDef* defs, f2py_void_func init); | |
| extern PyObject * PyFortranObject_NewAsAttr(FortranDataDef* defs); | |
| PyObject * F2PyCapsule_FromVoidPtr(void *ptr, void (*dtor)(PyObject *)); | |
| void * F2PyCapsule_AsVoidPtr(PyObject *obj); | |
| int F2PyCapsule_Check(PyObject *ptr); | |
| PyObject * F2PyCapsule_FromVoidPtr(void *ptr, void (*dtor)(void *)); | |
| void * F2PyCapsule_AsVoidPtr(PyObject *ptr); | |
| int F2PyCapsule_Check(PyObject *ptr); | |
| extern PyArrayObject* array_from_pyobj(const int type_num, | |
| npy_intp *dims, | |
| const int rank, | |
| const int intent, | |
| PyObject *obj); | |
| extern int copy_ND_array(const PyArrayObject *in, PyArrayObject *out); | |
| extern void dump_attrs(const PyArrayObject* arr); | |
| } | |