📄 svmc_wrap.c
字号:
# define SWIG_PYTHON_THREAD_END_ALLOW# endif# endif#else /* No thread support */# define SWIG_PYTHON_INITIALIZE_THREADS# define SWIG_PYTHON_THREAD_BEGIN_BLOCK# define SWIG_PYTHON_THREAD_END_BLOCK# define SWIG_PYTHON_THREAD_BEGIN_ALLOW# define SWIG_PYTHON_THREAD_END_ALLOW#endif/* ----------------------------------------------------------------------------- * Python API portion that goes into the runtime * ----------------------------------------------------------------------------- */#ifdef __cplusplusextern "C" {#if 0} /* cc-mode */#endif#endif/* ----------------------------------------------------------------------------- * Constant declarations * ----------------------------------------------------------------------------- *//* Constant Types */#define SWIG_PY_POINTER 4#define SWIG_PY_BINARY 5/* Constant information structure */typedef struct swig_const_info { int type; char *name; long lvalue; double dvalue; void *pvalue; swig_type_info **ptype;} swig_const_info;#ifdef __cplusplus#if 0{ /* cc-mode */#endif}#endif/* ----------------------------------------------------------------------------- * See the LICENSE file for information on copyright, usage and redistribution * of SWIG, and the README file for authors - http://www.swig.org/release.html. * * pyrun.swg * * This file contains the runtime support for Python modules * and includes code for managing global variables and pointer * type checking. * * ----------------------------------------------------------------------------- *//* Common SWIG API *//* for raw pointers */#define SWIG_Python_ConvertPtr(obj, pptr, type, flags) SWIG_Python_ConvertPtrAndOwn(obj, pptr, type, flags, 0)#define SWIG_ConvertPtr(obj, pptr, type, flags) SWIG_Python_ConvertPtr(obj, pptr, type, flags)#define SWIG_ConvertPtrAndOwn(obj,pptr,type,flags,own) SWIG_Python_ConvertPtrAndOwn(obj, pptr, type, flags, own)#define SWIG_NewPointerObj(ptr, type, flags) SWIG_Python_NewPointerObj(ptr, type, flags)#define SWIG_CheckImplicit(ty) SWIG_Python_CheckImplicit(ty) #define SWIG_AcquirePtr(ptr, src) SWIG_Python_AcquirePtr(ptr, src)#define swig_owntype int/* for raw packed data */#define SWIG_ConvertPacked(obj, ptr, sz, ty) SWIG_Python_ConvertPacked(obj, ptr, sz, ty)#define SWIG_NewPackedObj(ptr, sz, type) SWIG_Python_NewPackedObj(ptr, sz, type)/* for class or struct pointers */#define SWIG_ConvertInstance(obj, pptr, type, flags) SWIG_ConvertPtr(obj, pptr, type, flags)#define SWIG_NewInstanceObj(ptr, type, flags) SWIG_NewPointerObj(ptr, type, flags)/* for C or C++ function pointers */#define SWIG_ConvertFunctionPtr(obj, pptr, type) SWIG_Python_ConvertFunctionPtr(obj, pptr, type)#define SWIG_NewFunctionPtrObj(ptr, type) SWIG_Python_NewPointerObj(ptr, type, 0)/* for C++ member pointers, ie, member methods */#define SWIG_ConvertMember(obj, ptr, sz, ty) SWIG_Python_ConvertPacked(obj, ptr, sz, ty)#define SWIG_NewMemberObj(ptr, sz, type) SWIG_Python_NewPackedObj(ptr, sz, type)/* Runtime API */#define SWIG_GetModule(clientdata) SWIG_Python_GetModule()#define SWIG_SetModule(clientdata, pointer) SWIG_Python_SetModule(pointer)#define SWIG_NewClientData(obj) PySwigClientData_New(obj)#define SWIG_SetErrorObj SWIG_Python_SetErrorObj #define SWIG_SetErrorMsg SWIG_Python_SetErrorMsg #define SWIG_ErrorType(code) SWIG_Python_ErrorType(code) #define SWIG_Error(code, msg) SWIG_Python_SetErrorMsg(SWIG_ErrorType(code), msg) #define SWIG_fail goto fail /* Runtime API implementation *//* Error manipulation */SWIGINTERN void SWIG_Python_SetErrorObj(PyObject *errtype, PyObject *obj) { SWIG_PYTHON_THREAD_BEGIN_BLOCK; PyErr_SetObject(errtype, obj); Py_DECREF(obj); SWIG_PYTHON_THREAD_END_BLOCK;}SWIGINTERN void SWIG_Python_SetErrorMsg(PyObject *errtype, const char *msg) { SWIG_PYTHON_THREAD_BEGIN_BLOCK; PyErr_SetString(errtype, (char *) msg); SWIG_PYTHON_THREAD_END_BLOCK;}#define SWIG_Python_Raise(obj, type, desc) SWIG_Python_SetErrorObj(SWIG_Python_ExceptionType(desc), obj)/* Set a constant value */SWIGINTERN voidSWIG_Python_SetConstant(PyObject *d, const char *name, PyObject *obj) { PyDict_SetItemString(d, (char*) name, obj); Py_DECREF(obj); }/* Append a value to the result obj */SWIGINTERN PyObject*SWIG_Python_AppendOutput(PyObject* result, PyObject* obj) {#if !defined(SWIG_PYTHON_OUTPUT_TUPLE) if (!result) { result = obj; } else if (result == Py_None) { Py_DECREF(result); result = obj; } else { if (!PyList_Check(result)) { PyObject *o2 = result; result = PyList_New(1); PyList_SetItem(result, 0, o2); } PyList_Append(result,obj); Py_DECREF(obj); } return result;#else PyObject* o2; PyObject* o3; if (!result) { result = obj; } else if (result == Py_None) { Py_DECREF(result); result = obj; } else { if (!PyTuple_Check(result)) { o2 = result; result = PyTuple_New(1); PyTuple_SET_ITEM(result, 0, o2); } o3 = PyTuple_New(1); PyTuple_SET_ITEM(o3, 0, obj); o2 = result; result = PySequence_Concat(o2, o3); Py_DECREF(o2); Py_DECREF(o3); } return result;#endif}/* Unpack the argument tuple */SWIGINTERN intSWIG_Python_UnpackTuple(PyObject *args, const char *name, int min, int max, PyObject **objs){ if (!args) { if (!min && !max) { return 1; } else { PyErr_Format(PyExc_TypeError, "%s expected %s%d arguments, got none", name, (min == max ? "" : "at least "), min); return 0; } } if (!PyTuple_Check(args)) { PyErr_SetString(PyExc_SystemError, "UnpackTuple() argument list is not a tuple"); return 0; } else { register int l = PyTuple_GET_SIZE(args); if (l < min) { PyErr_Format(PyExc_TypeError, "%s expected %s%d arguments, got %d", name, (min == max ? "" : "at least "), min, l); return 0; } else if (l > max) { PyErr_Format(PyExc_TypeError, "%s expected %s%d arguments, got %d", name, (min == max ? "" : "at most "), max, l); return 0; } else { register int i; for (i = 0; i < l; ++i) { objs[i] = PyTuple_GET_ITEM(args, i); } for (; l < max; ++l) { objs[l] = 0; } return i + 1; } }}/* A functor is a function object with one single object argument */#if PY_VERSION_HEX >= 0x02020000#define SWIG_Python_CallFunctor(functor, obj) PyObject_CallFunctionObjArgs(functor, obj, NULL);#else#define SWIG_Python_CallFunctor(functor, obj) PyObject_CallFunction(functor, "O", obj);#endif/* Helper for static pointer initialization for both C and C++ code, for example static PyObject *SWIG_STATIC_POINTER(MyVar) = NewSomething(...);*/#ifdef __cplusplus#define SWIG_STATIC_POINTER(var) var#else#define SWIG_STATIC_POINTER(var) var = 0; if (!var) var#endif/* ----------------------------------------------------------------------------- * Pointer declarations * ----------------------------------------------------------------------------- *//* Flags for new pointer objects */#define SWIG_POINTER_NOSHADOW (SWIG_POINTER_OWN << 1)#define SWIG_POINTER_NEW (SWIG_POINTER_NOSHADOW | SWIG_POINTER_OWN)#define SWIG_POINTER_IMPLICIT_CONV (SWIG_POINTER_DISOWN << 1)#ifdef __cplusplusextern "C" {#if 0} /* cc-mode */#endif#endif/* How to access Py_None */#if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)# ifndef SWIG_PYTHON_NO_BUILD_NONE# ifndef SWIG_PYTHON_BUILD_NONE# define SWIG_PYTHON_BUILD_NONE# endif# endif#endif#ifdef SWIG_PYTHON_BUILD_NONE# ifdef Py_None# undef Py_None# define Py_None SWIG_Py_None()# endifSWIGRUNTIMEINLINE PyObject * _SWIG_Py_None(void){ PyObject *none = Py_BuildValue((char*)""); Py_DECREF(none); return none;}SWIGRUNTIME PyObject * SWIG_Py_None(void){ static PyObject *SWIG_STATIC_POINTER(none) = _SWIG_Py_None(); return none;}#endif/* The python void return value */SWIGRUNTIMEINLINE PyObject * SWIG_Py_Void(void){ PyObject *none = Py_None; Py_INCREF(none); return none;}/* PySwigClientData */typedef struct { PyObject *klass; PyObject *newraw; PyObject *newargs; PyObject *destroy; int delargs; int implicitconv;} PySwigClientData;SWIGRUNTIMEINLINE int SWIG_Python_CheckImplicit(swig_type_info *ty){ PySwigClientData *data = (PySwigClientData *)ty->clientdata; return data ? data->implicitconv : 0;}SWIGRUNTIMEINLINE PyObject *SWIG_Python_ExceptionType(swig_type_info *desc) { PySwigClientData *data = desc ? (PySwigClientData *) desc->clientdata : 0; PyObject *klass = data ? data->klass : 0; return (klass ? klass : PyExc_RuntimeError);}SWIGRUNTIME PySwigClientData * PySwigClientData_New(PyObject* obj){ if (!obj) { return 0; } else { PySwigClientData *data = (PySwigClientData *)malloc(sizeof(PySwigClientData)); /* the klass element */ data->klass = obj; Py_INCREF(data->klass); /* the newraw method and newargs arguments used to create a new raw instance */ if (PyClass_Check(obj)) { data->newraw = 0; data->newargs = obj; Py_INCREF(obj); } else {#if (PY_VERSION_HEX < 0x02020000) data->newraw = 0;#else data->newraw = PyObject_GetAttrString(data->klass, (char *)"__new__");#endif if (data->newraw) { Py_INCREF(data->newraw); data->newargs = PyTuple_New(1); PyTuple_SetItem(data->newargs, 0, obj); } else { data->newargs = obj; } Py_INCREF(data->newargs); } /* the destroy method, aka as the C++ delete method */ data->destroy = PyObject_GetAttrString(data->klass, (char *)"__swig_destroy__"); if (PyErr_Occurred()) { PyErr_Clear(); data->destroy = 0; } if (data->destroy) { int flags; Py_INCREF(data->destroy); flags = PyCFunction_GET_FLAGS(data->destroy);#ifdef METH_O data->delargs = !(flags & (METH_O));#else data->delargs = 0;#endif } else { data->delargs = 0; } data->implicitconv = 0; return data; }}SWIGRUNTIME void PySwigClientData_Del(PySwigClientData* data){ Py_XDECREF(data->newraw); Py_XDECREF(data->newargs); Py_XDECREF(data->destroy);}/* =============== PySwigObject =====================*/typedef struct { PyObject_HEAD void *ptr; swig_type_info *ty; int own; PyObject *next;} PySwigObject;SWIGRUNTIME PyObject *PySwigObject_long(PySwigObject *v){ return PyLong_FromVoidPtr(v->ptr);}SWIGRUNTIME PyObject *PySwigObject_format(const char* fmt, PySwigObject *v){ PyObject *res = NULL; PyObject *args = PyTuple_New(1); if (args) { if (PyTuple_SetItem(args, 0, PySwigObject_long(v)) == 0) { PyObject *ofmt = PyString_FromString(fmt); if (ofmt) { res = PyString_Format(ofmt,args); Py_DECREF(ofmt); } Py_DECREF(args); } } return res;}SWIGRUNTIME PyObject *PySwigObject_oct(PySwigObject *v){ return PySwigObject_format("%o",v);}SWIGRUNTIME PyObject *PySwigObject_hex(PySwigObject *v){ return PySwigObject_format("%x",v);}SWIGRUNTIME PyObject *#ifdef METH_NOARGSPySwigObject_repr(PySwigObject *v)#elsePySwigObject_repr(PySwigObject *v, PyObject *args)#endif{ const char *name = SWIG_TypePrettyName(v->ty); PyObject *hex = PySwigObject_hex(v); PyObject *repr = PyString_FromFormat("<Swig Object of type '%s' at 0x%s>", name, PyString_AsString(hex)); Py_DECREF(hex); if (v->next) {#ifdef METH_NOARGS PyObject *nrep = PySwigObject_repr((PySwigObject *)v->next);#else PyObject *nrep = PySwigObject_repr((PySwigObject *)v->next, args);#endif PyString_ConcatAndDel(&repr,nrep); } return repr; }SWIGRUNTIME intPySwigObject_print(PySwigObject *v, FILE *fp, int SWIGUNUSEDPARM(flags)){#ifdef METH_NOARGS PyObject *repr = PySwigObject_repr(v);#else PyObject *repr = PySwigObject_repr(v, NULL);#endif if (repr) { fputs(PyString_AsString(repr), fp); Py_DECREF(repr); return 0; } else { return 1;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -