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

📄 svmc_wrap.c

📁 SVM是一种常用的模式分类机器学习算法
💻 C
📖 第 1 页 / 共 5 页
字号:
PySwigPacked_UnpackData(PyObject *obj, void *ptr, size_t size){  PySwigPacked *self = (PySwigPacked *)obj;  if (self->size != size) return 0;  memcpy(ptr, self->pack, size);  return self->desc;}SWIGRUNTIMEINLINE const char *PySwigPacked_GetDesc(PyObject *self){  return ((PySwigPacked *)self)->desc;}SWIGRUNTIMEINLINE intPySwigPacked_Check(PyObject *op) {  return ((op)->ob_type == PySwigPacked_GetType())     || (strcmp((op)->ob_type->tp_name,"PySwigPacked") == 0);}#else/* ----------------------------------------------------------------------------- * Use the old Python PyCObject instead of PySwigObject * ----------------------------------------------------------------------------- */#define PySwigObject_GetDesc(obj)	           PyCObject_GetDesc(obj)#define PySwigObject_Check(obj)	           PyCObject_Check(obj)#define PySwigObject_AsVoidPtr(obj)	   PyCObject_AsVoidPtr(obj)#define PySwigObject_FromVoidPtrAndDesc(p, d)  PyCObject_FromVoidPtrAndDesc(p, d, NULL)#endif#endif/* ----------------------------------------------------------------------------- * errors manipulation * ----------------------------------------------------------------------------- */SWIGRUNTIME voidSWIG_Python_TypeError(const char *type, PyObject *obj){  if (type) {#if defined(SWIG_COBJECT_TYPES)    if (PySwigObject_Check(obj)) {      const char *otype = (const char *) PySwigObject_GetDesc(obj);      if (otype) {	PyErr_Format(PyExc_TypeError, "a '%s' is expected, 'PySwigObject(%s)' is received",		     type, otype);	return;      }    } else #endif          {      const char *otype = (obj ? obj->ob_type->tp_name : 0);       if (otype) {	PyObject *str = PyObject_Str(obj);	const char *cstr = str ? PyString_AsString(str) : 0;	if (cstr) {	  PyErr_Format(PyExc_TypeError, "a '%s' is expected, '%s(%s)' is received",		       type, otype, cstr);	} else {	  PyErr_Format(PyExc_TypeError, "a '%s' is expected, '%s' is received",		       type, otype);	}	Py_DECREF(str);	return;      }    }       PyErr_Format(PyExc_TypeError, "a '%s' is expected", type);  } else {    PyErr_Format(PyExc_TypeError, "unexpected type is received");  }}SWIGRUNTIMEINLINE voidSWIG_Python_NullRef(const char *type){  if (type) {    PyErr_Format(PyExc_TypeError, "null reference of type '%s' was received",type);  } else {    PyErr_Format(PyExc_TypeError, "null reference was received");  }}SWIGRUNTIME intSWIG_Python_AddErrMesg(const char* mesg, int infront){  if (PyErr_Occurred()) {    PyObject *type = 0;    PyObject *value = 0;    PyObject *traceback = 0;    PyErr_Fetch(&type, &value, &traceback);    if (value) {      PyObject *old_str = PyObject_Str(value);      Py_XINCREF(type);      PyErr_Clear();      if (infront) {	PyErr_Format(type, "%s %s", mesg, PyString_AsString(old_str));      } else {	PyErr_Format(type, "%s %s", PyString_AsString(old_str), mesg);      }      Py_DECREF(old_str);    }    return 1;  } else {    return 0;  }}SWIGRUNTIME intSWIG_Python_ArgFail(int argnum){  if (PyErr_Occurred()) {    /* add information about failing argument */    char mesg[256];    sprintf(mesg, "argument number %d:", argnum);    return SWIG_Python_AddErrMesg(mesg, 1);  } else {    return 0;  }}/* ----------------------------------------------------------------------------- * pointers/data manipulation * ----------------------------------------------------------------------------- *//* Convert a pointer value */SWIGRUNTIME intSWIG_Python_ConvertPtr(PyObject *obj, void **ptr, swig_type_info *ty, int flags) {  swig_type_info *tc;  const char *c = 0;  static PyObject *SWIG_this = 0;  int    newref = 0;  PyObject  *pyobj = 0;  void *vptr;    if (!obj) return 0;  if (obj == Py_None) {    *ptr = 0;    return 0;  }#ifdef SWIG_COBJECT_TYPES  if (!(PySwigObject_Check(obj))) {    if (!SWIG_this)      SWIG_this = PyString_FromString("this");    pyobj = obj;    obj = PyObject_GetAttr(obj,SWIG_this);    newref = 1;    if (!obj) goto type_error;    if (!PySwigObject_Check(obj)) {      Py_DECREF(obj);      goto type_error;    }  }    vptr = PySwigObject_AsVoidPtr(obj);  c = (const char *) PySwigObject_GetDesc(obj);  if (newref) { Py_DECREF(obj); }  goto type_check;#else  if (!(PyString_Check(obj))) {    if (!SWIG_this)      SWIG_this = PyString_FromString("this");    pyobj = obj;    obj = PyObject_GetAttr(obj,SWIG_this);    newref = 1;    if (!obj) goto type_error;    if (!PyString_Check(obj)) {      Py_DECREF(obj);      goto type_error;    }  }   c = PyString_AS_STRING(obj);  /* Pointer values must start with leading underscore */  c = SWIG_UnpackVoidPtr(c, &vptr, ty->name);  if (newref) { Py_DECREF(obj); }  if (!c) goto type_error;#endiftype_check:  if (ty) {    tc = SWIG_TypeCheck(c,ty);    if (!tc) goto type_error;    *ptr = SWIG_TypeCast(tc,vptr);  } else {    *ptr = vptr;  }  if ((pyobj) && (flags & SWIG_POINTER_DISOWN)) {    PyObject_SetAttrString(pyobj,(char*)"thisown",Py_False);  }  return 0;type_error:  PyErr_Clear();  if (pyobj && !obj) {        obj = pyobj;    if (PyCFunction_Check(obj)) {      /* here we get the method pointer for callbacks */      char *doc = (((PyCFunctionObject *)obj) -> m_ml -> ml_doc);      c = doc ? strstr(doc, "swig_ptr: ") : 0;      if (c) {	c = SWIG_UnpackVoidPtr(c + 10, &vptr, ty->name);	if (!c) goto type_error;	goto type_check;      }    }  }  if (flags & SWIG_POINTER_EXCEPTION) {    if (ty) {      SWIG_Python_TypeError(SWIG_TypePrettyName(ty), obj);    } else {      SWIG_Python_TypeError("C/C++ pointer", obj);    }  }  return -1;}/* Convert a pointer value, signal an exception on a type mismatch */SWIGRUNTIME void *SWIG_Python_MustGetPtr(PyObject *obj, swig_type_info *ty, int argnum, int flags) {  void *result;  if (SWIG_Python_ConvertPtr(obj, &result, ty, flags) == -1) {    PyErr_Clear();    if (flags & SWIG_POINTER_EXCEPTION) {      SWIG_Python_TypeError(SWIG_TypePrettyName(ty), obj);      SWIG_Python_ArgFail(argnum);    }  }  return result;}/* Convert a packed value value */SWIGRUNTIME intSWIG_Python_ConvertPacked(PyObject *obj, void *ptr, size_t sz, swig_type_info *ty, int flags) {  swig_type_info *tc;  const char *c = 0;#if defined(SWIG_COBJECT_TYPES) && !defined(SWIG_COBJECT_PYTHON)  c = PySwigPacked_UnpackData(obj, ptr, sz);#else  if ((!obj) || (!PyString_Check(obj))) goto type_error;  c = PyString_AS_STRING(obj);  /* Pointer values must start with leading underscore */  c = SWIG_UnpackDataName(c, ptr, sz, ty->name);#endif  if (!c) goto type_error;  if (ty) {    tc = SWIG_TypeCheck(c,ty);    if (!tc) goto type_error;  }  return 0;type_error:  PyErr_Clear();  if (flags & SWIG_POINTER_EXCEPTION) {    if (ty) {      SWIG_Python_TypeError(SWIG_TypePrettyName(ty), obj);    } else {      SWIG_Python_TypeError("C/C++ packed data", obj);    }  }  return -1;}  /* Create a new array object */SWIGRUNTIME PyObject *SWIG_Python_NewPointerObj(void *ptr, swig_type_info *type, int own) {  PyObject *robj = 0;  if (!ptr) {    Py_INCREF(Py_None);    return Py_None;  }#ifdef SWIG_COBJECT_TYPES  robj = PySwigObject_FromVoidPtrAndDesc((void *) ptr, (char *)type->name);#else  {    char result[SWIG_BUFFER_SIZE];    robj = SWIG_PackVoidPtr(result, ptr, type->name, sizeof(result)) ?      PyString_FromString(result) : 0;  }#endif  if (!robj || (robj == Py_None)) return robj;  if (type->clientdata) {    PyObject *inst;    PyObject *args = Py_BuildValue((char*)"(O)", robj);    Py_DECREF(robj);    inst = PyObject_CallObject((PyObject *) type->clientdata, args);    Py_DECREF(args);    if (inst) {      if (own) {        PyObject_SetAttrString(inst,(char*)"thisown",Py_True);      }      robj = inst;    }  }  return robj;}SWIGRUNTIME PyObject *SWIG_Python_NewPackedObj(void *ptr, size_t sz, swig_type_info *type) {  PyObject *robj = 0;  if (!ptr) {    Py_INCREF(Py_None);    return Py_None;  }#if defined(SWIG_COBJECT_TYPES) && !defined(SWIG_COBJECT_PYTHON)  robj = PySwigPacked_FromDataAndDesc((void *) ptr, sz, (char *)type->name);#else  {    char result[SWIG_BUFFER_SIZE];    robj = SWIG_PackDataName(result, ptr, sz, type->name, sizeof(result)) ?      PyString_FromString(result) : 0;  }#endif  return robj;}/* -----------------------------------------------------------------------------* *  Get type list  * -----------------------------------------------------------------------------*/#ifdef SWIG_LINK_RUNTIMEvoid *SWIG_ReturnGlobalTypeList(void *);#endifSWIGRUNTIME swig_type_info **SWIG_Python_GetTypeListHandle() {  static void *type_pointer = (void *)0;  /* first check if module already created */  if (!type_pointer) {#ifdef SWIG_LINK_RUNTIME    type_pointer = SWIG_ReturnGlobalTypeList((void *)0);#else    type_pointer = PyCObject_Import((char*)"swig_runtime_data" SWIG_RUNTIME_VERSION,				    (char*)"type_pointer" SWIG_TYPE_TABLE_NAME);    if (PyErr_Occurred()) {      PyErr_Clear();      type_pointer = (void *)0;    }  }#endif  return (swig_type_info **) type_pointer;}/*  Search for a swig_type_info structure */SWIGRUNTIMEINLINE swig_type_info *SWIG_Python_GetTypeList() {  swig_type_info **tlh = SWIG_Python_GetTypeListHandle();  return tlh ? *tlh : (swig_type_info*)0;}#define SWIG_Runtime_GetTypeList SWIG_Python_GetTypeList #ifdef __cplusplus}#endif/* -------- TYPES TABLE (BEGIN) -------- */#define  SWIGTYPE_p_p_svm_node swig_types[0] #define  SWIGTYPE_p_svm_node swig_types[1] #define  SWIGTYPE_p_svm_parameter swig_types[2] #define  SWIGTYPE_p_char swig_types[3] #define  SWIGTYPE_p_double swig_types[4] #define  SWIGTYPE_size_t swig_types[5] #define  SWIGTYPE_p_svm_model swig_types[6] #define  SWIGTYPE_ptrdiff_t swig_types[7] #define  SWIGTYPE_p_int swig_types[8] #define  SWIGTYPE_p_svm_problem swig_types[9] static swig_type_info *swig_types[11];/* -------- TYPES TABLE (END) -------- */#define SWIG_init    initsvmc#define SWIG_name    "svmc"#include "svm.h"  /*@/usr/share/swig1.3/python/pymacros.swg,66,SWIG_define@*/#define SWIG_From_int PyInt_FromLong/*@@*/#include <limits.h>SWIGINTERN int  SWIG_CheckLongInRange(long value, long min_value, long max_value,			const char *errmsg){  if (value < min_value) {    if (errmsg) {      PyErr_Format(PyExc_OverflowError, 		   "value %ld is less than '%s' minimum %ld", 		   value, errmsg, min_value);    }    return 0;      } else if (value > max_value) {    if (errmsg) {      PyErr_Format(PyExc_OverflowError,		   "value %ld is greater than '%s' maximum %ld", 		   value, errmsg, max_value);    }    return 0;  }  return 1;}SWIGINTERN int  SWIG_AsVal_long(PyObject * obj, long* val){  if (PyInt_Check(obj)) {    if (val) *val = PyInt_AS_LONG(obj);    return 1;  }  if (PyLong_Check(obj)) {    long v = PyLong_AsLong(obj);    if (!PyErr_Occurred()) {      if (val) *val = v;      return 1;    } else {      if (!val) PyErr_Clear();      return 0;    }  }  if (val) {    SWIG_type_error("long", obj);  }  return 0; }#if INT_MAX != LONG_MAXSWIGINTERN int  SWIG_AsVal_int(PyObject *obj, int *val){   const char* errmsg = val ? "int" : (char*)0;  long v;  if (SWIG_AsVal_long(obj, &v)) {    if (SWIG_CheckLongInRange(v, INT_MIN,INT_MAX, errmsg)) {      if (val) *val = (int)(v);      return 1;    } else {      return 0;    }  } else {    PyErr_Clear();  }  if (val) {    SWIG_type_error(errmsg, obj);  }  return 0;    }#elseSWIGINTERNSHORT int  SWIG_AsVal_int(PyObject *obj, int *val){  return SWIG_AsVal_long(obj,(long*)val);}#endifSWIGINTERNSHORT intSWIG_As_int(PyObject* obj){  int v;  if (!SWIG_AsVal_int(obj, &v)) {    /*      this is needed to make valgrind/purify happier.      */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -