⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 svmc_wrap.c

📁 支持向量机的c++和java语言实现
💻 C
📖 第 1 页 / 共 5 页
字号:
#      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 + -