16 #define SWIG_PYTHON_DIRECTOR_NO_VTABLE
21 template<
typename T>
class SwigValueWrapper {
22 struct SwigMovePointer {
24 SwigMovePointer(T *p) : ptr(p) { }
25 ~SwigMovePointer() {
delete ptr; }
26 SwigMovePointer& operator=(SwigMovePointer& rhs) { T* oldptr = ptr; ptr = 0;
delete oldptr; ptr = rhs.ptr; rhs.ptr = 0;
return *
this; }
28 SwigValueWrapper& operator=(
const SwigValueWrapper<T>& rhs);
29 SwigValueWrapper(
const SwigValueWrapper<T>& rhs);
31 SwigValueWrapper() : pointer(0) { }
32 SwigValueWrapper& operator=(
const T& t) { SwigMovePointer tmp(
new T(t)); pointer = tmp;
return *
this; }
33 operator T&()
const {
return *pointer.ptr; }
34 T *operator&() {
return pointer.ptr; }
37 template <
typename T> T SwigValueInit() {
48 #ifndef SWIGTEMPLATEDISAMBIGUATOR
49 # if defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x560)
50 # define SWIGTEMPLATEDISAMBIGUATOR template
51 # elif defined(__HP_aCC)
54 # define SWIGTEMPLATEDISAMBIGUATOR template
56 # define SWIGTEMPLATEDISAMBIGUATOR
62 # if defined(__cplusplus) || (defined(__GNUC__) && !defined(__STRICT_ANSI__))
63 # define SWIGINLINE inline
71 # if defined(__GNUC__)
72 # if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
73 # define SWIGUNUSED __attribute__ ((__unused__))
78 # define SWIGUNUSED __attribute__ ((__unused__))
84 #ifndef SWIG_MSC_UNSUPPRESS_4505
85 # if defined(_MSC_VER)
86 # pragma warning(disable : 4505)
90 #ifndef SWIGUNUSEDPARM
92 # define SWIGUNUSEDPARM(p)
94 # define SWIGUNUSEDPARM(p) p SWIGUNUSED
100 # define SWIGINTERN static SWIGUNUSED
104 #ifndef SWIGINTERNINLINE
105 # define SWIGINTERNINLINE SWIGINTERN SWIGINLINE
109 #if defined(__GNUC__)
110 # if (__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)
111 # ifndef GCC_HASCLASSVISIBILITY
112 # define GCC_HASCLASSVISIBILITY
118 # if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
119 # if defined(STATIC_LINKED)
122 # define SWIGEXPORT __declspec(dllexport)
125 # if defined(__GNUC__) && defined(GCC_HASCLASSVISIBILITY)
126 # define SWIGEXPORT __attribute__ ((visibility("default")))
135 # if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
136 # define SWIGSTDCALL __stdcall
143 #if !defined(SWIG_NO_CRT_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_CRT_SECURE_NO_DEPRECATE)
144 # define _CRT_SECURE_NO_DEPRECATE
148 #if !defined(SWIG_NO_SCL_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_SCL_SECURE_NO_DEPRECATE)
149 # define _SCL_SECURE_NO_DEPRECATE
153 #if defined(__APPLE__) && !defined(__ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES)
154 # define __ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES 0
162 #ifdef __INTEL_COMPILER
163 # pragma warning disable 592
167 #if defined(__GNUC__) && defined(_WIN32) && !defined(SWIG_PYTHON_NO_HYPOT_WORKAROUND)
172 #if defined(_DEBUG) && defined(SWIG_PYTHON_INTERPRETER_NO_DEBUG)
190 #define SWIG_RUNTIME_VERSION "4"
193 #ifdef SWIG_TYPE_TABLE
194 # define SWIG_QUOTE_STRING(x) #x
195 # define SWIG_EXPAND_AND_QUOTE_STRING(x) SWIG_QUOTE_STRING(x)
196 # define SWIG_TYPE_TABLE_NAME SWIG_EXPAND_AND_QUOTE_STRING(SWIG_TYPE_TABLE)
198 # define SWIG_TYPE_TABLE_NAME
211 # define SWIGRUNTIME SWIGINTERN
214 #ifndef SWIGRUNTIMEINLINE
215 # define SWIGRUNTIMEINLINE SWIGRUNTIME SWIGINLINE
219 #ifndef SWIG_BUFFER_SIZE
220 # define SWIG_BUFFER_SIZE 1024
224 #define SWIG_POINTER_DISOWN 0x1
225 #define SWIG_CAST_NEW_MEMORY 0x2
226 #define SWIG_POINTER_NO_NULL 0x4
229 #define SWIG_POINTER_OWN 0x1
312 #define SWIG_ERROR (-1)
313 #define SWIG_IsOK(r) (r >= 0)
314 #define SWIG_ArgError(r) ((r != SWIG_ERROR) ? r : SWIG_TypeError)
317 #define SWIG_CASTRANKLIMIT (1 << 8)
319 #define SWIG_NEWOBJMASK (SWIG_CASTRANKLIMIT << 1)
321 #define SWIG_TMPOBJMASK (SWIG_NEWOBJMASK << 1)
323 #define SWIG_BADOBJ (SWIG_ERROR)
324 #define SWIG_OLDOBJ (SWIG_OK)
325 #define SWIG_NEWOBJ (SWIG_OK | SWIG_NEWOBJMASK)
326 #define SWIG_TMPOBJ (SWIG_OK | SWIG_TMPOBJMASK)
328 #define SWIG_AddNewMask(r) (SWIG_IsOK(r) ? (r | SWIG_NEWOBJMASK) : r)
329 #define SWIG_DelNewMask(r) (SWIG_IsOK(r) ? (r & ~SWIG_NEWOBJMASK) : r)
330 #define SWIG_IsNewObj(r) (SWIG_IsOK(r) && (r & SWIG_NEWOBJMASK))
331 #define SWIG_AddTmpMask(r) (SWIG_IsOK(r) ? (r | SWIG_TMPOBJMASK) : r)
332 #define SWIG_DelTmpMask(r) (SWIG_IsOK(r) ? (r & ~SWIG_TMPOBJMASK) : r)
333 #define SWIG_IsTmpObj(r) (SWIG_IsOK(r) && (r & SWIG_TMPOBJMASK))
336 #if defined(SWIG_CASTRANK_MODE)
337 # ifndef SWIG_TypeRank
338 # define SWIG_TypeRank unsigned long
340 # ifndef SWIG_MAXCASTRANK
341 # define SWIG_MAXCASTRANK (2)
343 # define SWIG_CASTRANKMASK ((SWIG_CASTRANKLIMIT) -1)
344 # define SWIG_CastRank(r) (r & SWIG_CASTRANKMASK)
349 return SWIG_IsOK(r) ? SWIG_CastRank(r) + 1 : 0;
352 # define SWIG_AddCast(r) (r)
353 # define SWIG_CheckState(r) (SWIG_IsOK(r) ? 1 : 0)
363 typedef void *(*swig_converter_func)(
void *,
int *);
405 const char *f2,
const char *l2) {
406 for (;(f1 != l1) && (f2 != l2); ++f1, ++f2) {
407 while ((*f1 ==
' ') && (f1 != l1)) ++f1;
408 while ((*f2 ==
' ') && (f2 != l2)) ++f2;
409 if (*f1 != *f2)
return (*f1 > *f2) ? 1 : -1;
411 return (
int)((l1 - f1) - (l2 - f2));
421 const char* te = tb + strlen(tb);
423 while (equiv != 0 && *ne) {
424 for (nb = ne; *ne; ++ne) {
425 if (*ne ==
'|')
break;
450 if (strcmp(iter->
type->
name, c) == 0) {
451 if (iter == ty->
cast)
477 if (iter->
type == from) {
478 if (iter == ty->
cast)
510 if (!ty || !ty->
dcast)
return ty;
511 while (ty && (ty->
dcast)) {
512 ty = (*ty->
dcast)(ptr);
536 if (!type)
return NULL;
537 if (type->
str != NULL) {
538 const char *last_name = type->
str;
540 for (s = type->
str; *s; s++)
541 if (*s ==
'|') last_name = s+1;
589 size_t r = iter->
size - 1;
592 size_t i = (l + r) >> 1;
593 const char *iname = iter->
types[i]->
name;
595 int compare = strcmp(
name, iname);
597 return iter->
types[i];
598 }
else if (compare < 0) {
604 }
else if (compare > 0) {
613 }
while (iter != end);
640 for (; i < iter->
size; ++i) {
642 return iter->
types[i];
645 }
while (iter != end);
657 static const char hex[17] =
"0123456789abcdef";
658 const unsigned char *u = (
unsigned char *) ptr;
659 const unsigned char *eu = u + sz;
660 for (; u != eu; ++u) {
661 unsigned char uu = *u;
662 *(c++) = hex[(uu & 0xf0) >> 4];
663 *(c++) = hex[uu & 0xf];
673 unsigned char *u = (
unsigned char *) ptr;
674 const unsigned char *eu = u + sz;
675 for (; u != eu; ++u) {
678 if ((d >=
'0') && (d <=
'9'))
679 uu = (
unsigned char)((d -
'0') << 4);
680 else if ((d >=
'a') && (d <=
'f'))
681 uu = (
unsigned char)((d - (
'a'-10)) << 4);
685 if ((d >=
'0') && (d <=
'9'))
686 uu |= (
unsigned char)(d -
'0');
687 else if ((d >=
'a') && (d <=
'f'))
688 uu |= (
unsigned char)(d - (
'a'-10));
702 if ((2*
sizeof(
void *) + 2) > bsz)
return 0;
705 if (strlen(
name) + 1 > (bsz - (r - buff)))
return 0;
713 if (strcmp(c,
"NULL") == 0) {
726 size_t lname = (
name ? strlen(
name) : 0);
727 if ((2*sz + 2 + lname) > bsz)
return 0;
731 strncpy(r,
name,lname+1);
741 if (strcmp(c,
"NULL") == 0) {
756 #define SWIG_UnknownError -1
757 #define SWIG_IOError -2
758 #define SWIG_RuntimeError -3
759 #define SWIG_IndexError -4
760 #define SWIG_TypeError -5
761 #define SWIG_DivisionByZero -6
762 #define SWIG_OverflowError -7
763 #define SWIG_SyntaxError -8
764 #define SWIG_ValueError -9
765 #define SWIG_SystemError -10
766 #define SWIG_AttributeError -11
767 #define SWIG_MemoryError -12
768 #define SWIG_NullReferenceError -13
773 #if PY_VERSION_HEX >= 0x03000000
775 #define PyClass_Check(obj) PyObject_IsInstance(obj, (PyObject *)&PyType_Type)
776 #define PyInt_Check(x) PyLong_Check(x)
777 #define PyInt_AsLong(x) PyLong_AsLong(x)
778 #define PyInt_FromLong(x) PyLong_FromLong(x)
779 #define PyInt_FromSize_t(x) PyLong_FromSize_t(x)
780 #define PyString_Check(name) PyBytes_Check(name)
781 #define PyString_FromString(x) PyUnicode_FromString(x)
782 #define PyString_Format(fmt, args) PyUnicode_Format(fmt, args)
783 #define PyString_AsString(str) PyBytes_AsString(str)
784 #define PyString_Size(str) PyBytes_Size(str)
785 #define PyString_InternFromString(key) PyUnicode_InternFromString(key)
786 #define Py_TPFLAGS_HAVE_CLASS Py_TPFLAGS_BASETYPE
787 #define PyString_AS_STRING(x) PyUnicode_AS_STRING(x)
788 #define _PyLong_FromSsize_t(x) PyLong_FromSsize_t(x)
793 # define Py_TYPE(op) ((op)->ob_type)
798 #if PY_VERSION_HEX >= 0x03000000
799 # define SWIG_Python_str_FromFormat PyUnicode_FromFormat
801 # define SWIG_Python_str_FromFormat PyString_FromFormat
811 #if PY_VERSION_HEX >= 0x03030000
812 return (
char *)PyUnicode_AsUTF8(str);
813 #elif PY_VERSION_HEX >= 0x03000000
815 str = PyUnicode_AsUTF8String(str);
819 if (PyBytes_AsStringAndSize(str, &cstr, &len) != -1) {
820 newstr = (
char *)
malloc(len+1);
822 memcpy(newstr, cstr, len+1);
828 return PyString_AsString(str);
832 #if PY_VERSION_HEX >= 0x03030000 || PY_VERSION_HEX < 0x03000000
833 # define SWIG_Python_str_DelForPy3(x)
835 # define SWIG_Python_str_DelForPy3(x) free( (void*) (x) )
842 #if PY_VERSION_HEX >= 0x03000000
843 return PyUnicode_FromString(c);
845 return PyString_FromString(c);
850 # define PyObject_DEL PyObject_Del
855 # define SWIGPY_USE_CAPSULE
856 # define SWIGPY_CAPSULE_NAME ("swig_runtime_data" SWIG_RUNTIME_VERSION ".type_pointer_capsule" SWIG_TYPE_TABLE_NAME)
858 #if PY_VERSION_HEX < 0x03020000
859 #define PyDescr_TYPE(x) (((PyDescrObject *)(x))->d_type)
860 #define PyDescr_NAME(x) (((PyDescrObject *)(x))->d_name)
861 #define Py_hash_t long
873 type = PyExc_MemoryError;
876 type = PyExc_IOError;
879 type = PyExc_RuntimeError;
882 type = PyExc_IndexError;
885 type = PyExc_TypeError;
888 type = PyExc_ZeroDivisionError;
891 type = PyExc_OverflowError;
894 type = PyExc_SyntaxError;
897 type = PyExc_ValueError;
900 type = PyExc_SystemError;
903 type = PyExc_AttributeError;
906 type = PyExc_RuntimeError;
917 PyObject *traceback = 0;
919 if (PyErr_Occurred())
920 PyErr_Fetch(&type, &
value, &traceback);
922 PyObject *old_str = PyObject_Str(
value);
927 PyErr_Format(type,
"%s %s", tmp, mesg);
929 PyErr_Format(type,
"%s", mesg);
934 PyErr_SetString(PyExc_RuntimeError, mesg);
944 error = PyErr_Occurred();
945 return error && PyErr_GivenExceptionMatches(error, PyExc_TypeError);
954 PyObject *type = NULL, *
value = NULL, *traceback = NULL;
955 PyErr_Fetch(&type, &
value, &traceback);
956 #if PY_VERSION_HEX >= 0x03000000
957 newvalue = PyUnicode_FromFormat(
"%S\nAdditional information:\n%s",
value,
message);
959 newvalue = PyString_FromFormat(
"%s\nAdditional information:\n%s", PyString_AsString(
value),
message);
962 PyErr_Restore(type, newvalue, traceback);
965 PyErr_SetString(PyExc_TypeError,
message);
969 #if defined(SWIG_PYTHON_NO_THREADS)
970 # if defined(SWIG_PYTHON_THREADS)
971 # undef SWIG_PYTHON_THREADS
974 #if defined(SWIG_PYTHON_THREADS)
975 # if !defined(SWIG_PYTHON_USE_GIL) && !defined(SWIG_PYTHON_NO_USE_GIL)
976 # define SWIG_PYTHON_USE_GIL
978 # if defined(SWIG_PYTHON_USE_GIL)
979 # ifndef SWIG_PYTHON_INITIALIZE_THREADS
980 # define SWIG_PYTHON_INITIALIZE_THREADS PyEval_InitThreads()
983 class SWIG_Python_Thread_Block {
985 PyGILState_STATE state;
987 void end() {
if (status) { PyGILState_Release(state); status =
false;} }
988 SWIG_Python_Thread_Block() : status(true), state(PyGILState_Ensure()) {}
989 ~SWIG_Python_Thread_Block() { end(); }
991 class SWIG_Python_Thread_Allow {
995 void end() {
if (status) { PyEval_RestoreThread(save); status =
false; }}
996 SWIG_Python_Thread_Allow() : status(true), save(PyEval_SaveThread()) {}
997 ~SWIG_Python_Thread_Allow() { end(); }
999 # define SWIG_PYTHON_THREAD_BEGIN_BLOCK SWIG_Python_Thread_Block _swig_thread_block
1000 # define SWIG_PYTHON_THREAD_END_BLOCK _swig_thread_block.end()
1001 # define SWIG_PYTHON_THREAD_BEGIN_ALLOW SWIG_Python_Thread_Allow _swig_thread_allow
1002 # define SWIG_PYTHON_THREAD_END_ALLOW _swig_thread_allow.end()
1004 # define SWIG_PYTHON_THREAD_BEGIN_BLOCK PyGILState_STATE _swig_thread_block = PyGILState_Ensure()
1005 # define SWIG_PYTHON_THREAD_END_BLOCK PyGILState_Release(_swig_thread_block)
1006 # define SWIG_PYTHON_THREAD_BEGIN_ALLOW PyThreadState *_swig_thread_allow = PyEval_SaveThread()
1007 # define SWIG_PYTHON_THREAD_END_ALLOW PyEval_RestoreThread(_swig_thread_allow)
1010 # if !defined(SWIG_PYTHON_INITIALIZE_THREADS)
1011 # define SWIG_PYTHON_INITIALIZE_THREADS
1013 # if !defined(SWIG_PYTHON_THREAD_BEGIN_BLOCK)
1014 # define SWIG_PYTHON_THREAD_BEGIN_BLOCK
1016 # if !defined(SWIG_PYTHON_THREAD_END_BLOCK)
1017 # define SWIG_PYTHON_THREAD_END_BLOCK
1019 # if !defined(SWIG_PYTHON_THREAD_BEGIN_ALLOW)
1020 # define SWIG_PYTHON_THREAD_BEGIN_ALLOW
1022 # if !defined(SWIG_PYTHON_THREAD_END_ALLOW)
1023 # define SWIG_PYTHON_THREAD_END_ALLOW
1027 # define SWIG_PYTHON_INITIALIZE_THREADS
1028 # define SWIG_PYTHON_THREAD_BEGIN_BLOCK
1029 # define SWIG_PYTHON_THREAD_END_BLOCK
1030 # define SWIG_PYTHON_THREAD_BEGIN_ALLOW
1031 # define SWIG_PYTHON_THREAD_END_ALLOW
1047 #define SWIG_PY_POINTER 4
1048 #define SWIG_PY_BINARY 5
1074 #if PY_VERSION_HEX < 0x02070000
1075 # error "This version of SWIG only supports Python >= 2.7"
1078 #if PY_VERSION_HEX >= 0x03000000 && PY_VERSION_HEX < 0x03020000
1079 # error "This version of SWIG only supports Python 3 >= 3.2"
1085 #define SWIG_Python_ConvertPtr(obj, pptr, type, flags) SWIG_Python_ConvertPtrAndOwn(obj, pptr, type, flags, 0)
1086 #define SWIG_ConvertPtr(obj, pptr, type, flags) SWIG_Python_ConvertPtr(obj, pptr, type, flags)
1087 #define SWIG_ConvertPtrAndOwn(obj,pptr,type,flags,own) SWIG_Python_ConvertPtrAndOwn(obj, pptr, type, flags, own)
1089 #ifdef SWIGPYTHON_BUILTIN
1090 #define SWIG_NewPointerObj(ptr, type, flags) SWIG_Python_NewPointerObj(self, ptr, type, flags)
1092 #define SWIG_NewPointerObj(ptr, type, flags) SWIG_Python_NewPointerObj(NULL, ptr, type, flags)
1095 #define SWIG_InternalNewPointerObj(ptr, type, flags) SWIG_Python_NewPointerObj(NULL, ptr, type, flags)
1097 #define SWIG_CheckImplicit(ty) SWIG_Python_CheckImplicit(ty)
1098 #define SWIG_AcquirePtr(ptr, src) SWIG_Python_AcquirePtr(ptr, src)
1099 #define swig_owntype int
1102 #define SWIG_ConvertPacked(obj, ptr, sz, ty) SWIG_Python_ConvertPacked(obj, ptr, sz, ty)
1103 #define SWIG_NewPackedObj(ptr, sz, type) SWIG_Python_NewPackedObj(ptr, sz, type)
1106 #define SWIG_ConvertInstance(obj, pptr, type, flags) SWIG_ConvertPtr(obj, pptr, type, flags)
1107 #define SWIG_NewInstanceObj(ptr, type, flags) SWIG_NewPointerObj(ptr, type, flags)
1110 #define SWIG_ConvertFunctionPtr(obj, pptr, type) SWIG_Python_ConvertFunctionPtr(obj, pptr, type)
1111 #define SWIG_NewFunctionPtrObj(ptr, type) SWIG_Python_NewPointerObj(NULL, ptr, type, 0)
1114 #define SWIG_ConvertMember(obj, ptr, sz, ty) SWIG_Python_ConvertPacked(obj, ptr, sz, ty)
1115 #define SWIG_NewMemberObj(ptr, sz, type) SWIG_Python_NewPackedObj(ptr, sz, type)
1120 #define SWIG_GetModule(clientdata) SWIG_Python_GetModule(clientdata)
1121 #define SWIG_SetModule(clientdata, pointer) SWIG_Python_SetModule(pointer)
1122 #define SWIG_NewClientData(obj) SwigPyClientData_New(obj)
1124 #define SWIG_SetErrorObj SWIG_Python_SetErrorObj
1125 #define SWIG_SetErrorMsg SWIG_Python_SetErrorMsg
1126 #define SWIG_ErrorType(code) SWIG_Python_ErrorType(code)
1127 #define SWIG_Error(code, msg) SWIG_Python_SetErrorMsg(SWIG_ErrorType(code), msg)
1128 #define SWIG_fail goto fail
1138 PyErr_SetObject(errtype, obj);
1146 PyErr_SetString(errtype, msg);
1150 #define SWIG_Python_Raise(obj, type, desc) SWIG_Python_SetErrorObj(SWIG_Python_ExceptionType(desc), obj)
1154 #if defined(SWIGPYTHON_BUILTIN)
1157 SwigPyBuiltin_AddPublicSymbol(PyObject *seq,
const char *key) {
1158 PyObject *s = PyString_InternFromString(key);
1159 PyList_Append(seq, s);
1165 PyDict_SetItemString(d,
name, obj);
1167 if (public_interface)
1168 SwigPyBuiltin_AddPublicSymbol(public_interface,
name);
1175 PyDict_SetItemString(d,
name, obj);
1187 }
else if (result == Py_None) {
1191 if (!PyList_Check(result)) {
1192 PyObject *o2 = result;
1193 result = PyList_New(1);
1194 PyList_SetItem(result, 0, o2);
1196 PyList_Append(result,obj);
1211 PyErr_Format(PyExc_TypeError,
"%s expected %s%d arguments, got none",
1216 if (!PyTuple_Check(args)) {
1217 if (min <= 1 && max >= 1) {
1220 for (i = 1; i <
max; ++i) {
1225 PyErr_SetString(PyExc_SystemError,
"UnpackTuple() argument list is not a tuple");
1228 Py_ssize_t l = PyTuple_GET_SIZE(args);
1230 PyErr_Format(PyExc_TypeError,
"%s expected %s%d arguments, got %d",
1233 }
else if (l >
max) {
1234 PyErr_Format(PyExc_TypeError,
"%s expected %s%d arguments, got %d",
1239 for (i = 0; i < l; ++i) {
1240 objs[i] = PyTuple_GET_ITEM(args, i);
1242 for (; l <
max; ++l) {
1254 assert(PyDict_Check(kwargs));
1255 if (PyDict_Size(kwargs) > 0) {
1256 PyErr_Format(PyExc_TypeError,
"%s() does not take keyword arguments",
name);
1264 #define SWIG_Python_CallFunctor(functor, obj) PyObject_CallFunctionObjArgs(functor, obj, NULL);
1271 #define SWIG_STATIC_POINTER(var) var
1273 #define SWIG_STATIC_POINTER(var) var = 0; if (!var) var
1281 #define SWIG_POINTER_NOSHADOW (SWIG_POINTER_OWN << 1)
1282 #define SWIG_POINTER_NEW (SWIG_POINTER_NOSHADOW | SWIG_POINTER_OWN)
1284 #define SWIG_POINTER_IMPLICIT_CONV (SWIG_POINTER_DISOWN << 1)
1286 #define SWIG_BUILTIN_TP_INIT (SWIG_POINTER_OWN << 2)
1287 #define SWIG_BUILTIN_INIT (SWIG_BUILTIN_TP_INIT | SWIG_POINTER_OWN)
1298 PyObject *none = Py_None;
1312 PyTypeObject *pytype;
1321 PyErr_SetString(PyExc_TypeError,
"Implicit conversion is prohibited for explicit constructors.");
1328 PyObject *klass = data ? data->
klass : 0;
1329 return (klass ? klass : PyExc_RuntimeError);
1342 Py_INCREF(data->
klass);
1344 if (PyClass_Check(obj)) {
1349 data->
newraw = PyObject_GetAttrString(data->
klass,
"__new__");
1352 data->
newargs = PyTuple_New(1);
1353 PyTuple_SetItem(data->
newargs, 0, obj);
1360 data->
destroy = PyObject_GetAttrString(data->
klass,
"__swig_destroy__");
1361 if (PyErr_Occurred()) {
1368 flags = PyCFunction_GET_FLAGS(data->
destroy);
1369 data->
delargs = !(flags & (METH_O));
1381 Py_XDECREF(data->
newraw);
1394 #ifdef SWIGPYTHON_BUILTIN
1400 #ifdef SWIGPYTHON_BUILTIN
1403 SwigPyObject_get___dict__(PyObject *v, PyObject *
SWIGUNUSEDPARM(args))
1408 sobj->dict = PyDict_New();
1410 Py_INCREF(sobj->dict);
1419 return PyLong_FromVoidPtr(v->
ptr);
1425 PyObject *res = NULL;
1426 PyObject *args = PyTuple_New(1);
1431 #if PY_VERSION_HEX >= 0x03000000
1432 res = PyUnicode_Format(ofmt,args);
1434 res = PyString_Format(ofmt,args);
1463 # if PY_VERSION_HEX >= 0x03000000
1464 PyObject *joined = PyUnicode_Concat(repr, nrep);
1469 PyString_ConcatAndDel(&repr,nrep);
1488 return (i < j) ? -1 : ((i > j) ? 1 : 0);
1496 if( op != Py_EQ && op != Py_NE ) {
1497 Py_INCREF(Py_NotImplemented);
1498 return Py_NotImplemented;
1507 #ifdef SWIGPYTHON_BUILTIN
1512 assert(SwigPyObject_stype);
1528 #ifdef SWIGPYTHON_BUILTIN
1530 if (PyType_IsSubtype(op->ob_type, target_tp))
1532 return (strcmp(op->ob_type->tp_name,
"SwigPyObject") == 0);
1535 || (strcmp(
Py_TYPE(op)->tp_name,
"SwigPyObject") == 0);
1550 PyObject *destroy = data ? data->
destroy : 0;
1562 PyObject *type = NULL, *
value = NULL, *traceback = NULL;
1563 PyErr_Fetch(&type, &
value, &traceback);
1571 PyCFunction meth = PyCFunction_GET_FUNCTION(destroy);
1572 PyObject *mself = PyCFunction_GET_SELF(destroy);
1573 res = ((*meth)(mself, v));
1576 PyErr_WriteUnraisable(destroy);
1578 PyErr_Restore(type,
value, traceback);
1582 #if !defined(SWIG_PYTHON_SILENT_MEMLEAK)
1585 printf(
"swig/python detected a memory leak of type '%s', no destructor found.\n", (
name ?
name :
"unknown"));
1598 PyErr_SetString(PyExc_TypeError,
"Attempt to append a non SwigPyObject");
1611 Py_INCREF(sobj->
next);
1638 if (!PyArg_UnpackTuple(args,
"own", 0, 1, &val)) {
1642 PyObject *obj = PyBool_FromLong(sobj->
own);
1644 if (PyObject_IsTrue(val)) {
1658 {
"own",
SwigPyObject_own, METH_VARARGS,
"returns/sets ownership of the pointer"},
1667 static char swigobject_doc[] =
"Swig object carries a C/C++ instance pointer";
1669 static PyNumberMethods SwigPyObject_as_number = {
1674 #
if PY_VERSION_HEX < 0x03000000
1690 #
if PY_VERSION_HEX < 0x03000000
1694 #if PY_VERSION_HEX < 0x03000000
1700 #if PY_VERSION_HEX < 0x03000000
1704 #if PY_VERSION_HEX >= 0x03050000
1705 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1706 #elif PY_VERSION_HEX >= 0x03000000
1707 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1709 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1713 static PyTypeObject swigpyobject_type;
1714 static int type_init = 0;
1716 const PyTypeObject tmp = {
1717 #if PY_VERSION_HEX >= 0x03000000
1718 PyVarObject_HEAD_INIT(NULL, 0)
1720 PyObject_HEAD_INIT(NULL)
1730 #if PY_VERSION_HEX >= 0x03000000
1736 &SwigPyObject_as_number,
1742 PyObject_GenericGetAttr,
1773 #
if PY_VERSION_HEX >= 0x03040000
1776 #
if PY_VERSION_HEX >= 0x03080000
1779 #
if (PY_VERSION_HEX >= 0x03080000) && (PY_VERSION_HEX < 0x03090000)
1790 swigpyobject_type = tmp;
1792 if (PyType_Ready(&swigpyobject_type) < 0)
1795 return &swigpyobject_type;
1808 return (PyObject *)sobj;
1849 int s = (i < j) ? -1 : ((i > j) ? 1 : 0);
1850 return s ? s : strncmp((
const char *)v->
pack, (
const char *)w->
pack, 2*v->
size);
1864 || (strcmp((op)->ob_type->tp_name,
"SwigPyPacked") == 0);
1879 static char swigpacked_doc[] =
"Swig object carries a C/C++ instance pointer";
1880 static PyTypeObject swigpypacked_type;
1881 static int type_init = 0;
1883 const PyTypeObject tmp = {
1884 #if PY_VERSION_HEX>=0x03000000
1885 PyVarObject_HEAD_INIT(NULL, 0)
1887 PyObject_HEAD_INIT(NULL)
1897 #if PY_VERSION_HEX>=0x03000000
1909 PyObject_GenericGetAttr,
1940 #
if PY_VERSION_HEX >= 0x03040000
1943 #
if PY_VERSION_HEX >= 0x03080000
1946 #
if (PY_VERSION_HEX >= 0x03080000) && (PY_VERSION_HEX < 0x03090000)
1957 swigpypacked_type = tmp;
1959 if (PyType_Ready(&swigpypacked_type) < 0)
1962 return &swigpypacked_type;
1970 void *pack =
malloc(size);
1972 memcpy(pack, ptr, size);
1981 return (PyObject *) sobj;
1989 if (sobj->
size != size)
return 0;
1990 memcpy(ptr, sobj->
pack, size);
2014 #if PY_VERSION_HEX>=0x03000000
2015 #define SWIG_PYTHON_SLOW_GETSET_THIS
2026 #ifdef SWIGPYTHON_BUILTIN
2028 # ifdef PyWeakref_CheckProxy
2029 if (PyWeakref_CheckProxy(pyobj)) {
2030 pyobj = PyWeakref_GET_OBJECT(pyobj);
2040 #if !defined(SWIG_PYTHON_SLOW_GETSET_THIS)
2041 if (PyInstance_Check(pyobj)) {
2042 obj = _PyInstance_Lookup(pyobj,
SWIG_This());
2044 PyObject **dictptr = _PyObject_GetDictPtr(pyobj);
2045 if (dictptr != NULL) {
2046 PyObject *dict = *dictptr;
2047 obj = dict ? PyDict_GetItem(dict,
SWIG_This()) : 0;
2049 #ifdef PyWeakref_CheckProxy
2050 if (PyWeakref_CheckProxy(pyobj)) {
2051 PyObject *wobj = PyWeakref_GET_OBJECT(pyobj);
2055 obj = PyObject_GetAttr(pyobj,
SWIG_This());
2059 if (PyErr_Occurred()) PyErr_Clear();
2065 obj = PyObject_GetAttr(pyobj,
SWIG_This());
2069 if (PyErr_Occurred()) PyErr_Clear();
2089 int oldown = sobj->
own;
2107 if (obj == Py_None && !implicit_conv) {
2119 void *vptr = sobj->
ptr;
2124 if (ptr) *ptr = vptr;
2144 if (ptr) *ptr = vptr;
2150 *own = *own | sobj->
own;
2156 if (implicit_conv) {
2159 PyObject *klass = data->
klass;
2165 if (PyErr_Occurred()) {
2190 if (!
SWIG_IsOK(res) && obj == Py_None) {
2193 if (PyErr_Occurred())
2206 if (!PyCFunction_Check(obj)) {
2213 const char *doc = (((PyCFunctionObject *)obj) -> m_ml -> ml_doc);
2214 const char *desc = doc ? strstr(doc,
"swig_ptr: ") : 0;
2260 PyObject *newraw = data->
newraw;
2262 inst = PyObject_Call(newraw, data->
newargs, NULL);
2264 #if !defined(SWIG_PYTHON_SLOW_GETSET_THIS)
2265 PyObject **dictptr = _PyObject_GetDictPtr(inst);
2266 if (dictptr != NULL) {
2267 PyObject *dict = *dictptr;
2269 dict = PyDict_New();
2271 PyDict_SetItem(dict,
SWIG_This(), swig_this);
2275 if (PyObject_SetAttr(inst,
SWIG_This(), swig_this) == -1) {
2282 #if PY_VERSION_HEX >= 0x03000000
2283 PyObject *empty_args = PyTuple_New(0);
2285 PyObject *empty_kwargs = PyDict_New();
2287 inst = ((PyTypeObject *)data->
newargs)->tp_new((PyTypeObject *)data->
newargs, empty_args, empty_kwargs);
2288 Py_DECREF(empty_kwargs);
2290 if (PyObject_SetAttr(inst,
SWIG_This(), swig_this) == -1) {
2294 Py_TYPE(inst)->tp_flags &= ~Py_TPFLAGS_VALID_VERSION_TAG;
2298 Py_DECREF(empty_args);
2301 PyObject *dict = PyDict_New();
2303 PyDict_SetItem(dict,
SWIG_This(), swig_this);
2304 inst = PyInstance_NewRaw(data->
newargs, dict);
2315 #if !defined(SWIG_PYTHON_SLOW_GETSET_THIS)
2316 PyObject **dictptr = _PyObject_GetDictPtr(inst);
2317 if (dictptr != NULL) {
2318 PyObject *dict = *dictptr;
2320 dict = PyDict_New();
2323 return PyDict_SetItem(dict,
SWIG_This(), swig_this);
2326 return PyObject_SetAttr(inst,
SWIG_This(), swig_this);
2360 if (clientdata && clientdata->
pytype) {
2365 PyObject *next_self = clientdata->
pytype->tp_alloc(clientdata->
pytype, 0);
2366 while (newobj->
next)
2368 newobj->
next = next_self;
2370 #ifdef SWIGPYTHON_BUILTIN
2376 #ifdef SWIGPYTHON_BUILTIN
2385 return (PyObject*) newobj;
2412 #ifdef SWIG_LINK_RUNTIME
2413 void *SWIG_ReturnGlobalTypeList(
void *);
2418 static void *type_pointer = (
void *)0;
2420 if (!type_pointer) {
2421 #ifdef SWIG_LINK_RUNTIME
2422 type_pointer = SWIG_ReturnGlobalTypeList((
void *)0);
2425 if (PyErr_Occurred()) {
2427 type_pointer = (
void *)0;
2453 #if PY_VERSION_HEX >= 0x03000000
2457 static PyMethodDef swig_empty_runtime_method_table[] = { {NULL, NULL, 0, NULL} };
2458 PyObject *module = Py_InitModule(
"swig_runtime_data" SWIG_RUNTIME_VERSION, swig_empty_runtime_method_table);
2461 if (pointer && module) {
2464 Py_XDECREF(pointer);
2480 PyObject *obj = PyDict_GetItem(cache, key);
2488 obj = PyCapsule_New((
void*) descriptor, NULL, NULL);
2489 PyDict_SetItem(cache, key, obj);
2500 #define SWIG_POINTER_EXCEPTION 0
2501 #define SWIG_arg_fail(arg) SWIG_Python_ArgFail(arg)
2502 #define SWIG_MustGetPtr(p, type, argnum, flags) SWIG_Python_MustGetPtr(p, type, argnum, flags)
2507 if (PyErr_Occurred()) {
2509 PyObject *
value = 0;
2510 PyObject *traceback = 0;
2511 PyErr_Fetch(&type, &
value, &traceback);
2513 PyObject *old_str = PyObject_Str(
value);
2515 const char *errmesg = tmp ? tmp :
"Invalid error message";
2519 PyErr_Format(type,
"%s %s", mesg, errmesg);
2521 PyErr_Format(type,
"%s %s", errmesg, mesg);
2535 if (PyErr_Occurred()) {
2538 PyOS_snprintf(mesg,
sizeof(mesg),
"argument number %d:", argnum);
2550 return ty ? ty->
str :
"";
2557 #if defined(SWIG_COBJECT_TYPES)
2561 PyErr_Format(PyExc_TypeError,
"a '%s' is expected, 'SwigPyObject(%s)' is received",
2568 const char *otype = (obj ? obj->ob_type->tp_name : 0);
2570 PyObject *str = PyObject_Str(obj);
2573 PyErr_Format(PyExc_TypeError,
"a '%s' is expected, '%s(%s)' is received",
2577 PyErr_Format(PyExc_TypeError,
"a '%s' is expected, '%s' is received",
2584 PyErr_Format(PyExc_TypeError,
"a '%s' is expected", type);
2586 PyErr_Format(PyExc_TypeError,
"unexpected type is received");
2597 #if SWIG_POINTER_EXCEPTION
2607 #ifdef SWIGPYTHON_BUILTIN
2609 SWIG_Python_NonDynamicSetAttr(PyObject *obj, PyObject *
name, PyObject *
value) {
2610 PyTypeObject *tp = obj->ob_type;
2612 PyObject *encoded_name;
2616 # ifdef Py_USING_UNICODE
2617 if (PyString_Check(
name)) {
2618 name = PyUnicode_Decode(PyString_AsString(
name), PyString_Size(
name), NULL, NULL);
2621 }
else if (!PyUnicode_Check(
name))
2623 if (!PyString_Check(
name))
2626 PyErr_Format(PyExc_TypeError,
"attribute name must be string, not '%.200s'",
name->ob_type->tp_name);
2633 if (PyType_Ready(tp) < 0)
2637 descr = _PyType_Lookup(tp,
name);
2640 f = descr->ob_type->tp_descr_set;
2642 if (PyString_Check(
name)) {
2643 encoded_name =
name;
2646 encoded_name = PyUnicode_AsUTF8String(
name);
2650 PyErr_Format(PyExc_AttributeError,
"'%.100s' object has no attribute '%.200s'", tp->tp_name, PyString_AsString(encoded_name));
2651 Py_DECREF(encoded_name);
2653 res = f(descr, obj,
value);
2669 #define SWIG_exception_fail(code, msg) do { SWIG_Error(code, msg); SWIG_fail; } while(0)
2671 #define SWIG_contract_assert(expr, msg) if (!(expr)) { SWIG_Error(SWIG_RuntimeError, msg); SWIG_fail; } else
2690 #define SWIG_exception(code, msg) do { SWIG_Error(code, msg); SWIG_fail;; } while(0)
2695 #define SWIGTYPE_p_char swig_types[0]
2696 #define SWIGTYPE_p_int swig_types[1]
2697 #define SWIGTYPE_p_long swig_types[2]
2698 #define SWIGTYPE_p_operations_research__MPConstraint swig_types[3]
2699 #define SWIGTYPE_p_operations_research__MPModelExportOptions swig_types[4]
2700 #define SWIGTYPE_p_operations_research__MPModelRequest swig_types[5]
2701 #define SWIGTYPE_p_operations_research__MPObjective swig_types[6]
2702 #define SWIGTYPE_p_operations_research__MPSolver swig_types[7]
2703 #define SWIGTYPE_p_operations_research__MPSolverParameters swig_types[8]
2704 #define SWIGTYPE_p_operations_research__MPVariable swig_types[9]
2705 #define SWIGTYPE_p_short swig_types[10]
2706 #define SWIGTYPE_p_signed_char swig_types[11]
2707 #define SWIGTYPE_p_std__ostream swig_types[12]
2708 #define SWIGTYPE_p_unsigned_char swig_types[13]
2709 #define SWIGTYPE_p_unsigned_int swig_types[14]
2710 #define SWIGTYPE_p_unsigned_long swig_types[15]
2711 #define SWIGTYPE_p_unsigned_short swig_types[16]
2714 #define SWIG_TypeQuery(name) SWIG_TypeQueryModule(&swig_module, &swig_module, name)
2715 #define SWIG_MangledTypeQuery(name) SWIG_MangledTypeQueryModule(&swig_module, &swig_module, name)
2719 #ifdef SWIG_TypeQuery
2720 # undef SWIG_TypeQuery
2722 #define SWIG_TypeQuery SWIG_Python_TypeQuery
2727 #if PY_VERSION_HEX >= 0x03000000
2728 # define SWIG_init PyInit__pywraplp
2731 # define SWIG_init init_pywraplp
2734 #define SWIG_name "_pywraplp"
2736 #define SWIGVERSION 0x040002
2737 #define SWIG_VERSION SWIGVERSION
2740 #define SWIG_as_voidptr(a) const_cast< void * >(static_cast< const void * >(a))
2741 #define SWIG_as_voidptrptr(a) ((void)SWIG_as_voidptr(*a),reinterpret_cast< void** >(a))
2744 #include <stdexcept>
2748 class SwigPtr_PyObject {
2776 Py_XINCREF(item._obj);
2790 operator PyObject *()
const
2804 struct SwigVar_PyObject : SwigPtr_PyObject {
2827 #define SWIGWORDSIZE64
2831 #if (__WORDSIZE == 32) || (LONG_MAX == INT_MAX)
2832 # error "SWIG wrapped code invalid in 32 bit architecture, regenerate code using -DSWIGWORDSIZE32"
2839 #include "ortools/base/python-swig.h"
2844 #include "ortools/linear_solver/model_exporter_swig_helper.h"
2891 return PyInt_FromLong((
long)
value);
2898 static int init = 0;
2911 #if PY_VERSION_HEX>=0x03000000
2912 #if defined(SWIG_PYTHON_STRICT_BYTE_CHAR)
2913 if (PyBytes_Check(obj))
2915 if (PyUnicode_Check(obj))
2918 if (PyString_Check(obj))
2921 char *cstr; Py_ssize_t len;
2923 #if PY_VERSION_HEX>=0x03000000
2924 #if !defined(SWIG_PYTHON_STRICT_BYTE_CHAR)
2925 if (!alloc && cptr) {
2932 obj = PyUnicode_AsUTF8String(obj);
2938 if (PyBytes_AsStringAndSize(obj, &cstr, &len) == -1)
2941 if (PyString_AsStringAndSize(obj, &cstr, &len) == -1)
2947 *cptr =
reinterpret_cast< char*
>(memcpy(
new char[len + 1], cstr,
sizeof(
char)*(len + 1)));
2954 #if PY_VERSION_HEX>=0x03000000
2955 #if defined(SWIG_PYTHON_STRICT_BYTE_CHAR)
2956 *cptr = PyBytes_AsString(obj);
2967 if (psize) *psize = len + 1;
2968 #if PY_VERSION_HEX>=0x03000000 && !defined(SWIG_PYTHON_STRICT_BYTE_CHAR)
2973 #if defined(SWIG_PYTHON_2_UNICODE)
2974 #if defined(SWIG_PYTHON_STRICT_BYTE_CHAR)
2975 #error "Cannot use both SWIG_PYTHON_2_UNICODE and SWIG_PYTHON_STRICT_BYTE_CHAR at once"
2977 #if PY_VERSION_HEX<0x03000000
2978 if (PyUnicode_Check(obj)) {
2979 char *cstr; Py_ssize_t len;
2980 if (!alloc && cptr) {
2983 obj = PyUnicode_AsUTF8String(obj);
2986 if (PyString_AsStringAndSize(obj, &cstr, &len) != -1) {
2989 *cptr =
reinterpret_cast< char*
>(memcpy(
new char[len + 1], cstr,
sizeof(
char)*(len + 1)));
2991 if (psize) *psize = len + 1;
3003 if (pchar_descriptor) {
3006 if (cptr) *cptr = (
char *) vptr;
3007 if (psize) *psize = vptr ? (strlen((
char *)vptr) + 1) : 0;
3020 char* buf = 0 ;
size_t size = 0;
int alloc =
SWIG_OLDOBJ;
3023 if (val) *val =
new std::string(buf, size - 1);
3031 static int init = 0;
3049 #if !defined(SWIG_NO_LLONG_MAX)
3050 # if !defined(LLONG_MAX) && defined(__GNUC__) && defined (__LONG_LONG_MAX__)
3051 # define LLONG_MAX __LONG_LONG_MAX__
3052 # define LLONG_MIN (-LLONG_MAX - 1LL)
3053 # define ULLONG_MAX (LLONG_MAX * 2ULL + 1ULL)
3062 if (PyFloat_Check(obj)) {
3063 if (val) *val = PyFloat_AsDouble(obj);
3065 #if PY_VERSION_HEX < 0x03000000
3066 }
else if (PyInt_Check(obj)) {
3067 if (val) *val = (double) PyInt_AsLong(obj);
3070 }
else if (PyLong_Check(obj)) {
3071 double v = PyLong_AsDouble(obj);
3072 if (!PyErr_Occurred()) {
3079 #ifdef SWIG_PYTHON_CAST_MODE
3082 double d = PyFloat_AsDouble(obj);
3083 if (!PyErr_Occurred()) {
3090 long v = PyLong_AsLong(obj);
3091 if (!PyErr_Occurred()) {
3113 if ((
min <= x && x <=
max)) {
3114 double fx = floor(x);
3115 double cx = ceil(x);
3116 double rd = ((x - fx) < 0.5) ? fx : cx;
3117 if ((errno == EDOM) || (errno == ERANGE)) {
3120 double summ, reps, diff;
3123 }
else if (rd > x) {
3130 if (reps < 8*DBL_EPSILON) {
3143 #if PY_VERSION_HEX < 0x03000000
3144 if (PyInt_Check(obj)) {
3145 if (val) *val = PyInt_AsLong(obj);
3149 if (PyLong_Check(obj)) {
3150 long v = PyLong_AsLong(obj);
3151 if (!PyErr_Occurred()) {
3159 #ifdef SWIG_PYTHON_CAST_MODE
3162 long v = PyInt_AsLong(obj);
3163 if (!PyErr_Occurred()) {
3173 if (val) *val = (long)(d);
3189 if ((v < INT_MIN || v > INT_MAX)) {
3192 if (val) *val =
static_cast< int >(v);
3202 return PyBool_FromLong(
value ? 1 : 0);
3210 if (!PyBool_Check(obj))
3212 r = PyObject_IsTrue(obj);
3215 if (val) *val = r ? true :
false;
3220 #define SWIG_From_double PyFloat_FromDouble
3223 #define SWIG_From_long PyInt_FromLong
3226 std::string error_message;
3227 self->LoadModelFromProto(input_model, &error_message);
3228 return error_message;
3235 if (size > INT_MAX) {
3237 return pchar_descriptor ?
3240 #if PY_VERSION_HEX >= 0x03000000
3241 #if defined(SWIG_PYTHON_STRICT_BYTE_CHAR)
3242 return PyBytes_FromStringAndSize(carray,
static_cast< Py_ssize_t
>(size));
3244 return PyUnicode_DecodeUTF8(carray,
static_cast< Py_ssize_t
>(size),
"surrogateescape");
3247 return PyString_FromStringAndSize(carray,
static_cast< Py_ssize_t
>(size));
3263 return self->LoadSolutionFromProto(
response, tolerance).ok();
3269 self->ExportModelToProto(&
model);
3276 self->ExportModelToProto(&
model);
3280 if (variables.size() != values.size()) {
3281 LOG(FATAL) <<
"Different number of variables and values when setting "
3284 std::vector<std::pair<const operations_research::MPVariable*, double> >
3285 hint(variables.size());
3286 for (
int i = 0; i < variables.size(); ++i) {
3287 hint[i] = std::make_pair(variables[i], values[i]);
3289 self->SetHint(hint);
3292 return self->SetNumThreads(num_theads).ok();
3300 return self->name();
3303 return self->name();
3321 PyObject *resultobj = 0;
3322 std::string *arg1 = 0 ;
3327 PyObject *swig_obj[2] ;
3332 std::string *ptr = (std::string *)0;
3344 SWIG_exception_fail(
SWIG_ArgError(ecode2),
"in method '" "new_Solver" "', argument " "2"" of type '" "operations_research::MPSolver::OptimizationProblemType""'");
3358 PyObject *resultobj = 0;
3362 PyObject *swig_obj[1] ;
3380 PyObject *resultobj = 0;
3381 std::string *arg1 = 0 ;
3383 PyObject *swig_obj[1] ;
3389 std::string *ptr = (std::string *)0;
3410 PyObject *resultobj = 0;
3414 PyObject *swig_obj[1] ;
3421 SWIG_exception_fail(
SWIG_ArgError(ecode1),
"in method '" "Solver_SupportsProblemType" "', argument " "1"" of type '" "operations_research::MPSolver::OptimizationProblemType""'");
3433 PyObject *resultobj = 0;
3437 PyObject *swig_obj[1] ;
3455 PyObject *resultobj = 0;
3459 PyObject *swig_obj[1] ;
3478 PyObject *resultobj = 0;
3482 PyObject *swig_obj[1] ;
3483 std::vector< operations_research::MPVariable * > *result = 0 ;
3503 PyObject *resultobj = 0;
3505 std::string *arg2 = 0 ;
3509 PyObject *swig_obj[2] ;
3519 std::string *ptr = (std::string *)0;
3540 PyObject *resultobj = 0;
3545 std::string *arg5 = 0 ;
3555 PyObject *swig_obj[5] ;
3568 arg2 =
static_cast< double >(val2);
3573 arg3 =
static_cast< double >(val3);
3578 arg4 =
static_cast< bool >(val4);
3580 std::string *ptr = (std::string *)0;
3601 PyObject *resultobj = 0;
3605 std::string *arg4 = 0 ;
3613 PyObject *swig_obj[4] ;
3626 arg2 =
static_cast< double >(val2);
3631 arg3 =
static_cast< double >(val3);
3633 std::string *ptr = (std::string *)0;
3654 PyObject *resultobj = 0;
3658 std::string *arg4 = 0 ;
3666 PyObject *swig_obj[4] ;
3679 arg2 =
static_cast< double >(val2);
3684 arg3 =
static_cast< double >(val3);
3686 std::string *ptr = (std::string *)0;
3707 PyObject *resultobj = 0;
3709 std::string *arg2 = 0 ;
3713 PyObject *swig_obj[2] ;
3723 std::string *ptr = (std::string *)0;
3744 PyObject *resultobj = 0;
3748 PyObject *swig_obj[1] ;
3767 PyObject *resultobj = 0;
3771 PyObject *swig_obj[1] ;
3772 std::vector< operations_research::MPConstraint * > *result = 0 ;
3792 PyObject *resultobj = 0;
3794 std::string *arg2 = 0 ;
3798 PyObject *swig_obj[2] ;
3804 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "Solver_LookupConstraint" "', argument " "1"" of type '" "operations_research::MPSolver const *""'");
3808 std::string *ptr = (std::string *)0;
3829 PyObject *resultobj = 0;
3841 if ((nobjs < 3) || (nobjs > 3))
SWIG_fail;
3851 arg2 =
static_cast< double >(val2);
3856 arg3 =
static_cast< double >(val3);
3866 PyObject *resultobj = 0;
3872 if ((nobjs < 1) || (nobjs > 1))
SWIG_fail;
3887 PyObject *resultobj = 0;
3891 std::string *arg4 = 0 ;
3901 if ((nobjs < 4) || (nobjs > 4))
SWIG_fail;
3911 arg2 =
static_cast< double >(val2);
3916 arg3 =
static_cast< double >(val3);
3918 std::string *ptr = (std::string *)0;
3939 PyObject *resultobj = 0;
3941 std::string *arg2 = 0 ;
3947 if ((nobjs < 2) || (nobjs > 2))
SWIG_fail;
3954 std::string *ptr = (std::string *)0;
3976 PyObject *argv[5] = {
4053 " Possible C/C++ prototypes are:\n"
4054 " operations_research::MPSolver::MakeRowConstraint(double,double)\n"
4055 " operations_research::MPSolver::MakeRowConstraint()\n"
4056 " operations_research::MPSolver::MakeRowConstraint(double,double,std::string const &)\n"
4057 " operations_research::MPSolver::MakeRowConstraint(std::string const &)\n");
4063 PyObject *resultobj = 0;
4067 PyObject *swig_obj[1] ;
4086 PyObject *resultobj = 0;
4092 if ((nobjs < 1) || (nobjs > 1))
SWIG_fail;
4107 PyObject *resultobj = 0;
4116 if ((nobjs < 2) || (nobjs > 2))
SWIG_fail;
4124 SWIG_exception_fail(
SWIG_ArgError(res2),
"in method '" "Solver_Solve" "', argument " "2"" of type '" "operations_research::MPSolverParameters const &""'");
4127 SWIG_exception_fail(
SWIG_ValueError,
"invalid null reference " "in method '" "Solver_Solve" "', argument " "2"" of type '" "operations_research::MPSolverParameters const &""'");
4140 PyObject *argv[3] = {
4171 " Possible C/C++ prototypes are:\n"
4172 " operations_research::MPSolver::Solve()\n"
4173 " operations_research::MPSolver::Solve(operations_research::MPSolverParameters const &)\n");
4179 PyObject *resultobj = 0;
4183 PyObject *swig_obj[1] ;
4184 std::vector< double > result;
4190 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "Solver_ComputeConstraintActivities" "', argument " "1"" of type '" "operations_research::MPSolver const *""'");
4195 resultobj = vector_output_helper(&result, &PyFloat_FromDouble);
4204 PyObject *resultobj = 0;
4214 PyObject *swig_obj[3] ;
4227 arg2 =
static_cast< double >(val2);
4232 arg3 =
static_cast< bool >(val3);
4242 PyObject *resultobj = 0;
4246 PyObject *swig_obj[1] ;
4265 PyObject *resultobj = 0;
4270 PyObject *swig_obj[2] ;
4275 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "Solver_FillSolutionResponseProto" "', argument " "1"" of type '" "operations_research::MPSolver const *""'");
4280 PyObject*
const pyresult = PyObject_CallMethod(
4281 swig_obj[1],
const_cast<char*
>(
"SerializeToString"),
nullptr);
4282 if (pyresult !=
nullptr) {
4283 char* buffer =
nullptr;
4284 Py_ssize_t length = 0;
4285 int result = PyString_AsStringAndSize(pyresult, &buffer, &length);
4286 if (buffer !=
nullptr) {
4287 arg2->ParseFromArray(buffer, length);
4289 Py_DECREF(pyresult);
4295 std::string encoded_protobuf;
4296 arg2->SerializeToString(&encoded_protobuf);
4298 PyObject*
const python_encoded_protobuf =
4299 PyBytes_FromStringAndSize(encoded_protobuf.c_str(),
4300 encoded_protobuf.size());
4306 if (python_encoded_protobuf !=
nullptr) {
4307 PyObject*
const result = PyObject_CallMethod(
4308 swig_obj[1],
const_cast<char*
>(
"ParseFromString"),
4309 const_cast<char*
>(
"(O)"), python_encoded_protobuf);
4310 Py_DECREF(python_encoded_protobuf);
4311 if (result !=
nullptr) {
4329 PyObject *resultobj = 0;
4334 PyObject *swig_obj[2] ;
4339 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "Solver_SolveWithProto" "', argument " "1"" of type '" "operations_research::MPModelRequest const &""'");
4342 SWIG_exception_fail(
SWIG_ValueError,
"invalid null reference " "in method '" "Solver_SolveWithProto" "', argument " "1"" of type '" "operations_research::MPModelRequest const &""'");
4347 PyObject*
const pyresult = PyObject_CallMethod(
4348 swig_obj[1],
const_cast<char*
>(
"SerializeToString"),
nullptr);
4349 if (pyresult !=
nullptr) {
4350 char* buffer =
nullptr;
4351 Py_ssize_t length = 0;
4352 int result = PyString_AsStringAndSize(pyresult, &buffer, &length);
4353 if (buffer !=
nullptr) {
4354 arg2->ParseFromArray(buffer, length);
4356 Py_DECREF(pyresult);
4362 std::string encoded_protobuf;
4363 arg2->SerializeToString(&encoded_protobuf);
4365 PyObject*
const python_encoded_protobuf =
4366 PyBytes_FromStringAndSize(encoded_protobuf.c_str(),
4367 encoded_protobuf.size());
4373 if (python_encoded_protobuf !=
nullptr) {
4374 PyObject*
const result = PyObject_CallMethod(
4375 swig_obj[1],
const_cast<char*
>(
"ParseFromString"),
4376 const_cast<char*
>(
"(O)"), python_encoded_protobuf);
4377 Py_DECREF(python_encoded_protobuf);
4378 if (result !=
nullptr) {
4396 PyObject *resultobj = 0;
4401 PyObject *swig_obj[2] ;
4406 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "Solver_ExportModelToProto" "', argument " "1"" of type '" "operations_research::MPSolver const *""'");
4411 PyObject*
const pyresult = PyObject_CallMethod(
4412 swig_obj[1],
const_cast<char*
>(
"SerializeToString"),
nullptr);
4413 if (pyresult !=
nullptr) {
4414 char* buffer =
nullptr;
4415 Py_ssize_t length = 0;
4416 int result = PyString_AsStringAndSize(pyresult, &buffer, &length);
4417 if (buffer !=
nullptr) {
4418 arg2->ParseFromArray(buffer, length);
4420 Py_DECREF(pyresult);
4426 std::string encoded_protobuf;
4427 arg2->SerializeToString(&encoded_protobuf);
4429 PyObject*
const python_encoded_protobuf =
4430 PyBytes_FromStringAndSize(encoded_protobuf.c_str(),
4431 encoded_protobuf.size());
4437 if (python_encoded_protobuf !=
nullptr) {
4438 PyObject*
const result = PyObject_CallMethod(
4439 swig_obj[1],
const_cast<char*
>(
"ParseFromString"),
4440 const_cast<char*
>(
"(O)"), python_encoded_protobuf);
4441 Py_DECREF(python_encoded_protobuf);
4442 if (result !=
nullptr) {
4460 PyObject *resultobj = 0;
4462 std::string *arg2 = 0 ;
4466 PyObject *swig_obj[2] ;
4472 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "Solver_SetSolverSpecificParametersAsString" "', argument " "1"" of type '" "operations_research::MPSolver *""'");
4476 std::string *ptr = (std::string *)0;
4479 SWIG_exception_fail(
SWIG_ArgError(res2),
"in method '" "Solver_SetSolverSpecificParametersAsString" "', argument " "2"" of type '" "std::string const &""'");
4482 SWIG_exception_fail(
SWIG_ValueError,
"invalid null reference " "in method '" "Solver_SetSolverSpecificParametersAsString" "', argument " "2"" of type '" "std::string const &""'");
4486 result = (bool)(arg1)->SetSolverSpecificParametersAsString((std::string
const &)*arg2);
4497 PyObject *resultobj = 0;
4510 PyObject *resultobj = 0;
4514 PyObject *swig_obj[1] ;
4523 (arg1)->EnableOutput();
4532 PyObject *resultobj = 0;
4536 PyObject *swig_obj[1] ;
4545 (arg1)->SuppressOutput();
4554 PyObject *resultobj = 0;
4558 PyObject *swig_obj[1] ;
4577 PyObject *resultobj = 0;
4581 PyObject *swig_obj[1] ;
4600 PyObject *resultobj = 0;
4604 PyObject *swig_obj[1] ;
4611 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "Solver_ComputeExactConditionNumber" "', argument " "1"" of type '" "operations_research::MPSolver const *""'");
4623 PyObject *resultobj = 0;
4627 PyObject *swig_obj[1] ;
4646 PyObject *resultobj = 0;
4653 PyObject *swig_obj[2] ;
4665 arg2 =
static_cast< int64 >(val2);
4666 (arg1)->set_time_limit(arg2);
4675 PyObject *resultobj = 0;
4679 PyObject *swig_obj[1] ;
4698 PyObject *resultobj = 0;
4699 std::string *arg1 = 0 ;
4701 PyObject *swig_obj[1] ;
4706 std::string *ptr = (std::string *)0;
4727 PyObject *resultobj = 0;
4732 PyObject *swig_obj[2] ;
4743 PyObject*
const pyresult = PyObject_CallMethod(
4744 swig_obj[1],
const_cast<char*
>(
"SerializeToString"),
nullptr);
4745 if (pyresult !=
nullptr) {
4746 char* buffer =
nullptr;
4747 Py_ssize_t length = 0;
4748 int result = PyString_AsStringAndSize(pyresult, &buffer, &length);
4749 if (buffer !=
nullptr) {
4750 arg2->ParseFromArray(buffer, length);
4752 Py_DECREF(pyresult);
4770 PyObject *resultobj = 0;
4780 if ((nobjs < 3) || (nobjs > 3))
SWIG_fail;
4783 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "Solver_LoadSolutionFromProto" "', argument " "1"" of type '" "operations_research::MPSolver *""'");
4788 PyObject*
const pyresult = PyObject_CallMethod(
4789 swig_obj[1],
const_cast<char*
>(
"SerializeToString"),
nullptr);
4790 if (pyresult !=
nullptr) {
4791 char* buffer =
nullptr;
4792 Py_ssize_t length = 0;
4793 int result = PyString_AsStringAndSize(pyresult, &buffer, &length);
4794 if (buffer !=
nullptr) {
4795 arg2->ParseFromArray(buffer, length);
4797 Py_DECREF(pyresult);
4804 arg3 =
static_cast< double >(val3);
4820 PyObject *resultobj = 0;
4827 if ((nobjs < 2) || (nobjs > 2))
SWIG_fail;
4830 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "Solver_LoadSolutionFromProto" "', argument " "1"" of type '" "operations_research::MPSolver *""'");
4835 PyObject*
const pyresult = PyObject_CallMethod(
4836 swig_obj[1],
const_cast<char*
>(
"SerializeToString"),
nullptr);
4837 if (pyresult !=
nullptr) {
4838 char* buffer =
nullptr;
4839 Py_ssize_t length = 0;
4840 int result = PyString_AsStringAndSize(pyresult, &buffer, &length);
4841 if (buffer !=
nullptr) {
4842 arg2->ParseFromArray(buffer, length);
4844 Py_DECREF(pyresult);
4863 PyObject *argv[4] = {
4877 PyObject*
const module = PyImport_ImportModule(
"ortools.linear_solver.linear_solver_pb2");
4878 if (module !=
nullptr) {
4879 PyObject*
const dict = PyModule_GetDict(module);
4880 if (dict !=
nullptr) {
4881 PyObject*
const clss = PyDict_GetItemString(dict,
"MPSolutionResponse");
4882 if (clss !=
nullptr) {
4883 if (PyObject_IsInstance(argv[1], clss)) {
4905 PyObject*
const module = PyImport_ImportModule(
"ortools.linear_solver.linear_solver_pb2");
4906 if (module !=
nullptr) {
4907 PyObject*
const dict = PyModule_GetDict(module);
4908 if (dict !=
nullptr) {
4909 PyObject*
const clss = PyDict_GetItemString(dict,
"MPSolutionResponse");
4910 if (clss !=
nullptr) {
4911 if (PyObject_IsInstance(argv[1], clss)) {
4934 " Possible C/C++ prototypes are:\n"
4935 " operations_research::MPSolver::LoadSolutionFromProto(operations_research::MPSolutionResponse const &,double)\n"
4936 " operations_research::MPSolver::LoadSolutionFromProto(operations_research::MPSolutionResponse const &)\n");
4942 PyObject *resultobj = 0;
4949 PyObject *swig_obj[2] ;
4955 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "Solver_ExportModelAsLpFormat" "', argument " "1"" of type '" "operations_research::MPSolver *""'");
4962 arg2 =
static_cast< bool >(val2);
4972 PyObject *resultobj = 0;
4982 PyObject *swig_obj[3] ;
4988 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "Solver_ExportModelAsMpsFormat" "', argument " "1"" of type '" "operations_research::MPSolver *""'");
4995 arg2 =
static_cast< bool >(val2);
5000 arg3 =
static_cast< bool >(val3);
5010 PyObject *resultobj = 0;
5012 std::vector< operations_research::MPVariable * > *arg2 = 0 ;
5013 std::vector< double > *arg3 = 0 ;
5016 std::vector< operations_research::MPVariable * > temp2 ;
5017 std::vector< double > temp3 ;
5018 PyObject *swig_obj[3] ;
5027 if (!vector_input_helper(swig_obj[1], &temp2, PyObjAs<operations_research::MPVariable*>)) {
5028 if (!PyErr_Occurred())
5035 if (!vector_input_helper(swig_obj[2], &temp3, PyObjAs<double>)) {
5036 if (!PyErr_Occurred())
5051 PyObject *resultobj = 0;
5058 PyObject *swig_obj[2] ;
5071 arg2 =
static_cast< int >(val2);
5081 PyObject *resultobj = 0;
5094 PyObject *resultobj = 0;
5101 PyObject *swig_obj[2] ;
5113 arg2 =
static_cast< int64 >(val2);
5123 PyObject *resultobj = 0;
5127 PyObject *swig_obj[1] ;
5146 PyObject *resultobj = 0;
5150 PyObject *swig_obj[1] ;
5180 PyObject *resultobj = 0;
5181 std::ostream *arg1 = 0 ;
5187 std::ostream *result = 0 ;
5189 if ((nobjs < 2) || (nobjs > 2))
SWIG_fail;
5197 arg1 =
reinterpret_cast< std::ostream *
>(argp1);
5200 SWIG_exception_fail(
SWIG_ArgError(ecode2),
"in method '" "__lshift__" "', argument " "2"" of type '" "operations_research::MPSolver::OptimizationProblemType""'");
5203 result = (std::ostream *) &operations_research::operator <<(*arg1,arg2);
5208 Py_INCREF(Py_NotImplemented);
5209 return Py_NotImplemented;
5214 PyObject *resultobj = 0;
5215 std::ostream *arg1 = 0 ;
5221 std::ostream *result = 0 ;
5223 if ((nobjs < 2) || (nobjs > 2))
SWIG_fail;
5231 arg1 =
reinterpret_cast< std::ostream *
>(argp1);
5237 result = (std::ostream *) &operations_research::operator <<(*arg1,arg2);
5242 Py_INCREF(Py_NotImplemented);
5243 return Py_NotImplemented;
5249 PyObject *argv[3] = {
5287 Py_INCREF(Py_NotImplemented);
5288 return Py_NotImplemented;
5293 PyObject *resultobj = 0;
5297 PyObject *swig_obj[1] ;
5315 PyObject *resultobj = 0;
5323 PyObject *swig_obj[3] ;
5338 arg3 =
static_cast< double >(val3);
5348 PyObject *resultobj = 0;
5353 PyObject *swig_obj[2] ;
5359 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "Objective_GetCoefficient" "', argument " "1"" of type '" "operations_research::MPObjective const *""'");
5374 PyObject *resultobj = 0;
5381 PyObject *swig_obj[2] ;
5393 arg2 =
static_cast< double >(val2);
5394 (arg1)->SetOffset(arg2);
5403 PyObject *resultobj = 0;
5407 PyObject *swig_obj[1] ;
5426 PyObject *resultobj = 0;
5433 PyObject *swig_obj[2] ;
5438 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "Objective_SetOptimizationDirection" "', argument " "1"" of type '" "operations_research::MPObjective *""'");
5445 arg2 =
static_cast< bool >(val2);
5446 (arg1)->SetOptimizationDirection(arg2);
5455 PyObject *resultobj = 0;
5459 PyObject *swig_obj[1] ;
5465 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "Objective_SetMinimization" "', argument " "1"" of type '" "operations_research::MPObjective *""'");
5468 (arg1)->SetMinimization();
5477 PyObject *resultobj = 0;
5481 PyObject *swig_obj[1] ;
5487 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "Objective_SetMaximization" "', argument " "1"" of type '" "operations_research::MPObjective *""'");
5490 (arg1)->SetMaximization();
5499 PyObject *resultobj = 0;
5503 PyObject *swig_obj[1] ;
5510 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "Objective_maximization" "', argument " "1"" of type '" "operations_research::MPObjective const *""'");
5522 PyObject *resultobj = 0;
5526 PyObject *swig_obj[1] ;
5533 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "Objective_minimization" "', argument " "1"" of type '" "operations_research::MPObjective const *""'");
5545 PyObject *resultobj = 0;
5549 PyObject *swig_obj[1] ;
5568 PyObject *resultobj = 0;
5572 PyObject *swig_obj[1] ;
5579 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "Objective_BestBound" "', argument " "1"" of type '" "operations_research::MPObjective const *""'");
5591 PyObject *resultobj = 0;
5595 PyObject *swig_obj[1] ;
5614 PyObject *resultobj = 0;
5618 PyObject *swig_obj[1] ;
5643 PyObject *resultobj = 0;
5647 PyObject *swig_obj[1] ;
5648 std::string *result = 0 ;
5666 PyObject *resultobj = 0;
5673 PyObject *swig_obj[2] ;
5685 arg2 =
static_cast< bool >(val2);
5686 (arg1)->SetInteger(arg2);
5695 PyObject *resultobj = 0;
5699 PyObject *swig_obj[1] ;
5718 PyObject *resultobj = 0;
5722 PyObject *swig_obj[1] ;
5729 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "Variable_solution_value" "', argument " "1"" of type '" "operations_research::MPVariable const *""'");
5741 PyObject *resultobj = 0;
5745 PyObject *swig_obj[1] ;
5764 PyObject *resultobj = 0;
5768 PyObject *swig_obj[1] ;
5787 PyObject *resultobj = 0;
5791 PyObject *swig_obj[1] ;
5810 PyObject *resultobj = 0;
5820 PyObject *swig_obj[3] ;
5832 arg2 =
static_cast< double >(val2);
5837 arg3 =
static_cast< double >(val3);
5838 (arg1)->SetBounds(arg2,arg3);
5847 PyObject *resultobj = 0;
5851 PyObject *swig_obj[1] ;
5858 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "Variable_reduced_cost" "', argument " "1"" of type '" "operations_research::MPVariable const *""'");
5870 PyObject *resultobj = 0;
5874 PyObject *swig_obj[1] ;
5881 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "Variable_basis_status" "', argument " "1"" of type '" "operations_research::MPVariable const *""'");
5893 PyObject *resultobj = 0;
5897 PyObject *swig_obj[1] ;
5904 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "Variable_branching_priority" "', argument " "1"" of type '" "operations_research::MPVariable const *""'");
5916 PyObject *resultobj = 0;
5923 PyObject *swig_obj[2] ;
5928 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "Variable_SetBranchingPriority" "', argument " "1"" of type '" "operations_research::MPVariable *""'");
5935 arg2 =
static_cast< int >(val2);
5936 (arg1)->SetBranchingPriority(arg2);
5945 PyObject *resultobj = 0;
5949 PyObject *swig_obj[1] ;
5968 PyObject *resultobj = 0;
5972 PyObject *swig_obj[1] ;
5991 PyObject *resultobj = 0;
5995 PyObject *swig_obj[1] ;
6002 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "Variable_SolutionValue" "', argument " "1"" of type '" "operations_research::MPVariable const *""'");
6014 PyObject *resultobj = 0;
6018 PyObject *swig_obj[1] ;
6037 PyObject *resultobj = 0;
6041 PyObject *swig_obj[1] ;
6060 PyObject *resultobj = 0;
6064 PyObject *swig_obj[1] ;
6083 PyObject *resultobj = 0;
6090 PyObject *swig_obj[2] ;
6102 arg2 =
static_cast< double >(val2);
6112 PyObject *resultobj = 0;
6119 PyObject *swig_obj[2] ;
6131 arg2 =
static_cast< double >(val2);
6141 PyObject *resultobj = 0;
6145 PyObject *swig_obj[1] ;
6152 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "Variable_ReducedCost" "', argument " "1"" of type '" "operations_research::MPVariable const *""'");
6164 PyObject *resultobj = 0;
6168 PyObject *swig_obj[1] ;
6193 PyObject *resultobj = 0;
6197 PyObject *swig_obj[1] ;
6198 std::string *result = 0 ;
6216 PyObject *resultobj = 0;
6220 PyObject *swig_obj[1] ;
6238 PyObject *resultobj = 0;
6246 PyObject *swig_obj[3] ;
6251 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "Constraint_SetCoefficient" "', argument " "1"" of type '" "operations_research::MPConstraint *""'");
6261 arg3 =
static_cast< double >(val3);
6271 PyObject *resultobj = 0;
6276 PyObject *swig_obj[2] ;
6282 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "Constraint_GetCoefficient" "', argument " "1"" of type '" "operations_research::MPConstraint const *""'");
6297 PyObject *resultobj = 0;
6301 PyObject *swig_obj[1] ;
6320 PyObject *resultobj = 0;
6324 PyObject *swig_obj[1] ;
6343 PyObject *resultobj = 0;
6353 PyObject *swig_obj[3] ;
6365 arg2 =
static_cast< double >(val2);
6370 arg3 =
static_cast< double >(val3);
6371 (arg1)->SetBounds(arg2,arg3);
6380 PyObject *resultobj = 0;
6387 PyObject *swig_obj[2] ;
6399 arg2 =
static_cast< bool >(val2);
6400 (arg1)->set_is_lazy(arg2);
6409 PyObject *resultobj = 0;
6413 PyObject *swig_obj[1] ;
6432 PyObject *resultobj = 0;
6436 PyObject *swig_obj[1] ;
6443 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "Constraint_dual_value" "', argument " "1"" of type '" "operations_research::MPConstraint const *""'");
6455 PyObject *resultobj = 0;
6459 PyObject *swig_obj[1] ;
6466 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "Constraint_basis_status" "', argument " "1"" of type '" "operations_research::MPConstraint const *""'");
6478 PyObject *resultobj = 0;
6482 PyObject *swig_obj[1] ;
6501 PyObject *resultobj = 0;
6505 PyObject *swig_obj[1] ;
6524 PyObject *resultobj = 0;
6531 PyObject *swig_obj[2] ;
6543 arg2 =
static_cast< double >(val2);
6553 PyObject *resultobj = 0;
6560 PyObject *swig_obj[2] ;
6572 arg2 =
static_cast< double >(val2);
6582 PyObject *resultobj = 0;
6586 PyObject *swig_obj[1] ;
6593 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "Constraint_DualValue" "', argument " "1"" of type '" "operations_research::MPConstraint const *""'");
6605 PyObject *resultobj = 0;
6609 PyObject *swig_obj[1] ;
6640 PyObject *pyobj = 0;
6654 PyObject *pyobj = 0;
6668 PyObject *pyobj = 0;
6682 PyObject *pyobj = 0;
6696 PyObject *pyobj = 0;
6704 PyObject *resultobj = 0;
6717 PyObject *resultobj = 0;
6727 PyObject *swig_obj[3] ;
6732 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "MPSolverParameters_SetDoubleParam" "', argument " "1"" of type '" "operations_research::MPSolverParameters *""'");
6737 SWIG_exception_fail(
SWIG_ArgError(ecode2),
"in method '" "MPSolverParameters_SetDoubleParam" "', argument " "2"" of type '" "operations_research::MPSolverParameters::DoubleParam""'");
6744 arg3 =
static_cast< double >(val3);
6745 (arg1)->SetDoubleParam(arg2,arg3);
6754 PyObject *resultobj = 0;
6764 PyObject *swig_obj[3] ;
6769 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "MPSolverParameters_SetIntegerParam" "', argument " "1"" of type '" "operations_research::MPSolverParameters *""'");
6774 SWIG_exception_fail(
SWIG_ArgError(ecode2),
"in method '" "MPSolverParameters_SetIntegerParam" "', argument " "2"" of type '" "operations_research::MPSolverParameters::IntegerParam""'");
6781 arg3 =
static_cast< int >(val3);
6782 (arg1)->SetIntegerParam(arg2,arg3);
6791 PyObject *resultobj = 0;
6798 PyObject *swig_obj[2] ;
6804 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "MPSolverParameters_GetDoubleParam" "', argument " "1"" of type '" "operations_research::MPSolverParameters const *""'");
6809 SWIG_exception_fail(
SWIG_ArgError(ecode2),
"in method '" "MPSolverParameters_GetDoubleParam" "', argument " "2"" of type '" "operations_research::MPSolverParameters::DoubleParam""'");
6821 PyObject *resultobj = 0;
6828 PyObject *swig_obj[2] ;
6834 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "MPSolverParameters_GetIntegerParam" "', argument " "1"" of type '" "operations_research::MPSolverParameters const *""'");
6839 SWIG_exception_fail(
SWIG_ArgError(ecode2),
"in method '" "MPSolverParameters_GetIntegerParam" "', argument " "2"" of type '" "operations_research::MPSolverParameters::IntegerParam""'");
6851 PyObject *resultobj = 0;
6855 PyObject *swig_obj[1] ;
6861 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "delete_MPSolverParameters" "', argument " "1"" of type '" "operations_research::MPSolverParameters *""'");
6884 PyObject *resultobj = 0;
6897 PyObject *resultobj = 0;
6901 PyObject *swig_obj[1] ;
6907 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "delete_ModelExportOptions" "', argument " "1"" of type '" "operations_research::MPModelExportOptions *""'");
6930 PyObject *resultobj = 0;
6937 if ((nobjs < 2) || (nobjs > 2))
SWIG_fail;
6940 PyObject*
const pyresult = PyObject_CallMethod(
6941 swig_obj[0],
const_cast<char*
>(
"SerializeToString"),
nullptr);
6942 if (pyresult !=
nullptr) {
6943 char* buffer =
nullptr;
6944 Py_ssize_t length = 0;
6945 int result = PyString_AsStringAndSize(pyresult, &buffer, &length);
6946 if (buffer !=
nullptr) {
6947 arg1->ParseFromArray(buffer, length);
6949 Py_DECREF(pyresult);
6954 SWIG_exception_fail(
SWIG_ArgError(res2),
"in method '" "ExportModelAsLpFormat" "', argument " "2"" of type '" "operations_research::MPModelExportOptions const &""'");
6957 SWIG_exception_fail(
SWIG_ValueError,
"invalid null reference " "in method '" "ExportModelAsLpFormat" "', argument " "2"" of type '" "operations_research::MPModelExportOptions const &""'");
6975 PyObject *resultobj = 0;
6979 if ((nobjs < 1) || (nobjs > 1))
SWIG_fail;
6982 PyObject*
const pyresult = PyObject_CallMethod(
6983 swig_obj[0],
const_cast<char*
>(
"SerializeToString"),
nullptr);
6984 if (pyresult !=
nullptr) {
6985 char* buffer =
nullptr;
6986 Py_ssize_t length = 0;
6987 int result = PyString_AsStringAndSize(pyresult, &buffer, &length);
6988 if (buffer !=
nullptr) {
6989 arg1->ParseFromArray(buffer, length);
6991 Py_DECREF(pyresult);
7010 PyObject *argv[3] = {
7020 PyObject*
const module = PyImport_ImportModule(
"ortools.linear_solver.linear_solver_pb2");
7021 if (module !=
nullptr) {
7022 PyObject*
const dict = PyModule_GetDict(module);
7023 if (dict !=
nullptr) {
7024 PyObject*
const clss = PyDict_GetItemString(dict,
"MPModelProto");
7025 if (clss !=
nullptr) {
7026 if (PyObject_IsInstance(argv[0], clss)) {
7043 PyObject*
const module = PyImport_ImportModule(
"ortools.linear_solver.linear_solver_pb2");
7044 if (module !=
nullptr) {
7045 PyObject*
const dict = PyModule_GetDict(module);
7046 if (dict !=
nullptr) {
7047 PyObject*
const clss = PyDict_GetItemString(dict,
"MPModelProto");
7048 if (clss !=
nullptr) {
7049 if (PyObject_IsInstance(argv[0], clss)) {
7069 " Possible C/C++ prototypes are:\n"
7070 " operations_research::ExportModelAsLpFormatReturnString(operations_research::MPModelProto const &,operations_research::MPModelExportOptions const &)\n"
7071 " operations_research::ExportModelAsLpFormatReturnString(operations_research::MPModelProto const &)\n");
7077 PyObject *resultobj = 0;
7084 if ((nobjs < 2) || (nobjs > 2))
SWIG_fail;
7087 PyObject*
const pyresult = PyObject_CallMethod(
7088 swig_obj[0],
const_cast<char*
>(
"SerializeToString"),
nullptr);
7089 if (pyresult !=
nullptr) {
7090 char* buffer =
nullptr;
7091 Py_ssize_t length = 0;
7092 int result = PyString_AsStringAndSize(pyresult, &buffer, &length);
7093 if (buffer !=
nullptr) {
7094 arg1->ParseFromArray(buffer, length);
7096 Py_DECREF(pyresult);
7101 SWIG_exception_fail(
SWIG_ArgError(res2),
"in method '" "ExportModelAsMpsFormat" "', argument " "2"" of type '" "operations_research::MPModelExportOptions const &""'");
7104 SWIG_exception_fail(
SWIG_ValueError,
"invalid null reference " "in method '" "ExportModelAsMpsFormat" "', argument " "2"" of type '" "operations_research::MPModelExportOptions const &""'");
7122 PyObject *resultobj = 0;
7126 if ((nobjs < 1) || (nobjs > 1))
SWIG_fail;
7129 PyObject*
const pyresult = PyObject_CallMethod(
7130 swig_obj[0],
const_cast<char*
>(
"SerializeToString"),
nullptr);
7131 if (pyresult !=
nullptr) {
7132 char* buffer =
nullptr;
7133 Py_ssize_t length = 0;
7134 int result = PyString_AsStringAndSize(pyresult, &buffer, &length);
7135 if (buffer !=
nullptr) {
7136 arg1->ParseFromArray(buffer, length);
7138 Py_DECREF(pyresult);
7157 PyObject *argv[3] = {
7167 PyObject*
const module = PyImport_ImportModule(
"ortools.linear_solver.linear_solver_pb2");
7168 if (module !=
nullptr) {
7169 PyObject*
const dict = PyModule_GetDict(module);
7170 if (dict !=
nullptr) {
7171 PyObject*
const clss = PyDict_GetItemString(dict,
"MPModelProto");
7172 if (clss !=
nullptr) {
7173 if (PyObject_IsInstance(argv[0], clss)) {
7190 PyObject*
const module = PyImport_ImportModule(
"ortools.linear_solver.linear_solver_pb2");
7191 if (module !=
nullptr) {
7192 PyObject*
const dict = PyModule_GetDict(module);
7193 if (dict !=
nullptr) {
7194 PyObject*
const clss = PyDict_GetItemString(dict,
"MPModelProto");
7195 if (clss !=
nullptr) {
7196 if (PyObject_IsInstance(argv[0], clss)) {
7216 " Possible C/C++ prototypes are:\n"
7217 " operations_research::ExportModelAsMpsFormatReturnString(operations_research::MPModelProto const &,operations_research::MPModelExportOptions const &)\n"
7218 " operations_research::ExportModelAsMpsFormatReturnString(operations_research::MPModelProto const &)\n");
7224 PyObject *resultobj = 0;
7226 PyObject *swig_obj[1] ;
7233 PyObject*
const pyresult = PyObject_CallMethod(
7234 swig_obj[0],
const_cast<char*
>(
"SerializeToString"),
nullptr);
7235 if (pyresult !=
nullptr) {
7236 char* buffer =
nullptr;
7237 Py_ssize_t length = 0;
7238 int result = PyString_AsStringAndSize(pyresult, &buffer, &length);
7239 if (buffer !=
nullptr) {
7240 arg1->ParseFromArray(buffer, length);
7242 Py_DECREF(pyresult);
7261 {
"new_Solver",
_wrap_new_Solver, METH_VARARGS,
" Create a solver with the given name and underlying solver backend."},
7264 "Recommended factory method to create a MPSolver instance, especially in\n"
7265 "non C++ languages.\n"
7267 "It returns a newly created solver instance if successful, or a nullptr\n"
7268 "otherwise. This can occur if the relevant interface is not linked in, or if\n"
7269 "a needed license is not accessible for commercial solvers.\n"
7271 "Ownership of the solver is passed on to the caller of this method.\n"
7272 "It will accept both string names of the OptimizationProblemType enum, as\n"
7273 "well as a short version (i.e. \"SCIP_MIXED_INTEGER_PROGRAMMING\" or \"SCIP\").\n"
7275 "solver_id is case insensitive, and the following names are supported:\n"
7276 " - CLP_LINEAR_PROGRAMMING or CLP\n"
7277 " - CBC_MIXED_INTEGER_PROGRAMMING or CBC\n"
7278 " - GLOP_LINEAR_PROGRAMMING or GLOP\n"
7279 " - BOP_INTEGER_PROGRAMMING or BOP\n"
7280 " - SAT_INTEGER_PROGRAMMING or SAT or CP_SAT\n"
7281 " - SCIP_MIXED_INTEGER_PROGRAMMING or SCIP\n"
7282 " - GUROBI_LINEAR_PROGRAMMING or GUROBI_LP\n"
7283 " - GUROBI_MIXED_INTEGER_PROGRAMMING or GUROBI or GUROBI_MIP\n"
7284 " - CPLEX_LINEAR_PROGRAMMING or CPLEX_LP\n"
7285 " - CPLEX_MIXED_INTEGER_PROGRAMMING or CPLEX or CPLEX_MIP\n"
7286 " - XPRESS_LINEAR_PROGRAMMING or XPRESS_LP\n"
7287 " - XPRESS_MIXED_INTEGER_PROGRAMMING or XPRESS or XPRESS_MIP\n"
7288 " - GLPK_LINEAR_PROGRAMMING or GLPK_LP\n"
7289 " - GLPK_MIXED_INTEGER_PROGRAMMING or GLPK or GLPK_MIP\n"
7292 "Whether the given problem type is supported (this will depend on the\n"
7293 "targets that you linked).\n"
7296 "Clears the objective (including the optimization direction), all variables\n"
7297 "and constraints. All the other properties of the MPSolver (like the time\n"
7298 "limit) are kept untouched.\n"
7302 "Returns the array of variables handled by the MPSolver. (They are listed in\n"
7303 "the order in which they were created.)\n"
7306 "Looks up a variable by name, and returns nullptr if it does not exist. The\n"
7307 "first call has a O(n) complexity, as the variable name index is lazily\n"
7308 "created upon first use. Will crash if variable names are not unique.\n"
7311 "Creates a variable with the given bounds, integrality requirement and\n"
7312 "name. Bounds can be finite or +/- MPSolver::infinity(). The MPSolver owns\n"
7313 "the variable (i.e. the returned pointer is borrowed). Variable names are\n"
7314 "optional. If you give an empty name, name() will auto-generate one for you\n"
7322 "Returns the array of constraints handled by the MPSolver.\n"
7324 "They are listed in the order in which they were created.\n"
7327 " Looks up a constraint by name, and returns nullptr if it does not exist.\n"
7329 "The first call has a O(n) complexity, as the constraint name index is\n"
7330 "lazily created upon first use. Will crash if constraint names are not\n"
7336 "Creates a linear constraint with given bounds.\n"
7338 "Bounds can be finite or +/- MPSolver::infinity(). The MPSolver class\n"
7339 "assumes ownership of the constraint.\n"
7341 ":rtype: :py:class:`MPConstraint`\n"
7342 ":return: a pointer to the newly created constraint.\n"
7347 " Creates a constraint with -infinity and +infinity bounds.\n"
7352 " Creates a named constraint with given bounds.\n"
7357 " Creates a named constraint with -infinity and +infinity bounds.\n"
7362 "Solves the problem using the default parameter values.\n"
7367 "Solves the problem using the specified parameter values.\n"
7370 "Advanced usage: compute the \"activities\" of all constraints, which are the\n"
7371 "sums of their linear terms. The activities are returned in the same order\n"
7372 "as constraints(), which is the order in which constraints were added; but\n"
7373 "you can also use MPConstraint::index() to get a constraint's index.\n"
7376 "Advanced usage: Verifies the *correctness* of the solution.\n"
7378 "It verifies that all variables must be within their domains, all\n"
7379 "constraints must be satisfied, and the reported objective value must be\n"
7383 "- This can only be called after Solve() was called.\n"
7384 "- \"tolerance\" is interpreted as an absolute error threshold.\n"
7385 "- For the objective value only, if the absolute error is too large,\n"
7386 " the tolerance is interpreted as a relative error threshold instead.\n"
7387 "- If \"log_errors\" is true, every single violation will be logged.\n"
7388 "- If \"tolerance\" is negative, it will be set to infinity().\n"
7390 "Most users should just set the --verify_solution flag and not bother using\n"
7391 "this method directly.\n"
7394 " Interrupts the Solve() execution to terminate processing if possible.\n"
7396 "If the underlying interface supports interruption; it does that and returns\n"
7397 "true regardless of whether there's an ongoing Solve() or not. The Solve()\n"
7398 "call may still linger for a while depending on the conditions. If\n"
7399 "interruption is not supported; returns false and does nothing.\n"
7403 "Solves the model encoded by a MPModelRequest protocol buffer and fills the\n"
7404 "solution encoded as a MPSolutionResponse.\n"
7406 "Note(user): This creates a temporary MPSolver and destroys it at the end.\n"
7407 "If you want to keep the MPSolver alive (for debugging, or for incremental\n"
7408 "solving), you should write another version of this function that creates\n"
7409 "the MPSolver object on the heap and returns it.\n"
7411 "Note(user): This attempts to first use `DirectlySolveProto()` (if\n"
7412 "implemented). Consequently, this most likely does *not* override any of\n"
7413 "the default parameters of the underlying solver. This behavior *differs*\n"
7414 "from `MPSolver::Solve()` which by default sets the feasibility tolerance\n"
7415 "and the gap limit (as of 2020/02/11, to 1e-7 and 0.0001, respectively).\n"
7419 "Advanced usage: pass solver specific parameters in text format.\n"
7421 "The format is solver-specific and is the same as the corresponding solver\n"
7422 "configuration file format. Returns true if the operation was successful.\n"
7427 "You can use -MPSolver::infinity() for negative infinity.\n"
7433 "Returns the number of branch-and-bound nodes evaluated during the solve.\n"
7435 "Only available for discrete problems.\n"
7438 " Advanced usage: computes the exact condition number of the current scaled\n"
7439 "basis: L1norm(B) * L1norm(inverse(B)), where B is the scaled basis.\n"
7441 "This method requires that a basis exists: it should be called after Solve.\n"
7442 "It is only available for continuous problems. It is implemented for GLPK\n"
7443 "but not CLP because CLP does not provide the API for doing it.\n"
7445 "The condition number measures how well the constraint matrix is conditioned\n"
7446 "and can be used to predict whether numerical issues will arise during the\n"
7447 "solve: the model is declared infeasible whereas it is feasible (or\n"
7448 "vice-versa), the solution obtained is not optimal or violates some\n"
7449 "constraints, the resolution is slow because of repeated singularities.\n"
7451 "The rule of thumb to interpret the condition number kappa is:\n"
7452 " - o kappa <= 1e7: virtually no chance of numerical issues\n"
7453 " - o 1e7 < kappa <= 1e10: small chance of numerical issues\n"
7454 " - o 1e10 < kappa <= 1e13: medium chance of numerical issues\n"
7455 " - o kappa > 1e13: high chance of numerical issues\n"
7457 "The computation of the condition number depends on the quality of the LU\n"
7458 "decomposition, so it is not very accurate when the matrix is ill\n"
7462 "Some solvers (MIP only, not LP) can produce multiple solutions to the\n"
7463 "problem. Returns true when another solution is available, and updates the\n"
7464 "MPVariable* objects to make the new solution queryable. Call only after\n"
7467 "The optimality properties of the additional solutions found, and whether or\n"
7468 "not the solver computes them ahead of time or when NextSolution() is called\n"
7469 "is solver specific.\n"
7471 "As of 2020-02-10, only Gurobi and SCIP support NextSolution(), see\n"
7472 "linear_solver_interfaces_test for an example of how to configure these\n"
7473 "solvers for multiple solutions. Other solvers return false unconditionally.\n"
7483 "Set a hint for solution.\n"
7485 "If a feasible or almost-feasible solution to the problem is already known,\n"
7486 "it may be helpful to pass it to the solver so that it can be used. A\n"
7487 "solver that supports this feature will try to use this information to\n"
7488 "create its initial feasible solution.\n"
7490 "Note that it may not always be faster to give a hint like this to the\n"
7491 "solver. There is also no guarantee that the solver will use this hint or\n"
7492 "try to return a solution \"close\" to this assignment in case of multiple\n"
7493 "optimal solutions.\n"
7495 {
"Solver_SetNumThreads",
_wrap_Solver_SetNumThreads, METH_VARARGS,
" Sets the number of threads to be used by the solver."},
7504 " Clears the offset, all variables and coefficients, and the optimization\n"
7508 "Sets the coefficient of the variable in the objective.\n"
7510 "If the variable does not belong to the solver, the function just returns,\n"
7511 "or crashes in non-opt mode.\n"
7514 " Gets the coefficient of a given variable in the objective\n"
7516 "It returns 0 if the variable does not appear in the objective).\n"
7526 "Returns the objective value of the best solution found so far.\n"
7528 "It is the optimal objective value if the problem has been solved to\n"
7531 "Note: the objective value may be slightly different than what you could\n"
7532 "compute yourself using ``MPVariable::solution_value();`` please use the\n"
7533 "--verify_solution flag to gain confidence about the numerical stability of\n"
7537 "Returns the best objective bound.\n"
7539 "In case of minimization, it is a lower bound on the objective value of the\n"
7540 "optimal integer solution. Only available for discrete problems.\n"
7546 {
"Variable_SetInteger",
_wrap_Variable_SetInteger, METH_VARARGS,
" Sets the integrality requirement of the variable."},
7547 {
"Variable_integer",
_wrap_Variable_integer, METH_O,
" Returns the integrality requirement of the variable."},
7549 "Returns the value of the variable in the current solution.\n"
7551 "If the variable is integer, then the value will always be an integer (the\n"
7552 "underlying solver handles floating-point values only, but this function\n"
7553 "automatically rounds it to the nearest integer; see: man 3 round).\n"
7555 {
"Variable_index",
_wrap_Variable_index, METH_O,
" Returns the index of the variable in the MPSolver::variables_."},
7560 "Advanced usage: returns the reduced cost of the variable in the current\n"
7561 "solution (only available for continuous problems).\n"
7564 "Advanced usage: returns the basis status of the variable in the current\n"
7565 "solution (only available for continuous problems).\n"
7567 "See also: MPSolver::BasisStatus.\n"
7570 "Advanced usage: Certain MIP solvers (e.g. Gurobi or SCIP) allow you to set\n"
7571 "a per-variable priority for determining which variable to branch on.\n"
7573 "A value of 0 is treated as default, and is equivalent to not setting the\n"
7574 "branching priority. The solver looks first to branch on fractional\n"
7575 "variables in higher priority levels. As of 2019-05, only Gurobi and SCIP\n"
7576 "support setting branching priority; all other solvers will simply ignore\n"
7577 "this annotation.\n"
7592 {
"Constraint_Clear",
_wrap_Constraint_Clear, METH_O,
" Clears all variables and coefficients. Does not clear the bounds."},
7594 "Sets the coefficient of the variable on the constraint.\n"
7596 "If the variable does not belong to the solver, the function just returns,\n"
7597 "or crashes in non-opt mode.\n"
7600 "Gets the coefficient of a given variable on the constraint (which is 0 if\n"
7601 "the variable does not appear in the constraint).\n"
7607 "Advanced usage: sets the constraint \"laziness\".\n"
7609 "**This is only supported for SCIP and has no effect on other\n"
7612 "When **laziness** is true, the constraint is only considered by the Linear\n"
7613 "Programming solver if its current solution violates the constraint. In this\n"
7614 "case, the constraint is definitively added to the problem. This may be\n"
7615 "useful in some MIP problems, and may have a dramatic impact on performance.\n"
7617 "For more info see: http://tinyurl.com/lazy-constraints.\n"
7619 {
"Constraint_index",
_wrap_Constraint_index, METH_O,
" Returns the index of the constraint in the MPSolver::constraints_."},
7621 "Advanced usage: returns the dual value of the constraint in the current\n"
7622 "solution (only available for continuous problems).\n"
7625 "Advanced usage: returns the basis status of the constraint.\n"
7627 "It is only available for continuous problems).\n"
7629 "Note that if a constraint \"linear_expression in [lb, ub]\" is transformed\n"
7630 "into \"linear_expression + slack = 0\" with slack in [-ub, -lb], then this\n"
7631 "status is the same as the status of the slack variable with AT_UPPER_BOUND\n"
7632 "and AT_LOWER_BOUND swapped.\n"
7634 "See also: MPSolver::BasisStatus.\n"
7643 {
"new_MPSolverParameters",
_wrap_new_MPSolverParameters, METH_NOARGS,
" The constructor sets all parameters to their default value."},
7658 { NULL, NULL, 0, NULL }
7662 { NULL, NULL, 0, NULL }
7670 static swig_type_info _swigt__p_long = {
"_p_long",
"intptr_t *|int_least64_t *|int_fast32_t *|int_fast64_t *|int64 *|int64_t *|long *|int_fast16_t *|intmax_t *", 0, 0, (
void*)0, 0};
7683 static swig_type_info _swigt__p_unsigned_long = {
"_p_unsigned_long",
"uintptr_t *|uint_least64_t *|uint_fast32_t *|uint_fast64_t *|uint64 *|uint64_t *|unsigned long *|uint_fast16_t *|uintmax_t *", 0, 0, (
void*)0, 0};
7748 {0, 0, 0, 0.0, 0, 0}};
7802 #define SWIGRUNTIME_DEBUG
7838 }
while (iter!= module_head);
7849 if (init == 0)
return;
7852 #ifdef SWIGRUNTIME_DEBUG
7853 printf(
"SWIG_InitializeModule: size %lu\n", (
unsigned long)
swig_module.
size);
7860 #ifdef SWIGRUNTIME_DEBUG
7870 #ifdef SWIGRUNTIME_DEBUG
7871 printf(
"SWIG_InitializeModule: found type %s\n", type->
name);
7875 #ifdef SWIGRUNTIME_DEBUG
7876 printf(
"SWIG_InitializeModule: found and overwrite type %s \n", type->
name);
7885 while (cast->
type) {
7888 #ifdef SWIGRUNTIME_DEBUG
7889 printf(
"SWIG_InitializeModule: look cast %s\n", cast->
type->
name);
7893 #ifdef SWIGRUNTIME_DEBUG
7894 if (ret) printf(
"SWIG_InitializeModule: found cast %s\n", ret->
name);
7899 #ifdef SWIGRUNTIME_DEBUG
7900 printf(
"SWIG_InitializeModule: skip old type %s\n", ret->
name);
7907 #ifdef SWIGRUNTIME_DEBUG
7908 if (ocast) printf(
"SWIG_InitializeModule: skip old cast %s\n", ret->
name);
7910 if (!ocast) ret = 0;
7915 #ifdef SWIGRUNTIME_DEBUG
7916 printf(
"SWIG_InitializeModule: adding cast %s\n", cast->
type->
name);
7931 #ifdef SWIGRUNTIME_DEBUG
7932 printf(
"**** SWIG_InitializeModule: Cast List ******\n");
7937 while (cast->
type) {
7938 printf(
"SWIG_InitializeModule: cast type %s\n", cast->
type->
name);
7942 printf(
"---- Total casts: %d\n",j);
7944 printf(
"**** SWIG_InitializeModule: Cast List ******\n");
7957 static int init_run = 0;
7959 if (init_run)
return;
7970 equiv = equiv->
next;
7991 #define SWIG_newvarlink() SWIG_Python_newvarlink()
7992 #define SWIG_addvarlink(p, name, get_attr, set_attr) SWIG_Python_addvarlink(p, name, get_attr, set_attr)
7993 #define SWIG_InstallConstants(d, constants) SWIG_Python_InstallConstants(d, constants)
8001 PyObject *(*get_attr)(void);
8013 #if PY_VERSION_HEX >= 0x03000000
8014 return PyUnicode_InternFromString(
"<Swig global variables>");
8016 return PyString_FromString(
"<Swig global variables>");
8022 #if PY_VERSION_HEX >= 0x03000000
8023 PyObject *str = PyUnicode_InternFromString(
"(");
8028 tail = PyUnicode_FromString(
var->name);
8029 joined = PyUnicode_Concat(str,
tail);
8034 tail = PyUnicode_InternFromString(
", ");
8035 joined = PyUnicode_Concat(str,
tail);
8041 tail = PyUnicode_InternFromString(
")");
8042 joined = PyUnicode_Concat(str,
tail);
8047 PyObject *str = PyString_FromString(
"(");
8050 PyString_ConcatAndDel(&str,PyString_FromString(
var->name));
8051 if (
var->next) PyString_ConcatAndDel(&str,PyString_FromString(
", "));
8053 PyString_ConcatAndDel(&str,PyString_FromString(
")"));
8071 PyObject *res = NULL;
8074 if (strcmp(
var->name,n) == 0) {
8075 res = (*
var->get_attr)();
8080 if (res == NULL && !PyErr_Occurred()) {
8081 PyErr_Format(PyExc_AttributeError,
"Unknown C global variable '%s'", n);
8091 if (strcmp(
var->name,n) == 0) {
8092 res = (*
var->set_attr)(p);
8097 if (res == 1 && !PyErr_Occurred()) {
8098 PyErr_Format(PyExc_AttributeError,
"Unknown C global variable '%s'", n);
8105 static char varlink__doc__[] =
"Swig var link object";
8106 static PyTypeObject varlink_type;
8107 static int type_init = 0;
8109 const PyTypeObject tmp = {
8110 #if PY_VERSION_HEX >= 0x03000000
8111 PyVarObject_HEAD_INIT(NULL, 0)
8113 PyObject_HEAD_INIT(NULL)
8140 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
8143 #if PY_VERSION_HEX >= 0x03040000
8146 #if PY_VERSION_HEX >= 0x03080000
8149 #if (PY_VERSION_HEX >= 0x03080000) && (PY_VERSION_HEX < 0x03090000)
8162 if (PyType_Ready(&varlink_type) < 0)
8165 return &varlink_type;
8175 return ((PyObject*) result);
8183 size_t size = strlen(
name)+1;
8197 static PyObject *globals = 0;
8213 for (i = 0; constants[i].
type; ++i) {
8214 switch(constants[i].type) {
8219 obj =
SWIG_NewPackedObj(constants[i].pvalue, constants[i].lvalue, *(constants[i].ptype));
8226 PyDict_SetItemString(d, constants[i].
name, obj);
8242 for (i = 0; methods[i].ml_name; ++i) {
8243 const char *c = methods[i].ml_doc;
8245 c = strstr(c,
"swig_ptr: ");
8249 const char *
name = c + 10;
8250 for (j = 0; const_table[j].
type; ++j) {
8251 if (strncmp(const_table[j].
name,
name,
8252 strlen(const_table[j].
name)) == 0) {
8253 ci = &(const_table[j]);
8260 size_t shift = (ci->
ptype) - types;
8262 size_t ldoc = (c - methods[i].ml_doc);
8263 size_t lptr = strlen(ty->
name)+2*
sizeof(
void*)+2;
8264 char *ndoc = (
char*)
malloc(ldoc + lptr + 10);
8267 memcpy(buff, methods[i].ml_doc, ldoc);
8269 memcpy(buff,
"swig_ptr: ", 10);
8272 methods[i].ml_doc = ndoc;
8310 if (PyCFunction_Check(func)) {
8311 PyCFunctionObject *funcobj = (PyCFunctionObject *)func;
8314 func = PyCFunction_NewEx(ml, funcobj->m_self, funcobj->m_module);
8316 #if PY_VERSION_HEX >= 0x03000000
8317 return PyInstanceMethod_New(func);
8319 return PyMethod_New(func, NULL, NULL);
8329 if (PyCFunction_Check(func)) {
8330 PyCFunctionObject *funcobj = (PyCFunctionObject *)func;
8333 func = PyCFunction_NewEx(ml, funcobj->m_self, funcobj->m_module);
8335 return PyStaticMethod_New(func);
8351 #if PY_VERSION_HEX >= 0x03000000
8357 PyObject *m, *d, *md, *globals;
8359 #if PY_VERSION_HEX >= 0x03000000
8360 static struct PyModuleDef SWIG_module = {
8361 PyModuleDef_HEAD_INIT,
8373 #if defined(SWIGPYTHON_BUILTIN)
8377 static PyGetSetDef this_getset_def = {
8378 (
char *)
"this", &SwigPyBuiltin_ThisClosure, NULL, NULL, NULL
8380 static SwigPyGetSet thisown_getset_closure = {
8384 static PyGetSetDef thisown_getset_def = {
8385 (
char *)
"thisown", SwigPyBuiltin_GetterClosure, SwigPyBuiltin_SetterClosure, NULL, &thisown_getset_closure
8387 PyTypeObject *builtin_pytype;
8388 int builtin_base_count;
8391 PyGetSetDescrObject *static_getset;
8392 PyTypeObject *metatype;
8393 PyTypeObject *swigpyobject;
8395 PyObject *public_interface, *public_symbol;
8396 PyObject *this_descr;
8397 PyObject *thisown_descr;
8401 (void)builtin_pytype;
8402 (void)builtin_base_count;
8403 (void)builtin_basetype;
8405 (void)static_getset;
8409 metatype = SwigPyObjectType();
8419 #ifndef SWIGPYTHON_BUILTIN
8426 #if PY_VERSION_HEX >= 0x03000000
8427 m = PyModule_Create(&SWIG_module);
8432 md = d = PyModule_GetDict(m);
8437 #ifdef SWIGPYTHON_BUILTIN
8441 assert(SwigPyObject_stype);
8444 SwigPyObject_stype->
clientdata = &SwigPyObject_clientdata;
8445 SwigPyObject_clientdata.
pytype = swigpyobject;
8446 }
else if (swigpyobject->tp_basicsize != cd->
pytype->tp_basicsize) {
8447 PyErr_SetString(PyExc_RuntimeError,
"Import error: attempted to load two incompatible swig-generated modules.");
8448 # if PY_VERSION_HEX >= 0x03000000
8461 (void)thisown_descr;
8463 public_interface = PyList_New(0);
8465 (void)public_symbol;
8467 PyDict_SetItemString(md,
"__all__", public_interface);
8468 Py_DECREF(public_interface);
8470 SwigPyBuiltin_AddPublicSymbol(public_interface,
SwigMethods[i].ml_name);
8520 PyErr_SetString(PyExc_TypeError,
"Failure to create SWIG globals.");
8521 #if PY_VERSION_HEX >= 0x03000000
8527 PyDict_SetItemString(md,
"cvar", globals);
8534 #if PY_VERSION_HEX >= 0x03000000